diff --git a/docs/envvars.rst b/docs/envvars.rst index 5703fb83075..1f3e05b08f0 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -1399,7 +1399,7 @@ RADV driver environment variables ``nodisplaydcc`` disable Delta Color Compression (DCC) on displayable images ``nodynamicbounds`` - do not check OOB access for dynamic descriptors + do not check OOB access for dynamic descriptors (deprecated) ``noeso`` disable VK_EXT_shader_object ``nofastclears`` diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 35455b9e0c8..1acaf9a1a8d 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -7694,7 +7694,7 @@ radv_bind_descriptor_sets(struct radv_cmd_buffer *cmd_buffer, const VkBindDescri 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 no_dynamic_bounds = instance->debug_flags & RADV_DEBUG_NO_DYNAMIC_BOUNDS; + const bool no_dynamic_bounds = instance->drirc.no_dynamic_bounds; struct radv_descriptor_state *descriptors_state = radv_get_descriptors_state(cmd_buffer, bind_point); unsigned dyn_idx = 0; diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index 512a4378400..e2f6f8c0850 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -25,7 +25,7 @@ enum { RADV_DEBUG_ZERO_VRAM = 1ull << 10, RADV_DEBUG_SYNC_SHADERS = 1ull << 11, RADV_DEBUG_DUMP_PREOPT_IR = 1ull << 12, - RADV_DEBUG_NO_DYNAMIC_BOUNDS = 1ull << 13, + RADV_DEBUG_NO_DYNAMIC_BOUNDS = 1ull << 13, /* deprecated */ RADV_DEBUG_INFO = 1ull << 14, RADV_DEBUG_STARTUP = 1ull << 15, RADV_DEBUG_CHECKIR = 1ull << 16, diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 8e956ceb3e4..b4e61150511 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -220,8 +220,7 @@ radv_init_dri_options(struct radv_instance *instance) instance->drirc.disable_tc_compat_htile_in_general = driQueryOptionb(&instance->drirc.options, "radv_disable_tc_compat_htile_general"); - if (driQueryOptionb(&instance->drirc.options, "radv_no_dynamic_bounds")) - instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS; + instance->drirc.no_dynamic_bounds = driQueryOptionb(&instance->drirc.options, "radv_no_dynamic_bounds"); if (driQueryOptionb(&instance->drirc.options, "radv_invariant_geom")) instance->debug_flags |= RADV_DEBUG_INVARIANT_GEOM; @@ -440,6 +439,13 @@ radv_CreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationC radv_init_dri_options(instance); + /* Handle deprecated RADV_DEBUG options. */ + if (instance->debug_flags & RADV_DEBUG_NO_DYNAMIC_BOUNDS) { + fprintf(stderr, "radv: RADV_DEBUG=nodynamicbounds is deprecated and will it be removed in future Mesa releases. " + "Please use radv_no_dynamic_bounds=true instead.\n"); + instance->drirc.no_dynamic_bounds = true; + } + *pInstance = radv_instance_to_handle(instance); return VK_SUCCESS; diff --git a/src/amd/vulkan/radv_instance.h b/src/amd/vulkan/radv_instance.h index 95f802912a5..0574f5696fb 100644 --- a/src/amd/vulkan/radv_instance.h +++ b/src/amd/vulkan/radv_instance.h @@ -74,6 +74,7 @@ struct radv_instance { bool expose_float16_gfx8; bool disable_hiz_his_gfx12; bool cooperative_matrix2_nv; + bool no_dynamic_bounds; char *app_layer; uint8_t override_graphics_shader_version; uint8_t override_compute_shader_version;