diff options
Diffstat (limited to 'tests/reflection')
| -rw-r--r-- | tests/reflection/attribute.slang | 30 | ||||
| -rw-r--r-- | tests/reflection/attribute.slang.expected | 58 |
2 files changed, 80 insertions, 8 deletions
diff --git a/tests/reflection/attribute.slang b/tests/reflection/attribute.slang index 864aa5896..e0739643c 100644 --- a/tests/reflection/attribute.slang +++ b/tests/reflection/attribute.slang @@ -10,14 +10,10 @@ struct MyStructAttribute int iParam; float fParam; }; -[__AttributeUsage(_AttributeTargets.Var)] -struct DefaultValueAttribute -{ - int iParam; -}; +[__AttributeUsage(_AttributeTargets.Var)] [__AttributeUsage(_AttributeTargets.Param)] -struct DefaultFuncParamAttribute +struct DefaultValueAttribute { int iParam; }; @@ -43,9 +39,29 @@ ParameterBlock<B> param2; [DefaultValue(2)] int globalInt; +[__AttributeUsage(_AttributeTargets.Struct)] +[__AttributeUsage(_AttributeTargets.Var)] +[__AttributeUsage(_AttributeTargets.Param)] +struct StructVarParamAttribute +{ + int iParam; +}; + +[StructVarParam(0)] +struct D +{ + int a; +}; + +D param3; + +[StructVarParam(1)] int globalInt2; + + [numthreads(1, 1, 1)] void main( uint3 dispatchThreadID : SV_DispatchThreadID, - [DefaultFuncParam(3)] float a) + [DefaultValue(3)] float a, + [StructVarParam(2)] float b) { } diff --git a/tests/reflection/attribute.slang.expected b/tests/reflection/attribute.slang.expected index 94018c19c..9b51aae32 100644 --- a/tests/reflection/attribute.slang.expected +++ b/tests/reflection/attribute.slang.expected @@ -220,6 +220,46 @@ standard output = { "kind": "scalar", "scalarType": "int32" } + }, + { + "name": "param3", + "binding": {"kind": "uniform", "offset": 16, "size": 4}, + "type": { + "kind": "struct", + "name": "D", + "fields": [ + { + "name": "a", + "type": { + "kind": "scalar", + "scalarType": "int32" + }, + "binding": {"kind": "uniform", "offset": 0, "size": 4} + } + ], + "userAttribs": [{ + "name": "StructVarParam", + "arguments": [ + 0 + ] + } + ] + } + }, + { + "name": "globalInt2", + "userAttribs": [{ + "name": "StructVarParam", + "arguments": [ + 1 + ] + } + ], + "binding": {"kind": "uniform", "offset": 20, "size": 4}, + "type": { + "kind": "scalar", + "scalarType": "int32" + } } ], "entryPoints": [ @@ -242,7 +282,7 @@ standard output = { { "name": "a", "userAttribs": [{ - "name": "DefaultFuncParam", + "name": "DefaultValue", "arguments": [ 3 ] @@ -254,6 +294,22 @@ standard output = { "kind": "scalar", "scalarType": "float32" } + }, + { + "name": "b", + "userAttribs": [{ + "name": "StructVarParam", + "arguments": [ + 2 + ] + } + ], + "stage": "compute", + "binding": {"kind": "varyingInput", "index": 1}, + "type": { + "kind": "scalar", + "scalarType": "float32" + } } ], "threadGroupSize": [1, 1, 1] |
