summaryrefslogtreecommitdiffstats
path: root/tests/language-feature
diff options
context:
space:
mode:
Diffstat (limited to 'tests/language-feature')
-rw-r--r--tests/language-feature/pointer-cast-glsl.slang14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/language-feature/pointer-cast-glsl.slang b/tests/language-feature/pointer-cast-glsl.slang
new file mode 100644
index 000000000..9e51c4328
--- /dev/null
+++ b/tests/language-feature/pointer-cast-glsl.slang
@@ -0,0 +1,14 @@
+//TEST:SIMPLE(filecheck=GLSL):-target glsl -entry main
+
+// Test that pointer casts in GLSL generate constructor-style casts instead of C-style casts
+// This addresses issue https://github.com/shader-slang/slang/issues/7838
+
+//GLSL: BufferPointer__S1_2(address_0)
+
+[shader("vertex")]
+float4 main(uint vertexID : SV_VertexID, uint64_t address) : SV_Position
+{
+ // This should generate BufferPointer(address) instead of (BufferPointer)address in GLSL
+ let buffer = ConstBufferPointer<float4>(address);
+ return buffer[vertexID];
+} \ No newline at end of file