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)
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;
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
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;
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;
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
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;
48 +// if (result != VK_SUCCESS)
49 +// goto 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
63 +// radv_device_finish_accel_struct_build_state(device);
65 radv_device_finish_dgc_prepare_state(device);
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);