diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h index 07a0ad51c11..d703224537d 100644 --- a/src/compiler/spirv/vtn_private.h +++ b/src/compiler/spirv/vtn_private.h @@ -680,8 +680,10 @@ struct vtn_builder { /* True if we need to ignore OpReturn after OpEmitMeshTasksEXT. */ bool wa_ignore_return_after_emit_mesh_tasks; - /* Workaround discard bugs in HLSL -> SPIR-V compilers */ + /* True if DemoteToHelperInvocation capability is used by the shader. */ bool uses_demote_to_helper_invocation; + + /* Workaround discard bugs in HLSL -> SPIR-V compilers */ bool convert_discard_to_demote; gl_shader_stage entry_point_stage; diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 60916444d23..bc51b17c8a1 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -302,6 +302,7 @@ get_device_extensions(const struct anv_physical_device *device, .KHR_shader_float16_int8 = !device->instance->no_16bit, .KHR_shader_float_controls = true, .KHR_shader_integer_dot_product = true, + .KHR_shader_maximal_reconvergence = true, .KHR_shader_non_semantic_info = true, .KHR_shader_subgroup_extended_types = true, .KHR_shader_subgroup_rotate = true, @@ -882,6 +883,8 @@ get_features(const struct anv_physical_device *pdevice, /* VK_KHR_cooperative_matrix */ .cooperativeMatrix = anv_has_cooperative_matrix(pdevice), + /* VK_KHR_shader_maximal_reconvergence */ + .shaderMaximalReconvergence = true, /* VK_KHR_shader_subgroup_rotate */ .shaderSubgroupRotate = true,