summaryrefslogtreecommitdiff
path: root/tests/reflection/reflect-static.slang
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reflection/reflect-static.slang')
-rw-r--r--tests/reflection/reflect-static.slang34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/reflection/reflect-static.slang b/tests/reflection/reflect-static.slang
new file mode 100644
index 000000000..f7a44cde8
--- /dev/null
+++ b/tests/reflection/reflect-static.slang
@@ -0,0 +1,34 @@
+//TEST:REFLECTION:-profile cs_6_0 -target hlsl -entry computeMain
+
+struct Thing
+{
+ static int value;
+};
+
+struct AnotherThing
+{
+ int a;
+ int b;
+ static Texture2D t;
+};
+
+
+ConstantBuffer<Thing> cbThing;
+ConstantBuffer<AnotherThing> cbAnotherThing;
+
+//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
+RWStructuredBuffer<int> outputBuffer;
+
+[numthreads(4, 1, 1)]
+void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+{
+ Texture2D t = AnotherThing::t;
+
+ float4 v = t.Load(int3(dispatchThreadID.x, dispatchThreadID.y, 0));
+
+ int m = cbAnotherThing.a + cbAnotherThing.b + Thing::value;
+
+ m += int(v.x);
+
+ outputBuffer[dispatchThreadID.x] = m;
+}