diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 62ffa0e2096..36363ad7246 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -314,6 +314,7 @@ nvk_get_device_extensions(const struct nv_device_info *dev, .EXT_robustness2 = true, .EXT_sample_locations = dev->cls_eng3d >= MAXWELL_B, .EXT_separate_stencil_usage = true, + .EXT_shader_demote_to_helper_invocation = true, .EXT_transform_feedback = true, .EXT_vertex_attribute_divisor = true, .EXT_vertex_input_dynamic_state = true, @@ -399,6 +400,7 @@ nvk_get_device_features(const struct nv_device_info *dev, .inlineUniformBlock = true, .descriptorBindingInlineUniformBlockUpdateAfterBind = true, .privateData = true, + .shaderDemoteToHelperInvocation = true, .dynamicRendering = true, .maintenance4 = true, diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index 7929c064d73..ad94604b0d9 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -71,6 +71,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdevice, .min_lod = true, .transform_feedback = true, .geometry_streams = true, + .demote_to_helper_invocation = true, }, .ssbo_addr_format = nvk_buffer_addr_format(rs->storage_buffers), .phys_ssbo_addr_format = nir_address_format_64bit_global,