Commit 219359dd authored by Georg Lehmann's avatar Georg Lehmann Committed by Alexandre Julliard

winevulkan: Enable VK_EXT_validation_features and VK_EXT_validation_flags.

parent c7bd395a
......@@ -86,8 +86,6 @@ EXT_BLOCK_SIZE = 1000
UNSUPPORTED_EXTENSIONS = [
# Instance extensions
"VK_EXT_validation_features",
"VK_EXT_validation_flags",
"VK_KHR_display", # Needs WSI work.
"VK_KHR_surface_protected_capabilities",
......
......@@ -3168,6 +3168,42 @@ VkResult convert_VkInstanceCreateInfo_struct_chain(const void *pNext, VkInstance
break;
}
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
{
const VkValidationFlagsEXT *in = (const VkValidationFlagsEXT *)in_header;
VkValidationFlagsEXT *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->disabledValidationCheckCount = in->disabledValidationCheckCount;
out->pDisabledValidationChecks = in->pDisabledValidationChecks;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT:
{
const VkValidationFeaturesEXT *in = (const VkValidationFeaturesEXT *)in_header;
VkValidationFeaturesEXT *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->enabledValidationFeatureCount = in->enabledValidationFeatureCount;
out->pEnabledValidationFeatures = in->pEnabledValidationFeatures;
out->disabledValidationFeatureCount = in->disabledValidationFeatureCount;
out->pDisabledValidationFeatures = in->pDisabledValidationFeatures;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
{
const VkDebugUtilsMessengerCreateInfoEXT *in = (const VkDebugUtilsMessengerCreateInfoEXT *)in_header;
......@@ -6558,6 +6594,8 @@ static const char * const vk_instance_extensions[] =
"VK_EXT_debug_utils",
"VK_EXT_headless_surface",
"VK_EXT_swapchain_colorspace",
"VK_EXT_validation_features",
"VK_EXT_validation_flags",
"VK_KHR_device_group_creation",
"VK_KHR_external_fence_capabilities",
"VK_KHR_external_memory_capabilities",
......
......@@ -115,6 +115,8 @@
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
......@@ -339,6 +341,8 @@
#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
......@@ -2752,6 +2756,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
......@@ -2957,6 +2962,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
......@@ -3238,6 +3244,35 @@ typedef enum VkValidationCacheHeaderVersionEXT
VK_VALIDATION_CACHE_HEADER_VERSION_EXT_MAX_ENUM = 0x7fffffff,
} VkValidationCacheHeaderVersionEXT;
typedef enum VkValidationCheckEXT
{
VK_VALIDATION_CHECK_ALL_EXT = 0,
VK_VALIDATION_CHECK_SHADERS_EXT = 1,
VK_VALIDATION_CHECK_EXT_MAX_ENUM = 0x7fffffff,
} VkValidationCheckEXT;
typedef enum VkValidationFeatureDisableEXT
{
VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
VK_VALIDATION_FEATURE_DISABLE_EXT_MAX_ENUM = 0x7fffffff,
} VkValidationFeatureDisableEXT;
typedef enum VkValidationFeatureEnableEXT
{
VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
VK_VALIDATION_FEATURE_ENABLE_EXT_MAX_ENUM = 0x7fffffff,
} VkValidationFeatureEnableEXT;
typedef enum VkVendorId
{
VK_VENDOR_ID_VIV = 0x00010001,
......@@ -5029,6 +5064,14 @@ typedef struct VkValidationCacheCreateInfoEXT
const void *pInitialData;
} VkValidationCacheCreateInfoEXT;
typedef struct VkValidationFlagsEXT
{
VkStructureType sType;
const void *pNext;
uint32_t disabledValidationCheckCount;
const VkValidationCheckEXT *pDisabledValidationChecks;
} VkValidationFlagsEXT;
typedef struct VkVertexInputBindingDescription
{
uint32_t binding;
......@@ -7483,6 +7526,16 @@ typedef struct VkSubpassDescription
const uint32_t *pPreserveAttachments;
} VkSubpassDescription;
typedef struct VkValidationFeaturesEXT
{
VkStructureType sType;
const void *pNext;
uint32_t enabledValidationFeatureCount;
const VkValidationFeatureEnableEXT *pEnabledValidationFeatures;
uint32_t disabledValidationFeatureCount;
const VkValidationFeatureDisableEXT *pDisabledValidationFeatures;
} VkValidationFeaturesEXT;
typedef struct VkAccelerationStructureCreateInfoNV
{
VkStructureType sType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment