diff --git a/.pick_status.json b/.pick_status.json index 8778d81d480..0b9c7d08d23 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2144,7 +2144,7 @@ "description": "radv: allow DGC+multiview by default", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e47d584fede2448776c57f10f4163918015a78cb", "notes": null diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 20592c20f33..2f280f495b8 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -13315,8 +13315,6 @@ radv_CmdExecuteGeneratedCommandsEXT(VkCommandBuffer commandBuffer, VkBool32 isPr VK_FROM_HANDLE(radv_indirect_execution_set, ies, pGeneratedCommandsInfo->indirectExecutionSet); VK_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); const struct radv_device *device = radv_cmd_buffer_device(cmd_buffer); - const struct radv_physical_device *pdev = radv_device_physical(device); - const struct radv_instance *instance = radv_physical_device_instance(pdev); const bool use_predication = radv_use_dgc_predication(cmd_buffer, pGeneratedCommandsInfo); const bool compute = !!(layout->vk.dgc_info & BITFIELD_BIT(MESA_VK_DGC_DISPATCH)); const bool rt = !!(layout->vk.dgc_info & BITFIELD_BIT(MESA_VK_DGC_RT)); @@ -13415,14 +13413,7 @@ radv_CmdExecuteGeneratedCommandsEXT(VkCommandBuffer commandBuffer, VkBool32 isPr ac_emit_cp_pfp_sync_me(cs->b, cmd_buffer->state.predicating); } - /* The Vulkan spec 1.4.349 says: - * - * "VUID-vkCmdExecuteGeneratedCommandsEXT-None-11062 - * If a rendering pass is currently active, the view mask must be 0." - * - * But it's a valid behavior with DX12, so it can be enabled via drirc. - */ - const uint32_t view_mask = instance->drirc.features.allow_dgc_multiview ? cmd_buffer->state.render.view_mask : 0; + const uint32_t view_mask = cmd_buffer->state.render.view_mask; if (rt || compute || !view_mask) { radv_dgc_execute_ib(cmd_buffer, pGeneratedCommandsInfo); } else { diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 971b153fe03..60a2838096d 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -206,7 +206,6 @@ static const driOptionDescription radv_dri_options[] = { DRI_CONF_RADV_EMULATE_RT(false) DRI_CONF_RADV_ENABLE_FLOAT16_GFX8(false) DRI_CONF_RADV_COOPERATIVE_MATRIX2_NV(false) - DRI_CONF_RADV_ALLOW_DGC_MULTIVIEW(false) DRI_CONF_RADV_WAIT_FOR_VM_MAP_UPDATES(false) DRI_CONF_RADV_NO_IMPLICIT_VARYING_SUBGROUP_SIZE(false) DRI_CONF_RADV_HIDE_REBAR_ON_DGPU(false) @@ -279,7 +278,6 @@ radv_init_dri_features_options(struct radv_instance *instance) struct radv_drirc *drirc = &instance->drirc; drirc->features.cooperative_matrix2_nv = driQueryOptionb(&drirc->options, "radv_cooperative_matrix2_nv"); - drirc->features.allow_dgc_multiview = driQueryOptionb(&drirc->options, "radv_allow_dgc_multiview"); drirc->features.emulate_rt = driQueryOptionb(&drirc->options, "radv_emulate_rt"); drirc->features.expose_float16_gfx8 = driQueryOptionb(&drirc->options, "radv_enable_float16_gfx8"); drirc->features.vk_require_etc2 = driQueryOptionb(&drirc->options, "vk_require_etc2"); diff --git a/src/amd/vulkan/radv_instance.h b/src/amd/vulkan/radv_instance.h index 99f4ea1c2a4..ba1f9f40ea3 100644 --- a/src/amd/vulkan/radv_instance.h +++ b/src/amd/vulkan/radv_instance.h @@ -76,7 +76,6 @@ struct radv_drirc { struct { bool cooperative_matrix2_nv; - bool allow_dgc_multiview; bool emulate_rt; bool expose_float16_gfx8; bool vk_require_astc; diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf index b2892e72f0f..b7dc8812ee1 100644 --- a/src/util/00-radv-defaults.conf +++ b/src/util/00-radv-defaults.conf @@ -43,7 +43,6 @@ Application bugs worked around in this file: