From dc1b16c0102b916d2df69efb96d2505cdde869a3 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 19 Jan 2024 15:00:27 +0100 Subject: [PATCH] radv: export alpha-to-coverage via MRTZ for ESO on GFX11 Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_object.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/amd/vulkan/radv_shader_object.c b/src/amd/vulkan/radv_shader_object.c index 77a5d6af721..e27e7e5d33d 100644 --- a/src/amd/vulkan/radv_shader_object.c +++ b/src/amd/vulkan/radv_shader_object.c @@ -111,6 +111,9 @@ radv_shader_object_init_graphics(struct radv_shader_object *shader_obj, struct r gfx_state.dynamic_line_rast_mode = true; gfx_state.dynamic_patch_control_points = true; + if (device->physical_device->rad_info.gfx_level >= GFX11) + gfx_state.ms.alpha_to_coverage_via_mrtz = true; + const VkShaderRequiredSubgroupSizeCreateInfoEXT *const subgroup_size = vk_find_struct_const(pCreateInfo->pNext, SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT); @@ -415,6 +418,9 @@ radv_shader_object_create_linked(VkDevice _device, uint32_t createInfoCount, con gfx_state.dynamic_line_rast_mode = true; gfx_state.dynamic_patch_control_points = true; + if (device->physical_device->rad_info.gfx_level >= GFX11) + gfx_state.ms.alpha_to_coverage_via_mrtz = true; + for (unsigned i = 0; i < createInfoCount; i++) { const VkShaderCreateInfoEXT *pCreateInfo = &pCreateInfos[i]; gl_shader_stage s = vk_to_mesa_shader_stage(pCreateInfo->stage);