summaryrefslogtreecommitdiffstats
path: root/tests/reflection
diff options
context:
space:
mode:
authorDevon <devonrutledge03@gmail.com>2025-04-14 13:09:04 -0600
committerGitHub <noreply@github.com>2025-04-14 12:09:04 -0700
commit387deedac3b61dd133fb529dc941483bc021f386 (patch)
treea895293925457cc9298438f8f65db50683c4dac8 /tests/reflection
parent0f0818722268464775981520c2d6e975a9cf14fa (diff)
Fix User Attribute string reflection (#6799)
* Fix User Attribute string reflection Fixes #6794 * Fix strings not being properly escaped --------- Co-authored-by: Darren Wihandi <65404740+fairywreath@users.noreply.github.com> Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tests/reflection')
-rw-r--r--tests/reflection/attribute.slang8
-rw-r--r--tests/reflection/attribute.slang.expected257
2 files changed, 149 insertions, 116 deletions
diff --git a/tests/reflection/attribute.slang b/tests/reflection/attribute.slang
index 0157f67d0..8d755648a 100644
--- a/tests/reflection/attribute.slang
+++ b/tests/reflection/attribute.slang
@@ -10,6 +10,7 @@ struct MyStructAttribute
{
int iParam;
float fParam;
+ string sParam;
};
[__AttributeUsage(_AttributeTargets.Var)]
@@ -19,7 +20,7 @@ struct DefaultValueAttribute
int iParam;
};
-[MyStruct(0, 1.0)]
+[MyStruct(0, 1.0, "A")]
struct A
{
float x;
@@ -27,7 +28,7 @@ struct A
float y;
};
-[MyStruct(0, 2.0)]
+[MyStruct(0, 2.0, "\"")]
struct B
{
float x;
@@ -59,7 +60,8 @@ D param3;
[StructVarParam(1)] int globalInt2;
-[MyStruct(2, 3.0)]
+[MyStruct(2, 3.0, "main")]
+[MyStruct(-2, -3.0, "")]
[numthreads(1, 1, 1)]
void main(
uint3 dispatchThreadID : SV_DispatchThreadID,
diff --git a/tests/reflection/attribute.slang.expected b/tests/reflection/attribute.slang.expected
index 978d43d43..665d0b367 100644
--- a/tests/reflection/attribute.slang.expected
+++ b/tests/reflection/attribute.slang.expected
@@ -27,30 +27,34 @@ standard output = {
"kind": "scalar",
"scalarType": "float32"
},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 1
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 4, "size": 4},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 1
+ ]
+ }
]
}
],
- "userAttribs": [{
- "name": "MyStruct",
- "arguments": [
- 0,
- 1.000000
- ]
- }
+ "userAttribs": [
+ {
+ "name": "MyStruct",
+ "arguments": [
+ 0,
+ 1.000000,
+ "A"
+ ]
+ }
]
},
"containerVarLayout": {
@@ -75,30 +79,34 @@ standard output = {
"kind": "scalar",
"scalarType": "float32"
},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 1
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 4, "size": 4},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 1
+ ]
+ }
]
}
],
- "userAttribs": [{
- "name": "MyStruct",
- "arguments": [
- 0,
- 1.000000
- ]
- }
+ "userAttribs": [
+ {
+ "name": "MyStruct",
+ "arguments": [
+ 0,
+ 1.000000,
+ "A"
+ ]
+ }
]
},
"binding": {"kind": "uniform", "offset": 0, "size": 8}
@@ -128,30 +136,34 @@ standard output = {
"kind": "scalar",
"scalarType": "float32"
},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 2
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 4, "size": 4},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 2
+ ]
+ }
]
}
],
- "userAttribs": [{
- "name": "MyStruct",
- "arguments": [
- 0,
- 2.000000
- ]
- }
+ "userAttribs": [
+ {
+ "name": "MyStruct",
+ "arguments": [
+ 0,
+ 2.000000,
+ "\""
+ ]
+ }
]
},
"containerVarLayout": {
@@ -176,30 +188,34 @@ standard output = {
"kind": "scalar",
"scalarType": "float32"
},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 2
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 4, "size": 4},
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 2
+ ]
+ }
]
}
],
- "userAttribs": [{
- "name": "MyStruct",
- "arguments": [
- 0,
- 2.000000
- ]
- }
+ "userAttribs": [
+ {
+ "name": "MyStruct",
+ "arguments": [
+ 0,
+ 2.000000,
+ "\""
+ ]
+ }
]
},
"binding": {"kind": "uniform", "offset": 0, "size": 8}
@@ -208,12 +224,13 @@ standard output = {
},
{
"name": "globalInt",
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 2
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 0, "size": 4},
"type": {
@@ -237,23 +254,25 @@ standard output = {
"binding": {"kind": "uniform", "offset": 0, "size": 4}
}
],
- "userAttribs": [{
- "name": "StructVarParam",
- "arguments": [
- 0
- ]
- }
+ "userAttribs": [
+ {
+ "name": "StructVarParam",
+ "arguments": [
+ 0
+ ]
+ }
]
}
},
{
"name": "globalInt2",
- "userAttribs": [{
- "name": "StructVarParam",
- "arguments": [
- 1
- ]
- }
+ "userAttribs": [
+ {
+ "name": "StructVarParam",
+ "arguments": [
+ 1
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 20, "size": 4},
"type": {
@@ -281,12 +300,13 @@ standard output = {
},
{
"name": "a",
- "userAttribs": [{
- "name": "DefaultValue",
- "arguments": [
- 3
- ]
- }
+ "userAttribs": [
+ {
+ "name": "DefaultValue",
+ "arguments": [
+ 3
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 0, "size": 4},
"type": {
@@ -296,12 +316,13 @@ standard output = {
},
{
"name": "b",
- "userAttribs": [{
- "name": "StructVarParam",
- "arguments": [
- 2
- ]
- }
+ "userAttribs": [
+ {
+ "name": "StructVarParam",
+ "arguments": [
+ 2
+ ]
+ }
],
"binding": {"kind": "uniform", "offset": 4, "size": 4},
"type": {
@@ -311,13 +332,23 @@ standard output = {
}
],
"threadGroupSize": [1, 1, 1],
- "userAttribs": [{
- "name": "MyStruct",
- "arguments": [
- 2,
- 3.000000
- ]
- }
+ "userAttribs": [
+ {
+ "name": "MyStruct",
+ "arguments": [
+ 2,
+ 3.000000,
+ "main"
+ ]
+ },
+ {
+ "name": "MyStruct",
+ "arguments": [
+ -2,
+ -3.000000,
+ ""
+ ]
+ }
]
}
]