summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs/gh-4131.slang2
-rw-r--r--tests/language-feature/known-builtin-enum-test.slang22
2 files changed, 23 insertions, 1 deletions
diff --git a/tests/bugs/gh-4131.slang b/tests/bugs/gh-4131.slang
index d72bc5d0d..59eaff868 100644
--- a/tests/bugs/gh-4131.slang
+++ b/tests/bugs/gh-4131.slang
@@ -16,7 +16,7 @@ StructuredBuffer<TypeB> b_buffer : register(t0, space0);
struct VertexIn {
int32_t vert_idx : SV_VertexID;
- [[KnownBuiltin("DrawIndex")]]
+ [[KnownBuiltin(0)]]
uint32_t draw_idx : POSITION0;
};
diff --git a/tests/language-feature/known-builtin-enum-test.slang b/tests/language-feature/known-builtin-enum-test.slang
new file mode 100644
index 000000000..cf2c9c63e
--- /dev/null
+++ b/tests/language-feature/known-builtin-enum-test.slang
@@ -0,0 +1,22 @@
+//TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu -output-using-type
+
+//TEST_INPUT: set outputBuffer = out ubuffer(data=[0 0 0 0], stride=4)
+RWStructuredBuffer<float> outputBuffer;
+
+// Test that KnownBuiltin attribute works with enum-based system
+// Using GeometryStreamAppend enum value (0) for testing
+static const int GEOMETRY_STREAM_APPEND_BUILTIN = 0;
+
+[KnownBuiltin(GEOMETRY_STREAM_APPEND_BUILTIN)]
+void testKnownBuiltin()
+{
+ // This function just needs to exist to test attribute processing
+}
+
+[numthreads(1,1,1)]
+void computeMain()
+{
+ // Simple test that the code compiles and runs
+ outputBuffer[0] = 42.0f;
+ // CHECK: 42.0
+} \ No newline at end of file