radv: enable GS_FAST_LAUNCH=2 by default for RDNA3 APUs (Phoenix)
GS_FAST_LAUNCH=1 shouldn't be used on GFX11 but it's still needed for dGPUs (eg. NAVI31) because it destroys performance for unknown reasons. On RDNA3 APUs, GS_FAST_LAUNCH=2 seems to be required for working mesh shaders and performance is fine. There is possibly a firmware bug on APUs that would explain why GS_FAST_LAUNCH=1 doesn't work on Phoenix. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10583 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10397 Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27618> (cherry picked from commit 6894692d270f7c49b1e4cb2d15dad94de4e3acb0)
This commit is contained in:
parent
abd5842ed7
commit
8a338675c6
3 changed files with 13 additions and 4 deletions
|
|
@ -3094,7 +3094,7 @@
|
|||
"description": "radv: enable GS_FAST_LAUNCH=2 by default for RDNA3 APUs (Phoenix)",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -1357,7 +1357,7 @@ RADV driver environment variables
|
|||
``video_decode``
|
||||
enable experimental video decoding support
|
||||
``gsfastlaunch2``
|
||||
use GS_FAST_LAUNCH=2 for Mesh shaders (GFX11+)
|
||||
use GS_FAST_LAUNCH=2 for Mesh shaders (GFX11+ dGPUs only)
|
||||
|
||||
.. envvar:: RADV_TEX_ANISO
|
||||
|
||||
|
|
|
|||
|
|
@ -1001,8 +1001,17 @@ 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);
|
||||
|
||||
device->mesh_fast_launch_2 = (device->instance->perftest_flags & RADV_PERFTEST_GS_FAST_LAUNCH_2) &&
|
||||
device->physical_device->rad_info.gfx_level >= GFX11;
|
||||
/* 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->disable_trunc_coord = device->instance->drirc.disable_trunc_coord;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue