summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMindSpunk <nathanvoglsam420@gmail.com>2025-08-22 03:00:32 +1000
committerGitHub <noreply@github.com>2025-08-21 10:00:32 -0700
commitc45f02579076fcf559f92be501d8293d308db34e (patch)
tree384ae06869c8086d2e34d6c10f79d6daf9cd528c
parent35f8e092f2aa3ed5e3cf03387e712f798ff4850e (diff)
Fix reflection JSON writing userAttribs section twice for some cases. (#8210)
`emitReflectionVarLayoutJSON` will output the `userAttribs` section twice as it gets output by `emitReflectionModifierInfoJSON` first before being output again by a direct call to `emitUserAttributes`. It seems the answer here is to just remove the extra explicit call to `emitUserAttributes` and rely on the call in `emitReflectionModifierInfoJSON`?
-rw-r--r--source/slang/slang-reflection-json.cpp2
-rw-r--r--tests/reflection/attribute.slang.expected40
2 files changed, 4 insertions, 38 deletions
diff --git a/source/slang/slang-reflection-json.cpp b/source/slang/slang-reflection-json.cpp
index 26cdafa46..d21161a12 100644
--- a/source/slang/slang-reflection-json.cpp
+++ b/source/slang/slang-reflection-json.cpp
@@ -420,8 +420,6 @@ static void emitReflectionVarLayoutJSON(PrettyWriter& writer, slang::VariableLay
emitReflectionModifierInfoJSON(writer, var->getVariable());
emitReflectionVarBindingInfoJSON(writer, var);
-
- emitUserAttributes(writer, var->getVariable());
writer.dedent();
writer << "\n}";
}
diff --git a/tests/reflection/attribute.slang.expected b/tests/reflection/attribute.slang.expected
index 664613aef..dd969cf47 100644
--- a/tests/reflection/attribute.slang.expected
+++ b/tests/reflection/attribute.slang.expected
@@ -35,15 +35,7 @@ standard output = {
]
}
],
- "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0},
- "userAttribs": [
- {
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
- ]
+ "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0}
}
],
"userAttribs": [
@@ -87,15 +79,7 @@ standard output = {
]
}
],
- "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0},
- "userAttribs": [
- {
- "name": "DefaultValue",
- "arguments": [
- 1
- ]
- }
- ]
+ "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0}
}
],
"userAttribs": [
@@ -144,15 +128,7 @@ standard output = {
]
}
],
- "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0},
- "userAttribs": [
- {
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
- ]
+ "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0}
}
],
"userAttribs": [
@@ -196,15 +172,7 @@ standard output = {
]
}
],
- "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0},
- "userAttribs": [
- {
- "name": "DefaultValue",
- "arguments": [
- 2
- ]
- }
- ]
+ "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0}
}
],
"userAttribs": [