mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
radv: re-enable GS_FAST_LAUNCH=2 by default on GFX11
The performance issue is fixed. This adds RADV_DEBUG=nogsfastlaunch2 to disable it in case users still report issues with it. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27636>
This commit is contained in:
parent
3713f27260
commit
7009f00ae0
4 changed files with 10 additions and 19 deletions
|
|
@ -1269,6 +1269,8 @@ RADV driver environment variables
|
|||
disable FMASK compression on MSAA images (GFX6-GFX10.3)
|
||||
``nogpl``
|
||||
disable VK_EXT_graphics_pipeline_library
|
||||
``nogsfastlaunch2``
|
||||
disable GS_FAST_LAUNCH=2 for Mesh shaders (GFX11 only)
|
||||
``nohiz``
|
||||
disable HIZ for depthstencil images
|
||||
``noibs``
|
||||
|
|
@ -1346,8 +1348,6 @@ RADV driver environment variables
|
|||
rt extensions with older hardware.
|
||||
``gewave32``
|
||||
enable wave32 for vertex/tess/geometry shaders (GFX10+)
|
||||
``gsfastlaunch2``
|
||||
use GS_FAST_LAUNCH=2 for Mesh shaders (GFX11+ dGPUs only)
|
||||
``localbos``
|
||||
enable local BOs
|
||||
``nggc``
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ enum {
|
|||
RADV_DEBUG_NO_RT = 1ull << 42,
|
||||
RADV_DEBUG_NO_MESH_SHADER = 1ull << 43,
|
||||
RADV_DEBUG_NO_NGG_GS = 1ull << 44,
|
||||
RADV_DEBUG_NO_GS_FAST_LAUNCH_2 = 1ull << 45,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
@ -89,11 +90,10 @@ enum {
|
|||
RADV_PERFTEST_RT_WAVE_64 = 1u << 10,
|
||||
RADV_PERFTEST_VIDEO_DECODE = 1u << 11,
|
||||
RADV_PERFTEST_DMA_SHADERS = 1u << 12,
|
||||
RADV_PERFTEST_GS_FAST_LAUNCH_2 = 1u << 13,
|
||||
RADV_PERFTEST_TRANSFER_QUEUE = 1u << 14,
|
||||
RADV_PERFTEST_SHADER_OBJECT = 1u << 15,
|
||||
RADV_PERFTEST_NIR_CACHE = 1u << 16,
|
||||
RADV_PERFTEST_RT_WAVE_32 = 1u << 17,
|
||||
RADV_PERFTEST_TRANSFER_QUEUE = 1u << 13,
|
||||
RADV_PERFTEST_SHADER_OBJECT = 1u << 14,
|
||||
RADV_PERFTEST_NIR_CACHE = 1u << 15,
|
||||
RADV_PERFTEST_RT_WAVE_32 = 1u << 16,
|
||||
};
|
||||
|
||||
bool radv_init_trace(struct radv_device *device);
|
||||
|
|
|
|||
|
|
@ -829,17 +829,8 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr
|
|||
device->pbb_allowed =
|
||||
device->physical_device->rad_info.gfx_level >= GFX9 && !(device->instance->debug_flags & RADV_DEBUG_NOBINNING);
|
||||
|
||||
/* GS_FAST_LAUNCH=2 mode is supposed to be used on GFX11 but it turns
|
||||
* out it has severe impact on performance for unknown reasons (tested on
|
||||
* NAVI31 dGPU). It's disabled by default.
|
||||
*
|
||||
* On RDNA3 APUs (Phoenix) it turns GS_FAST_LAUNCH=1 doesn't work at all,
|
||||
* and using mode2 fixes everything without any performance impact.
|
||||
*/
|
||||
device->mesh_fast_launch_2 = ((device->instance->perftest_flags & RADV_PERFTEST_GS_FAST_LAUNCH_2) &&
|
||||
device->physical_device->rad_info.gfx_level >= GFX11) ||
|
||||
device->physical_device->rad_info.family == CHIP_GFX1103_R1 ||
|
||||
device->physical_device->rad_info.family == CHIP_GFX1103_R2;
|
||||
device->mesh_fast_launch_2 = device->physical_device->rad_info.gfx_level >= GFX11 &&
|
||||
!(device->instance->debug_flags & RADV_DEBUG_NO_GS_FAST_LAUNCH_2);
|
||||
|
||||
device->disable_trunc_coord = device->instance->drirc.disable_trunc_coord;
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ static const struct debug_control radv_debug_options[] = {{"nofastclears", RADV_
|
|||
{"nort", RADV_DEBUG_NO_RT},
|
||||
{"nomeshshader", RADV_DEBUG_NO_MESH_SHADER},
|
||||
{"nongg_gs", RADV_DEBUG_NO_NGG_GS},
|
||||
{"nogsfastlaunch2", RADV_DEBUG_NO_GS_FAST_LAUNCH_2},
|
||||
{NULL, 0}};
|
||||
|
||||
const char *
|
||||
|
|
@ -100,7 +101,6 @@ static const struct debug_control radv_perftest_options[] = {{"localbos", RADV_P
|
|||
{"rtwave64", RADV_PERFTEST_RT_WAVE_64},
|
||||
{"video_decode", RADV_PERFTEST_VIDEO_DECODE},
|
||||
{"dmashaders", RADV_PERFTEST_DMA_SHADERS},
|
||||
{"gsfastlaunch2", RADV_PERFTEST_GS_FAST_LAUNCH_2},
|
||||
{"transfer_queue", RADV_PERFTEST_TRANSFER_QUEUE},
|
||||
{"shader_object", RADV_PERFTEST_SHADER_OBJECT},
|
||||
{"nircache", RADV_PERFTEST_NIR_CACHE},
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue