radv,aco: don't use MUBUF for multi-channel loads on GFX8 with robustness2

Fixes several dEQP-VK.robustness.robustness2.* tests on GFX8. Generations
other than GFX8 don't fail the tests because bounds-checking is done using
the index (making it per-vertex).

fossil-db (Polaris):
Totals from 1387 (0.99% of 140385) affected shaders:
(no statistics affected)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: 03a0d39366 ("aco: use MUBUF in some situations instead of splitting vertex fetches")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7834>
This commit is contained in:
Rhys Perry
2020-11-30 15:29:31 +00:00
committed by Marge Bot
parent 4eec0fb55c
commit 914c61d6c0
7 changed files with 21 additions and 221 deletions

View File

@@ -1420,6 +1420,7 @@ radv_shader_variant_compile(struct radv_device *device,
options.explicit_scratch_args = !radv_use_llvm_for_stage(device, stage);
options.robust_buffer_access = device->robust_buffer_access;
options.robust_buffer_access2 = device->robust_buffer_access2;
options.disable_optimizations = disable_optimizations;
return shader_variant_compile(device, module, shaders, shader_count, stage, info,