mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-27 21:37:06 +02:00
oops, fixup
This commit is contained in:
parent
8788034c4c
commit
c90324f122
2 changed files with 24 additions and 25 deletions
|
|
@ -952,13 +952,13 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
|
||||
#define EXTENSION(prefix, macro_name, var_name) \
|
||||
if (supported_extensions.contains(VK_##prefix##_##macro_name##_EXTENSION_NAME)) { \
|
||||
loaded_extensions.insert(VK_##prefix##_##macro_name##_EXTENSION_NAME); \
|
||||
extensions.var_name = true; \
|
||||
loaded_extensions.insert(VK_##prefix##_##macro_name##_EXTENSION_NAME); \
|
||||
extensions.var_name = true; \
|
||||
}
|
||||
#define FEATURE_EXTENSION(prefix, struct_name, macro_name, var_name) \
|
||||
if (supported_extensions.contains(VK_##prefix##_##macro_name##_EXTENSION_NAME)) { \
|
||||
loaded_extensions.insert(VK_##prefix##_##macro_name##_EXTENSION_NAME); \
|
||||
extensions.var_name = true; \
|
||||
loaded_extensions.insert(VK_##prefix##_##macro_name##_EXTENSION_NAME); \
|
||||
extensions.var_name = true; \
|
||||
}
|
||||
|
||||
if (instance_version < VK_API_VERSION_1_2) {
|
||||
|
|
@ -982,19 +982,24 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
extensions.robustness_2 = false;
|
||||
}
|
||||
|
||||
// different namings
|
||||
if (supported_extensions.contains(VK_EXT_DEVICE_FAULT_EXTENSION_NAME)) {
|
||||
loaded_extensions.insert(VK_EXT_DEVICE_FAULT_EXTENSION_NAME);
|
||||
extensions.device_fault = true;
|
||||
}
|
||||
#undef FEATURE_EXTENSION
|
||||
#undef EXTENSION
|
||||
|
||||
// Some extensions are mandatory. Check those.
|
||||
#define CHECK_EXTENSION(extension_name) \
|
||||
if (!loaded_extensions.contains(extension_name)) { \
|
||||
LOG_ERROR(Render_Vulkan, "Missing required extension {}", extension_name); \
|
||||
suitable = false; \
|
||||
LOG_ERROR(Render_Vulkan, "Missing required extension {}", extension_name); \
|
||||
suitable = false; \
|
||||
}
|
||||
|
||||
#define LOG_EXTENSION(extension_name) \
|
||||
if (!loaded_extensions.contains(extension_name)) { \
|
||||
LOG_INFO(Render_Vulkan, "Device doesn't support extension {}", extension_name); \
|
||||
LOG_INFO(Render_Vulkan, "Device doesn't support extension {}", extension_name); \
|
||||
}
|
||||
|
||||
FOR_EACH_VK_RECOMMENDED_EXTENSION(LOG_EXTENSION);
|
||||
|
|
@ -1032,9 +1037,9 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
|
||||
#define EXT_FEATURE(prefix, struct_name, macro_name, var_name) \
|
||||
if (extensions.var_name) { \
|
||||
features.var_name.sType = \
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_##macro_name##_FEATURES_##prefix; \
|
||||
SetNext(next, features.var_name); \
|
||||
features.var_name.sType = \
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_##macro_name##_FEATURES_##prefix; \
|
||||
SetNext(next, features.var_name); \
|
||||
}
|
||||
|
||||
FOR_EACH_VK_FEATURE_1_1(FEATURE);
|
||||
|
|
@ -1049,7 +1054,10 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
} else {
|
||||
FOR_EACH_VK_FEATURE_1_3(EXT_FEATURE);
|
||||
}
|
||||
|
||||
if (extensions.device_fault) {
|
||||
features.device_fault.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
|
||||
SetNext(next, features.device_fault);
|
||||
}
|
||||
#undef EXT_FEATURE
|
||||
#undef FEATURE
|
||||
|
||||
|
|
@ -1129,10 +1137,6 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR;
|
||||
SetNext(next, properties.maintenance5);
|
||||
}
|
||||
if (extensions.device_fault) {
|
||||
properties.device_fault.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
|
||||
SetNext(next, properties.device_fault);
|
||||
}
|
||||
|
||||
// Perform the property fetch.
|
||||
physical.GetProperties2(properties2);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include "common/logging.h"
|
||||
#include "common/settings.h"
|
||||
#include "video_core/vulkan_common/vulkan_wrapper.h"
|
||||
#include "vulkan/vulkan_core.h"
|
||||
|
||||
VK_DEFINE_HANDLE(VmaAllocator)
|
||||
|
||||
|
|
@ -84,7 +85,6 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
EXTENSION(EXT, SHADER_VIEWPORT_INDEX_LAYER, shader_viewport_index_layer) \
|
||||
EXTENSION(EXT, TOOLING_INFO, tooling_info) \
|
||||
EXTENSION(EXT, VERTEX_ATTRIBUTE_DIVISOR, vertex_attribute_divisor) \
|
||||
EXTENSION(EXT, DEVICE_FAULT, device_fault) \
|
||||
EXTENSION(KHR, DRAW_INDIRECT_COUNT, draw_indirect_count) \
|
||||
EXTENSION(KHR, DRIVER_PROPERTIES, driver_properties) \
|
||||
EXTENSION(KHR, PUSH_DESCRIPTOR, push_descriptor) \
|
||||
|
|
@ -976,33 +976,28 @@ private:
|
|||
struct Extensions {
|
||||
#define EXTENSION(prefix, macro_name, var_name) bool var_name{};
|
||||
#define FEATURE(prefix, struct_name, macro_name, var_name) bool var_name{};
|
||||
|
||||
FOR_EACH_VK_FEATURE_1_1(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_2(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_3(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_4(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_EXT(FEATURE);
|
||||
FOR_EACH_VK_EXTENSION(EXTENSION);
|
||||
|
||||
#undef EXTENSION
|
||||
#undef FEATURE
|
||||
bool device_fault;
|
||||
};
|
||||
|
||||
struct Features {
|
||||
#define FEATURE_CORE(prefix, struct_name, macro_name, var_name) \
|
||||
VkPhysicalDevice##struct_name##Features var_name{};
|
||||
#define FEATURE_EXT(prefix, struct_name, macro_name, var_name) \
|
||||
VkPhysicalDevice##struct_name##Features##prefix var_name{};
|
||||
|
||||
#define FEATURE_CORE(prefix, struct_name, macro_name, var_name) VkPhysicalDevice##struct_name##Features var_name{};
|
||||
#define FEATURE_EXT(prefix, struct_name, macro_name, var_name) VkPhysicalDevice##struct_name##Features##prefix var_name{};
|
||||
FOR_EACH_VK_FEATURE_1_1(FEATURE_CORE);
|
||||
FOR_EACH_VK_FEATURE_1_2(FEATURE_CORE);
|
||||
FOR_EACH_VK_FEATURE_1_3(FEATURE_CORE);
|
||||
FOR_EACH_VK_FEATURE_1_4(FEATURE_CORE);
|
||||
FOR_EACH_VK_FEATURE_EXT(FEATURE_EXT);
|
||||
|
||||
#undef FEATURE_CORE
|
||||
#undef FEATURE_EXT
|
||||
|
||||
VkPhysicalDeviceFaultFeaturesEXT device_fault{};
|
||||
VkPhysicalDeviceFeatures features{};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue