radv: add RADV_DEBUG=nomeshshader

This option will be used to disable VK_EXT_mesh_shader in Mesa CI
for GFX11 because running task shader tests in parallel can hang the
GPU.

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10051
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969>
This commit is contained in:
Samuel Pitoiset
2023-10-31 13:41:37 +01:00
parent 15f92c3b2c
commit a97160cad8
4 changed files with 7 additions and 0 deletions

View File

@@ -1259,6 +1259,8 @@ RADV driver environment variables
disable directly recording command buffers in GPU-visible memory disable directly recording command buffers in GPU-visible memory
``nomemorycache`` ``nomemorycache``
disable memory shaders cache disable memory shaders cache
``nomeshshader``
disable mesh shader support on GFX10.3+
``nongg`` ``nongg``
disable NGG for GFX10 and GFX10.3 disable NGG for GFX10 and GFX10.3
``nonggc`` ``nonggc``

View File

@@ -71,6 +71,7 @@ enum {
RADV_DEBUG_NO_GPL = 1ull << 40, RADV_DEBUG_NO_GPL = 1ull << 40,
RADV_DEBUG_VIDEO_ARRAY_PATH = 1ull << 41, RADV_DEBUG_VIDEO_ARRAY_PATH = 1ull << 41,
RADV_DEBUG_NO_RT = 1ull << 42, RADV_DEBUG_NO_RT = 1ull << 42,
RADV_DEBUG_NO_MESH_SHADER = 1ull << 43,
}; };
enum { enum {

View File

@@ -76,6 +76,7 @@ static const struct debug_control radv_debug_options[] = {{"nofastclears", RADV_
{"nogpl", RADV_DEBUG_NO_GPL}, {"nogpl", RADV_DEBUG_NO_GPL},
{"videoarraypath", RADV_DEBUG_VIDEO_ARRAY_PATH}, {"videoarraypath", RADV_DEBUG_VIDEO_ARRAY_PATH},
{"nort", RADV_DEBUG_NO_RT}, {"nort", RADV_DEBUG_NO_RT},
{"nomeshshader", RADV_DEBUG_NO_MESH_SHADER},
{NULL, 0}}; {NULL, 0}};
const char * const char *

View File

@@ -64,6 +64,9 @@ radv_perf_query_supported(const struct radv_physical_device *pdev)
static bool static bool
radv_taskmesh_enabled(const struct radv_physical_device *pdevice) radv_taskmesh_enabled(const struct radv_physical_device *pdevice)
{ {
if (pdevice->instance->debug_flags & RADV_DEBUG_NO_MESH_SHADER)
return false;
return pdevice->use_ngg && !pdevice->use_llvm && pdevice->rad_info.gfx_level >= GFX10_3 && return pdevice->use_ngg && !pdevice->use_llvm && pdevice->rad_info.gfx_level >= GFX10_3 &&
!(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE) && pdevice->rad_info.has_gang_submit; !(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE) && pdevice->rad_info.has_gang_submit;
} }