diff options
Diffstat (limited to 'tests/reflection')
| -rw-r--r-- | tests/reflection/structured-buffer.slang | 19 | ||||
| -rw-r--r-- | tests/reflection/structured-buffer.slang.expected | 75 | ||||
| -rw-r--r-- | tests/reflection/thread-group-size.hlsl.expected | 6 | ||||
| -rw-r--r-- | tests/reflection/unbounded-arrays.hlsl.1.expected | 10 |
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" + } + } } } ], |
