summaryrefslogtreecommitdiff
path: root/tools/render-test/shader-input-layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/render-test/shader-input-layout.cpp')
-rw-r--r--tools/render-test/shader-input-layout.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/render-test/shader-input-layout.cpp b/tools/render-test/shader-input-layout.cpp
index 40beffc05..6ded388e8 100644
--- a/tools/render-test/shader-input-layout.cpp
+++ b/tools/render-test/shader-input-layout.cpp
@@ -432,6 +432,20 @@ namespace renderer_test
entry.bufferData.add(0);
continue;
}
+ else if (parser.LookAhead("handle"))
+ {
+ BindlessHandleDataEntry handleEntry;
+ parser.ReadToken();
+ parser.Read("(");
+ handleEntry.name = parser.ReadWord();
+ handleEntry.offset = offset;
+ parser.Read(")");
+ offset += 8;
+ entry.bindlessHandleEntry.add(handleEntry);
+ entry.bufferData.add(0);
+ entry.bufferData.add(0);
+ continue;
+ }
bool negate = false;
if(parser.NextToken().Type == TokenType::OpSub)
@@ -572,6 +586,11 @@ namespace renderer_test
entry.name = builder;
}
+ else if (parser.LookAhead("bindless"))
+ {
+ parser.ReadToken();
+ entry.isBindlessObject = true;
+ }
else
{
fprintf(stderr, "Invalid TEST_INPUT syntax '%s'\n", parser.NextToken().Content.getBuffer());
@@ -601,6 +620,8 @@ namespace renderer_test
for (Index entryIndex = 0; entryIndex < entries.getCount(); ++entryIndex)
{
auto& entry = entries[entryIndex];
+ if (entry.isBindlessObject)
+ continue;
if (entry.name.getLength() == 0)
{