nvk: Fix regression observed on Kepler

vkcube, vkgears and vkmark are crashing with the following error/segfault:

$ NVK_I_WANT_A_BROKEN_VULKAN_DRIVER=1 vkcube
WARNING: NVK is not a conformant Vulkan implementation, testing use only.
Selected GPU 0: GeForce GT 640 (NVK GK107), type: DiscreteGpu
ERROR: couldn't get DataFile for op ldc_nv
Segmentation fault (core dumped)

Handling nir_intrinsic_ldc_nv as per nir_intrinsic_load_ubo in Converter::getFile()
allows to run vkcube, vkgears and vkmark on Nvidia GT640

Fixes: dc99d9b2 ("nvk,nak: Switch to nir_intrinsic_ldc_nv")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30832>
(cherry picked from commit 7b32df696e)
This commit is contained in:
Mauro Rossi 2024-08-24 19:30:18 +02:00 committed by Eric Engestrom
parent 809fc297c3
commit 49ee36baea
2 changed files with 3 additions and 1 deletions

View file

@ -44,7 +44,7 @@
"description": "nvk: Fix regression observed on Kepler",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "dc99d9b2dff67cc4aa9249594aaab6625d3ce317",
"notes": null

View file

@ -369,6 +369,8 @@ DataFile
Converter::getFile(nir_intrinsic_op op)
{
switch (op) {
case nir_intrinsic_ldc_nv:
return FILE_MEMORY_CONST;
case nir_intrinsic_load_global:
case nir_intrinsic_store_global:
case nir_intrinsic_load_global_constant: