radv: handle unaligned vertex fetches on GFX6/GFX10
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 29 Nov 2019 14:12:30 +0000 (15:12 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 13 Dec 2019 09:54:07 +0000 (09:54 +0000)
commitb37c91c12eb8fcdf763dbd98b17c33f98c63cae3
tree48f8dd5ffa5d1ecf215904d0d955da6126135bd5
parentbd888bc1d65cefbd4e3fc0a40d416c75d9632951
radv: handle unaligned vertex fetches on GFX6/GFX10

The Vulkan spec doesn't have any words for vertex attributes alignment.

Fixes a test failure on GFX6 and a GPU hang on GFX10 with:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.tess_con_pc_entry_point

vkpipeline-db results on GFX10:
Totals from affected shaders:
SGPRS: 463772 -> 472972 (1.98 %)
VGPRS: 343208 -> 343752 (0.16 %)
Spilled SGPRs: 323 -> 336 (4.02 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Code Size: 13806200 -> 14164472 (2.60 %) bytes
Max Waves: 84021 -> 83755 (-0.32 %)

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2161
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_nir_to_llvm.c