summaryrefslogtreecommitdiff
path: root/tests/reflection
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reflection')
-rw-r--r--tests/reflection/structured-buffer.slang19
-rw-r--r--tests/reflection/structured-buffer.slang.expected75
-rw-r--r--tests/reflection/thread-group-size.hlsl.expected6
-rw-r--r--tests/reflection/unbounded-arrays.hlsl.1.expected10
4 files changed, 108 insertions, 2 deletions
diff --git a/tests/reflection/structured-buffer.slang b/tests/reflection/structured-buffer.slang
new file mode 100644
index 000000000..491d61486
--- /dev/null
+++ b/tests/reflection/structured-buffer.slang
@@ -0,0 +1,19 @@
+//TEST:REFLECTION:-profile ps_4_0 -target hlsl
+
+// Confirm that we reflect the contents of structure-buffer types correctly.
+
+struct S
+{
+ float2 a;
+ float b;
+ uint c;
+};
+
+StructuredBuffer<uint> x;
+StructuredBuffer<float2> y;
+StructuredBuffer<S> z;
+
+float4 main() : SV_Target
+{
+ return x[0] + y[0].xyxy + z[0].a.xyxy;
+} \ No newline at end of file
diff --git a/tests/reflection/structured-buffer.slang.expected b/tests/reflection/structured-buffer.slang.expected
new file mode 100644
index 000000000..70ceb64f2
--- /dev/null
+++ b/tests/reflection/structured-buffer.slang.expected
@@ -0,0 +1,75 @@
+result code = 0
+standard error = {
+}
+standard output = {
+{
+ "parameters": [
+ {
+ "name": "x",
+ "binding": {"kind": "shaderResource", "index": 0},
+ "type": {
+ "kind": "resource",
+ "baseShape": "structuredBuffer",
+ "resultType": {
+ "kind": "scalar",
+ "scalarType": "uint32"
+ }
+ }
+ },
+ {
+ "name": "y",
+ "binding": {"kind": "shaderResource", "index": 1},
+ "type": {
+ "kind": "resource",
+ "baseShape": "structuredBuffer",
+ "resultType": {
+ "kind": "vector",
+ "elementCount": 2,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ }
+ }
+ },
+ {
+ "name": "z",
+ "binding": {"kind": "shaderResource", "index": 2},
+ "type": {
+ "kind": "resource",
+ "baseShape": "structuredBuffer",
+ "resultType": {
+ "kind": "struct",
+ "fields": [
+ "name": "a",
+ "type": {
+ "kind": "vector",
+ "elementCount": 2,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ },
+ "name": "b",
+ "type": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ },
+ "name": "c",
+ "type": {
+ "kind": "scalar",
+ "scalarType": "uint32"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "entryPoints": [
+ {
+ "name": "main",
+ "stage:": "fragment"
+ }
+ ]
+}
+}
diff --git a/tests/reflection/thread-group-size.hlsl.expected b/tests/reflection/thread-group-size.hlsl.expected
index cd5d09e35..46b0eb87e 100644
--- a/tests/reflection/thread-group-size.hlsl.expected
+++ b/tests/reflection/thread-group-size.hlsl.expected
@@ -10,7 +10,11 @@ standard output = {
"type": {
"kind": "resource",
"baseShape": "structuredBuffer",
- "access": "readWrite"
+ "access": "readWrite",
+ "resultType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
}
}
],
diff --git a/tests/reflection/unbounded-arrays.hlsl.1.expected b/tests/reflection/unbounded-arrays.hlsl.1.expected
index 382fc25bc..60d894ba7 100644
--- a/tests/reflection/unbounded-arrays.hlsl.1.expected
+++ b/tests/reflection/unbounded-arrays.hlsl.1.expected
@@ -98,7 +98,15 @@ standard output = {
"type": {
"kind": "resource",
"baseShape": "structuredBuffer",
- "access": "readWrite"
+ "access": "readWrite",
+ "resultType": {
+ "kind": "vector",
+ "elementCount": 4,
+ "elementType": {
+ "kind": "scalar",
+ "scalarType": "float32"
+ }
+ }
}
}
],