diff --git a/docs/envvars.rst b/docs/envvars.rst index 1a6c38e23c6..5100ce879a9 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -1428,6 +1428,8 @@ RADV driver environment variables ``noumr`` disable UMR dumps during GPU hang detection (only with :envvar:`RADV_DEBUG` = ``hang``) + ``novideo`` + disable all video extensions ``novrsflatshading`` disable VRS for flat shading (only on GFX10.3+) ``preoptir`` diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index afed4e06c90..4390ba7a9bd 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -72,6 +72,7 @@ enum { RADV_DEBUG_DUMP_BACKEND_IR = 1ull << 57, RADV_DEBUG_PSO_HISTORY = 1ull << 58, RADV_DEBUG_BVH4 = 1ull << 59, + RADV_DEBUG_NO_VIDEO = 1ull << 60, RADV_DEBUG_DUMP_SHADERS = RADV_DEBUG_DUMP_VS | RADV_DEBUG_DUMP_TCS | RADV_DEBUG_DUMP_TES | RADV_DEBUG_DUMP_GS | RADV_DEBUG_DUMP_PS | RADV_DEBUG_DUMP_TASK | RADV_DEBUG_DUMP_MESH | RADV_DEBUG_DUMP_CS | RADV_DEBUG_DUMP_NIR | RADV_DEBUG_DUMP_ASM | RADV_DEBUG_DUMP_BACKEND_IR, diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 6bcf18847bd..fcecf75b9d4 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -87,6 +87,7 @@ static const struct debug_control radv_debug_options[] = {{"nofastclears", RADV_ {"ir", RADV_DEBUG_DUMP_BACKEND_IR}, {"pso_history", RADV_DEBUG_PSO_HISTORY}, {"bvh4", RADV_DEBUG_BVH4}, + {"novideo", RADV_DEBUG_NO_VIDEO}, {NULL, 0}}; const char * diff --git a/src/amd/vulkan/radv_video.c b/src/amd/vulkan/radv_video.c index 4662210b5ab..ac8b90b0b46 100644 --- a/src/amd/vulkan/radv_video.c +++ b/src/amd/vulkan/radv_video.c @@ -308,6 +308,9 @@ radv_probe_video_decode(struct radv_physical_device *pdev) pdev->video_decode_enabled = false; + if (instance->debug_flags & RADV_DEBUG_NO_VIDEO) + return; + /* The support for decode events are available at the same time as encode */ if (pdev->info.vcn_ip_version >= VCN_5_0_0) { pdev->video_decode_enabled = true; diff --git a/src/amd/vulkan/radv_video_enc.c b/src/amd/vulkan/radv_video_enc.c index d7c6bf12b05..c427cbb676d 100644 --- a/src/amd/vulkan/radv_video_enc.c +++ b/src/amd/vulkan/radv_video_enc.c @@ -60,8 +60,13 @@ void radv_probe_video_encode(struct radv_physical_device *pdev) { + const struct radv_instance *instance = radv_physical_device_instance(pdev); + pdev->video_encode_enabled = false; + if (instance->debug_flags & RADV_DEBUG_NO_VIDEO) + return; + if (pdev->info.vcn_ip_version >= VCN_5_0_0) { pdev->video_encode_enabled = true; return; @@ -105,7 +110,6 @@ radv_probe_video_encode(struct radv_physical_device *pdev) return; } - struct radv_instance *instance = radv_physical_device_instance(pdev); pdev->video_encode_enabled = !!(instance->perftest_flags & RADV_PERFTEST_VIDEO_ENCODE); }