Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HansKristian-Work/dxil-spirv.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2022-09-05 13:38:43 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2022-09-05 14:20:57 +0300
commitc998ec3a7b0eaceb9b4d6ab37e6bacf5e6e3c4d4 (patch)
tree2ba70b9700a6da7482ace2d89a9232219623621a
parent0088c22c4e95dc9c090c8b20d5a1c8b47de3f12e (diff)
Update SPIRV-Cross submodule.
-rw-r--r--reference/shaders/asm/cbv.no-legacy-cbuf-layout.sm66-heaps.bc.dxil4
-rw-r--r--reference/shaders/dxil-builtin/barycentrics-2.frag10
-rw-r--r--reference/shaders/dxil-builtin/barycentrics.frag14
-rw-r--r--reference/shaders/resources/buffer-64bit.ssbo.bindless.ssbo-align.comp4
-rw-r--r--reference/shaders/resources/buffer-64bit.ssbo.comp4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.frag4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.frag4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.frag4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.native-fp16.frag4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.frag4
-rw-r--r--reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.native-fp16.frag4
-rw-r--r--reference/shaders/resources/cbv.no-legacy-cbuf-layout.bindless.frag4
-rw-r--r--reference/shaders/resources/cbv.no-legacy-cbuf-layout.native-fp16.sm60.frag4
-rw-r--r--reference/shaders/resources/cbv.root-descriptor.no-legacy-cbuf-layout.frag4
-rw-r--r--reference/shaders/resources/sm66/atomics-64bit-groupshared.ssbo.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-64bit.root-descriptor.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-64bit.ssbo.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-component-alias.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-typed-64bit-heap.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-typed-64bit.bindless.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/atomics-typed-64bit.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/buffer-64bit-double.ssbo.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/buffer-64bit.ssbo.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/buffer-64bit.ssbo.ssbo-align.sm66.comp4
-rw-r--r--reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.bindless.sm66.frag4
-rw-r--r--reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.sm66.frag4
-rw-r--r--reference/shaders/resources/sm66/raygen-heap.ssbo-rtas.sm66.rgen6
-rw-r--r--reference/shaders/vectorization/copy-byte-address.ssbo.comp4
-rw-r--r--reference/shaders/vectorization/copy-double2.ssbo.comp4
-rw-r--r--reference/shaders/vectorization/copy-double2.ssbo.ssbo-align.bindless.comp4
-rw-r--r--reference/shaders/vectorization/copy-double3.ssbo.comp4
-rw-r--r--reference/shaders/vectorization/copy-double3.ssbo.ssbo-align.bindless.comp4
-rw-r--r--reference/shaders/vectorization/copy-double4.ssbo.comp4
m---------third_party/SPIRV-Cross0
m---------third_party/SPIRV-Tools0
35 files changed, 135 insertions, 15 deletions
diff --git a/reference/shaders/asm/cbv.no-legacy-cbuf-layout.sm66-heaps.bc.dxil b/reference/shaders/asm/cbv.no-legacy-cbuf-layout.sm66-heaps.bc.dxil
index 98b135b..ca47c9f 100644
--- a/reference/shaders/asm/cbv.no-legacy-cbuf-layout.sm66-heaps.bc.dxil
+++ b/reference/shaders/asm/cbv.no-legacy-cbuf-layout.sm66-heaps.bc.dxil
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_scalar_block_layout : require
diff --git a/reference/shaders/dxil-builtin/barycentrics-2.frag b/reference/shaders/dxil-builtin/barycentrics-2.frag
index 5449b9b..19d2be2 100644
--- a/reference/shaders/dxil-builtin/barycentrics-2.frag
+++ b/reference/shaders/dxil-builtin/barycentrics-2.frag
@@ -1,15 +1,15 @@
#version 460
-#extension GL_NV_fragment_shader_barycentric : require
+#extension GL_EXT_fragment_shader_barycentric : require
-layout(location = 0) pervertexNV in float ATTRIB[3];
-layout(location = 0, component = 1) pervertexNV in float ATTRIB_1[3];
-layout(location = 0, component = 2) pervertexNV in float ATTRIB_2[3];
+layout(location = 0) pervertexEXT in float ATTRIB[3];
+layout(location = 0, component = 1) pervertexEXT in float ATTRIB_1[3];
+layout(location = 0, component = 2) pervertexEXT in float ATTRIB_2[3];
layout(location = 1) centroid in float FOO;
layout(location = 0) out float SV_Target;
void main()
{
- SV_Target = (((ATTRIB[0u] * gl_BaryCoordNV.x) + FOO) + (ATTRIB_1[1u] * gl_BaryCoordNV.y)) + (ATTRIB_2[2u] * gl_BaryCoordNV.z);
+ SV_Target = (((ATTRIB[0u] * gl_BaryCoordEXT.x) + FOO) + (ATTRIB_1[1u] * gl_BaryCoordEXT.y)) + (ATTRIB_2[2u] * gl_BaryCoordEXT.z);
}
diff --git a/reference/shaders/dxil-builtin/barycentrics.frag b/reference/shaders/dxil-builtin/barycentrics.frag
index 3e46539..c363746 100644
--- a/reference/shaders/dxil-builtin/barycentrics.frag
+++ b/reference/shaders/dxil-builtin/barycentrics.frag
@@ -1,17 +1,17 @@
#version 460
-#extension GL_NV_fragment_shader_barycentric : require
+#extension GL_EXT_fragment_shader_barycentric : require
-layout(location = 0) pervertexNV in vec4 ATTRIB[3];
-layout(location = 1) pervertexNV in vec4 ATTRIB_2[3][2];
+layout(location = 0) pervertexEXT in vec4 ATTRIB[3];
+layout(location = 1) pervertexEXT in vec4 ATTRIB_2[3][2];
layout(location = 3) flat in uint INDEX;
layout(location = 0) out vec4 SV_Target;
void main()
{
- SV_Target.x = (((((ATTRIB[0u].x + gl_BaryCoordNV.x) + (ATTRIB[0u].x * gl_BaryCoordNV.x)) + (ATTRIB[1u].x * gl_BaryCoordNV.y)) + (ATTRIB_2[0u][INDEX].x * gl_BaryCoordNV.z)) + ((ATTRIB_2[1u][1u].x + ATTRIB_2[2u][0u].x) * gl_BaryCoordNoPerspNV.y)) + ((ATTRIB_2[0u][1u].x + ATTRIB_2[1u][0u].x) * gl_BaryCoordNoPerspNV.x);
- SV_Target.y = (((((ATTRIB[0u].y + gl_BaryCoordNV.y) + (ATTRIB[0u].y * gl_BaryCoordNV.x)) + (ATTRIB[1u].y * gl_BaryCoordNV.y)) + (ATTRIB_2[0u][INDEX].y * gl_BaryCoordNV.z)) + ((ATTRIB_2[1u][1u].y + ATTRIB_2[2u][0u].y) * gl_BaryCoordNoPerspNV.y)) + ((ATTRIB_2[0u][1u].y + ATTRIB_2[1u][0u].y) * gl_BaryCoordNoPerspNV.x);
- SV_Target.z = (((((ATTRIB[0u].z + gl_BaryCoordNoPerspNV.y) + (ATTRIB[0u].z * gl_BaryCoordNV.x)) + (ATTRIB[1u].z * gl_BaryCoordNV.y)) + (ATTRIB_2[0u][INDEX].z * gl_BaryCoordNV.z)) + ((ATTRIB_2[1u][1u].z + ATTRIB_2[2u][0u].z) * gl_BaryCoordNoPerspNV.y)) + ((ATTRIB_2[0u][1u].z + ATTRIB_2[1u][0u].z) * gl_BaryCoordNoPerspNV.x);
- SV_Target.w = (((((ATTRIB[0u].w + gl_BaryCoordNoPerspNV.x) + (ATTRIB[0u].w * gl_BaryCoordNV.x)) + (ATTRIB[1u].w * gl_BaryCoordNV.y)) + (ATTRIB_2[0u][INDEX].w * gl_BaryCoordNV.z)) + ((ATTRIB_2[1u][1u].w + ATTRIB_2[2u][0u].w) * gl_BaryCoordNoPerspNV.y)) + ((ATTRIB_2[0u][1u].w + ATTRIB_2[1u][0u].w) * gl_BaryCoordNoPerspNV.x);
+ SV_Target.x = (((((ATTRIB[0u].x + gl_BaryCoordEXT.x) + (ATTRIB[0u].x * gl_BaryCoordEXT.x)) + (ATTRIB[1u].x * gl_BaryCoordEXT.y)) + (ATTRIB_2[0u][INDEX].x * gl_BaryCoordEXT.z)) + ((ATTRIB_2[1u][1u].x + ATTRIB_2[2u][0u].x) * gl_BaryCoordNoPerspEXT.y)) + ((ATTRIB_2[0u][1u].x + ATTRIB_2[1u][0u].x) * gl_BaryCoordNoPerspEXT.x);
+ SV_Target.y = (((((ATTRIB[0u].y + gl_BaryCoordEXT.y) + (ATTRIB[0u].y * gl_BaryCoordEXT.x)) + (ATTRIB[1u].y * gl_BaryCoordEXT.y)) + (ATTRIB_2[0u][INDEX].y * gl_BaryCoordEXT.z)) + ((ATTRIB_2[1u][1u].y + ATTRIB_2[2u][0u].y) * gl_BaryCoordNoPerspEXT.y)) + ((ATTRIB_2[0u][1u].y + ATTRIB_2[1u][0u].y) * gl_BaryCoordNoPerspEXT.x);
+ SV_Target.z = (((((ATTRIB[0u].z + gl_BaryCoordNoPerspEXT.y) + (ATTRIB[0u].z * gl_BaryCoordEXT.x)) + (ATTRIB[1u].z * gl_BaryCoordEXT.y)) + (ATTRIB_2[0u][INDEX].z * gl_BaryCoordEXT.z)) + ((ATTRIB_2[1u][1u].z + ATTRIB_2[2u][0u].z) * gl_BaryCoordNoPerspEXT.y)) + ((ATTRIB_2[0u][1u].z + ATTRIB_2[1u][0u].z) * gl_BaryCoordNoPerspEXT.x);
+ SV_Target.w = (((((ATTRIB[0u].w + gl_BaryCoordNoPerspEXT.x) + (ATTRIB[0u].w * gl_BaryCoordEXT.x)) + (ATTRIB[1u].w * gl_BaryCoordEXT.y)) + (ATTRIB_2[0u][INDEX].w * gl_BaryCoordEXT.z)) + ((ATTRIB_2[1u][1u].w + ATTRIB_2[2u][0u].w) * gl_BaryCoordNoPerspEXT.y)) + ((ATTRIB_2[0u][1u].w + ATTRIB_2[1u][0u].w) * gl_BaryCoordNoPerspEXT.x);
}
diff --git a/reference/shaders/resources/buffer-64bit.ssbo.bindless.ssbo-align.comp b/reference/shaders/resources/buffer-64bit.ssbo.bindless.ssbo-align.comp
index d0c157a..dfd5829 100644
--- a/reference/shaders/resources/buffer-64bit.ssbo.bindless.ssbo-align.comp
+++ b/reference/shaders/resources/buffer-64bit.ssbo.bindless.ssbo-align.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_KHR_shader_subgroup_ballot : require
diff --git a/reference/shaders/resources/buffer-64bit.ssbo.comp b/reference/shaders/resources/buffer-64bit.ssbo.comp
index 86af6ab..e5e2c69 100644
--- a/reference/shaders/resources/buffer-64bit.ssbo.comp
+++ b/reference/shaders/resources/buffer-64bit.ssbo.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.frag
index 49a7d61..cdeb1aa 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
struct CBVComposite16x8
{
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.frag
index f2ccf13..9dd92b3 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_buffer_reference_uvec2 : require
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.frag
index e8ae469..37aed1b 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.frag
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_buffer_reference_uvec2 : require
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.native-fp16.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.native-fp16.frag
index cad0869..31f655b 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.native-fp16.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.root-descriptor.sm60.native-fp16.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_buffer_reference_uvec2 : require
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.frag
index 99d1a3b..7b3e358 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.frag
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(set = 0, binding = 0, std140) uniform _10_12
{
diff --git a/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.native-fp16.frag b/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.native-fp16.frag
index 996fc55..3027d03 100644
--- a/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.native-fp16.frag
+++ b/reference/shaders/resources/cbv-legacy-fp16-fp64.sm60.native-fp16.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(set = 0, binding = 0, std140) uniform _10_12
{
diff --git a/reference/shaders/resources/cbv.no-legacy-cbuf-layout.bindless.frag b/reference/shaders/resources/cbv.no-legacy-cbuf-layout.bindless.frag
index ba78e81..f2b355e 100644
--- a/reference/shaders/resources/cbv.no-legacy-cbuf-layout.bindless.frag
+++ b/reference/shaders/resources/cbv.no-legacy-cbuf-layout.bindless.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_scalar_block_layout : require
diff --git a/reference/shaders/resources/cbv.no-legacy-cbuf-layout.native-fp16.sm60.frag b/reference/shaders/resources/cbv.no-legacy-cbuf-layout.native-fp16.sm60.frag
index 567eb93..5147786 100644
--- a/reference/shaders/resources/cbv.no-legacy-cbuf-layout.native-fp16.sm60.frag
+++ b/reference/shaders/resources/cbv.no-legacy-cbuf-layout.native-fp16.sm60.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_scalar_block_layout : require
layout(set = 0, binding = 0, scalar) uniform _9_11
diff --git a/reference/shaders/resources/cbv.root-descriptor.no-legacy-cbuf-layout.frag b/reference/shaders/resources/cbv.root-descriptor.no-legacy-cbuf-layout.frag
index fb6a0ab..05a5f48 100644
--- a/reference/shaders/resources/cbv.root-descriptor.no-legacy-cbuf-layout.frag
+++ b/reference/shaders/resources/cbv.root-descriptor.no-legacy-cbuf-layout.frag
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#if defined(GL_AMD_gpu_shader_half_float)
#extension GL_AMD_gpu_shader_half_float : require
#elif defined(GL_EXT_shader_explicit_arithmetic_types_float16)
diff --git a/reference/shaders/resources/sm66/atomics-64bit-groupshared.ssbo.sm66.comp b/reference/shaders/resources/sm66/atomics-64bit-groupshared.ssbo.sm66.comp
index 5660073..d18395b 100644
--- a/reference/shaders/resources/sm66/atomics-64bit-groupshared.ssbo.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-64bit-groupshared.ssbo.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
struct CmpXchgResult
diff --git a/reference/shaders/resources/sm66/atomics-64bit.root-descriptor.sm66.comp b/reference/shaders/resources/sm66/atomics-64bit.root-descriptor.sm66.comp
index 6a97050..0756694 100644
--- a/reference/shaders/resources/sm66/atomics-64bit.root-descriptor.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-64bit.root-descriptor.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_buffer_reference_uvec2 : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/atomics-64bit.ssbo.sm66.comp b/reference/shaders/resources/sm66/atomics-64bit.ssbo.sm66.comp
index 653e60d..93f1af4 100644
--- a/reference/shaders/resources/sm66/atomics-64bit.ssbo.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-64bit.ssbo.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/atomics-component-alias.sm66.comp b/reference/shaders/resources/sm66/atomics-component-alias.sm66.comp
index 7f2047d..a340f14 100644
--- a/reference/shaders/resources/sm66/atomics-component-alias.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-component-alias.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_samplerless_texture_functions : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/atomics-typed-64bit-heap.sm66.comp b/reference/shaders/resources/sm66/atomics-typed-64bit-heap.sm66.comp
index de3f004..7387281 100644
--- a/reference/shaders/resources/sm66/atomics-typed-64bit-heap.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-typed-64bit-heap.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/atomics-typed-64bit.bindless.sm66.comp b/reference/shaders/resources/sm66/atomics-typed-64bit.bindless.sm66.comp
index 9aec3d6..02c463b 100644
--- a/reference/shaders/resources/sm66/atomics-typed-64bit.bindless.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-typed-64bit.bindless.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/atomics-typed-64bit.sm66.comp b/reference/shaders/resources/sm66/atomics-typed-64bit.sm66.comp
index d273110..a368ca3 100644
--- a/reference/shaders/resources/sm66/atomics-typed-64bit.sm66.comp
+++ b/reference/shaders/resources/sm66/atomics-typed-64bit.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0) uniform imageBuffer _8;
diff --git a/reference/shaders/resources/sm66/buffer-64bit-double.ssbo.sm66.comp b/reference/shaders/resources/sm66/buffer-64bit-double.ssbo.sm66.comp
index e802cf5..f92e47c 100644
--- a/reference/shaders/resources/sm66/buffer-64bit-double.ssbo.sm66.comp
+++ b/reference/shaders/resources/sm66/buffer-64bit-double.ssbo.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/buffer-64bit.ssbo.sm66.comp b/reference/shaders/resources/sm66/buffer-64bit.ssbo.sm66.comp
index 896ac62..b412a16 100644
--- a/reference/shaders/resources/sm66/buffer-64bit.ssbo.sm66.comp
+++ b/reference/shaders/resources/sm66/buffer-64bit.ssbo.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/buffer-64bit.ssbo.ssbo-align.sm66.comp b/reference/shaders/resources/sm66/buffer-64bit.ssbo.ssbo-align.sm66.comp
index 0f794c1..d090803 100644
--- a/reference/shaders/resources/sm66/buffer-64bit.ssbo.ssbo-align.sm66.comp
+++ b/reference/shaders/resources/sm66/buffer-64bit.ssbo.ssbo-align.sm66.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_KHR_shader_subgroup_ballot : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.bindless.sm66.frag b/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.bindless.sm66.frag
index ba78e81..f2b355e 100644
--- a/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.bindless.sm66.frag
+++ b/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.bindless.sm66.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_scalar_block_layout : require
diff --git a/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.sm66.frag b/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.sm66.frag
index 32d7dcf..c159cbf 100644
--- a/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.sm66.frag
+++ b/reference/shaders/resources/sm66/cbv.no-legacy-cbuf-layout.sm66.frag
@@ -7,7 +7,11 @@
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_scalar_block_layout : require
layout(set = 0, binding = 0, scalar) uniform _9_11
diff --git a/reference/shaders/resources/sm66/raygen-heap.ssbo-rtas.sm66.rgen b/reference/shaders/resources/sm66/raygen-heap.ssbo-rtas.sm66.rgen
index 8919548..77870d5 100644
--- a/reference/shaders/resources/sm66/raygen-heap.ssbo-rtas.sm66.rgen
+++ b/reference/shaders/resources/sm66/raygen-heap.ssbo-rtas.sm66.rgen
@@ -25,9 +25,9 @@ layout(location = 1) rayPayloadEXT _20 _22;
void main()
{
uint _24 = subgroupBroadcastFirst(0u);
- accelerationStructureEXT _30 = accelerationStructureEXT(_10._m0[_24]);
- traceRayEXT(_30, 0u, 0u, 0u, 0u, 0u, vec3(1.0, 2.0, 3.0), 1.0, vec3(0.0, 0.0, 1.0), 4.0, 0);
- traceRayEXT(_30, 0u, 1u, 0u, 0u, 0u, vec3(1.0, 2.0, 3.0), 1.0, vec3(0.0, 0.0, 1.0), 4.0, 1);
+ uvec2 _30 = _10._m0[_24];
+ traceRayEXT(accelerationStructureEXT(_30), 0u, 0u, 0u, 0u, 0u, vec3(1.0, 2.0, 3.0), 1.0, vec3(0.0, 0.0, 1.0), 4.0, 0);
+ traceRayEXT(accelerationStructureEXT(_30), 0u, 1u, 0u, 0u, 0u, vec3(1.0, 2.0, 3.0), 1.0, vec3(0.0, 0.0, 1.0), 4.0, 1);
imageStore(_15[1u], ivec2(uvec2(0u)), vec4(_19._m0.x + _22._m0, _19._m0.y + _22._m0, _19._m0.z + _22._m0, _19._m0.w + _22._m0));
}
diff --git a/reference/shaders/vectorization/copy-byte-address.ssbo.comp b/reference/shaders/vectorization/copy-byte-address.ssbo.comp
index 2a2b9eb..2a18c6f 100644
--- a/reference/shaders/vectorization/copy-byte-address.ssbo.comp
+++ b/reference/shaders/vectorization/copy-byte-address.ssbo.comp
@@ -1,7 +1,11 @@
#version 460
#extension GL_EXT_shader_explicit_arithmetic_types_int16 : require
#extension GL_EXT_shader_16bit_storage : require
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#if defined(GL_AMD_gpu_shader_half_float)
#extension GL_AMD_gpu_shader_half_float : require
#elif defined(GL_EXT_shader_explicit_arithmetic_types_float16)
diff --git a/reference/shaders/vectorization/copy-double2.ssbo.comp b/reference/shaders/vectorization/copy-double2.ssbo.comp
index 29566ec..da9429c 100644
--- a/reference/shaders/vectorization/copy-double2.ssbo.comp
+++ b/reference/shaders/vectorization/copy-double2.ssbo.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(local_size_x = 2, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0, std430) readonly buffer SSBO
diff --git a/reference/shaders/vectorization/copy-double2.ssbo.ssbo-align.bindless.comp b/reference/shaders/vectorization/copy-double2.ssbo.ssbo-align.bindless.comp
index 8c9fc16..5c72f19 100644
--- a/reference/shaders/vectorization/copy-double2.ssbo.ssbo-align.bindless.comp
+++ b/reference/shaders/vectorization/copy-double2.ssbo.ssbo-align.bindless.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_KHR_shader_subgroup_ballot : require
diff --git a/reference/shaders/vectorization/copy-double3.ssbo.comp b/reference/shaders/vectorization/copy-double3.ssbo.comp
index f8726fc..e395e38 100644
--- a/reference/shaders/vectorization/copy-double3.ssbo.comp
+++ b/reference/shaders/vectorization/copy-double3.ssbo.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 2, local_size_y = 1, local_size_z = 1) in;
diff --git a/reference/shaders/vectorization/copy-double3.ssbo.ssbo-align.bindless.comp b/reference/shaders/vectorization/copy-double3.ssbo.ssbo-align.bindless.comp
index e596cd4..cd9522f 100644
--- a/reference/shaders/vectorization/copy-double3.ssbo.ssbo-align.bindless.comp
+++ b/reference/shaders/vectorization/copy-double3.ssbo.ssbo-align.bindless.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_KHR_shader_subgroup_ballot : require
diff --git a/reference/shaders/vectorization/copy-double4.ssbo.comp b/reference/shaders/vectorization/copy-double4.ssbo.comp
index 4ce6ac6..a1a53b4 100644
--- a/reference/shaders/vectorization/copy-double4.ssbo.comp
+++ b/reference/shaders/vectorization/copy-double4.ssbo.comp
@@ -1,5 +1,9 @@
#version 460
+#if defined(GL_ARB_gpu_shader_int64)
#extension GL_ARB_gpu_shader_int64 : require
+#else
+#error No extension available for 64-bit integers.
+#endif
layout(local_size_x = 2, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0, std430) readonly buffer SSBO
diff --git a/third_party/SPIRV-Cross b/third_party/SPIRV-Cross
-Subproject b3ff97d0feafd2b7ca72aec7215cfc3d0998fb7
+Subproject 210a80013067672b52847ec7aa70ff78b2f4d77
diff --git a/third_party/SPIRV-Tools b/third_party/SPIRV-Tools
-Subproject 4c456f7da67c5437a6fb7d4d20d78e2a5ae2acf
+Subproject 5f45f793ae962a84c71a9b7ff434591c57cdad5