From b2ad8e99a82884bb157e1be76b1ad7eb0e481457 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 26 Aug 2021 10:30:35 -0700 Subject: Add API to control interface specialization. (#1925) --- tools/render-test/shader-input-layout.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tools/render-test/shader-input-layout.cpp') diff --git a/tools/render-test/shader-input-layout.cpp b/tools/render-test/shader-input-layout.cpp index 2e0741cea..7e6d290c8 100644 --- a/tools/render-test/shader-input-layout.cpp +++ b/tools/render-test/shader-input-layout.cpp @@ -837,6 +837,17 @@ namespace renderer_test parentForNewVal->addField(field); } + void parseTypeConformance(Misc::TokenReader& parser) + { + ShaderInputLayout::TypeConformanceVal conformance; + conformance.derivedTypeName = parseTypeName(parser); + parser.Read(":"); + conformance.baseTypeName = parseTypeName(parser); + if (parser.AdvanceIf("=")) + conformance.idOverride = parser.ReadInt(); + layout->typeConformances.add(conformance); + } + void parseLine(Misc::TokenReader& parser) { if (parser.LookAhead("entryPointSpecializationArg") @@ -872,6 +883,10 @@ namespace renderer_test { parseSetEntry(parser); } + else if (parser.AdvanceIf("type_conformance")) + { + parseTypeConformance(parser); + } else { parseValEntry(parser); -- cgit v1.2.3