diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 5c38ceb4ef5..cacb7f86279 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -185,7 +185,6 @@ static const driOptionDescription radv_dri_options[] = { DRI_CONF_RADV_RT_WAVE64(false) DRI_CONF_RADV_LEGACY_SPARSE_BINDING(false) DRI_CONF_RADV_FORCE_PSTATE_PEAK_GFX11_DGPU(false) - DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION(false) DRI_CONF_RADV_OVERRIDE_GRAPHICS_SHADER_VERSION(0) DRI_CONF_RADV_OVERRIDE_COMPUTE_SHADER_VERSION(0) DRI_CONF_RADV_OVERRIDE_RAY_TRACING_SHADER_VERSION(0) @@ -257,9 +256,6 @@ radv_init_dri_options(struct radv_instance *instance) instance->drirc.force_rt_wave64 = driQueryOptionb(&instance->drirc.options, "radv_rt_wave64"); - instance->drirc.dual_color_blend_by_location = - driQueryOptionb(&instance->drirc.options, "dual_color_blend_by_location"); - instance->drirc.legacy_sparse_binding = driQueryOptionb(&instance->drirc.options, "radv_legacy_sparse_binding"); instance->drirc.force_pstate_peak_gfx11_dgpu = diff --git a/src/amd/vulkan/radv_instance.h b/src/amd/vulkan/radv_instance.h index 13be1d24bc9..88880135fa6 100644 --- a/src/amd/vulkan/radv_instance.h +++ b/src/amd/vulkan/radv_instance.h @@ -64,7 +64,6 @@ struct radv_instance { bool ssbo_non_uniform; bool flush_before_timestamp_write; bool force_rt_wave64; - bool dual_color_blend_by_location; bool legacy_sparse_binding; bool force_pstate_peak_gfx11_dgpu; bool clear_lds; diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 30d354abad5..f874ffe4235 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -219,7 +219,6 @@ radv_physical_device_init_cache_key(struct radv_physical_device *pdev) key->disable_aniso_single_level = instance->drirc.disable_aniso_single_level && pdev->info.gfx_level < GFX8; key->disable_shrink_image_store = instance->drirc.disable_shrink_image_store; key->disable_sinking_load_input_fs = instance->drirc.disable_sinking_load_input_fs; - key->dual_color_blend_by_location = instance->drirc.dual_color_blend_by_location; key->emulate_rt = !!(instance->perftest_flags & RADV_PERFTEST_EMULATE_RT); key->ge_wave32 = pdev->ge_wave_size == 32; key->invariant_geom = !!(instance->debug_flags & RADV_DEBUG_INVARIANT_GEOM); diff --git a/src/amd/vulkan/radv_physical_device.h b/src/amd/vulkan/radv_physical_device.h index ffdc941c700..e64e1415b8c 100644 --- a/src/amd/vulkan/radv_physical_device.h +++ b/src/amd/vulkan/radv_physical_device.h @@ -50,7 +50,6 @@ struct radv_physical_device_cache_key { uint32_t disable_aniso_single_level : 1; uint32_t disable_shrink_image_store : 1; uint32_t disable_sinking_load_input_fs : 1; - uint32_t dual_color_blend_by_location : 1; uint32_t emulate_rt : 1; uint32_t ge_wave32 : 1; uint32_t invariant_geom : 1; diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index 1323e142155..8ab3f2aea51 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -2593,8 +2593,6 @@ radv_graphics_shaders_compile(struct radv_device *device, struct vk_pipeline_cac if (!stages[s].nir) { struct radv_spirv_to_nir_options options = { .lower_view_index_to_zero = !gfx_state->has_multiview_view_index, - .fix_dual_src_mrt1_export = - gfx_state->ps.epilog.mrt0_is_dual_src && instance->drirc.dual_color_blend_by_location, .lower_view_index_to_device_index = stages[s].key.view_index_from_device_index, }; blake3_hash key; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index ca2c95adb14..cc63fa0151e 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -306,24 +306,6 @@ radv_compiler_debug(void *private_data, enum aco_compiler_debug_level level, con vk_debug_report(&instance->vk, vk_flags[level] | VK_DEBUG_REPORT_DEBUG_BIT_EXT, NULL, 0, 0, "radv", message); } -/* If the shader doesn't have an index=1 output, then assume that it meant for a location=1 to be used. This works on - * some older hardware because the MRT1 target is used for both location=1 and index=1, but GFX11 works differently. - */ -static void -fix_dual_src_mrt1_export(nir_shader *nir) -{ - nir_foreach_shader_out_variable (var, nir) { - if (var->data.location == FRAG_RESULT_DATA0 && var->data.index == 1) - return; - } - - nir_variable *loc1_var = nir_find_variable_with_location(nir, nir_var_shader_out, FRAG_RESULT_DATA1); - if (loc1_var) { - loc1_var->data.location = FRAG_RESULT_DATA0; - loc1_var->data.index = 1; - } -} - nir_shader * radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_shader_stage *stage, const struct radv_spirv_to_nir_options *options, bool is_internal) @@ -457,9 +439,6 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_shader_st NIR_PASS(_, nir, nir_remove_dead_variables, nir_var_shader_in | nir_var_shader_out | nir_var_system_value | nir_var_mem_shared, &dead_vars_opts); - if (nir->info.stage == MESA_SHADER_FRAGMENT && options->fix_dual_src_mrt1_export) - fix_dual_src_mrt1_export(nir); - /* Variables can make nir_propagate_invariant more conservative * than it needs to be. */ diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index 1cdf5b6c78e..403b6a45715 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -112,7 +112,6 @@ struct radv_ps_epilog_key { struct radv_spirv_to_nir_options { uint32_t lower_view_index_to_zero : 1; - uint32_t fix_dual_src_mrt1_export : 1; uint32_t lower_view_index_to_device_index : 1; }; diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf index 5bf2bedc960..45686f375a2 100644 --- a/src/util/00-radv-defaults.conf +++ b/src/util/00-radv-defaults.conf @@ -97,7 +97,6 @@ Application bugs worked around in this file: