Gfx stack update
[nyanlinux.git] / builders / mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0 / contrib / radv_meta.c.patch
blobaf7c37cbf98bdd6d6a2748257e5e22e1558fdf8b
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
53 return VK_SUCCESS;
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);