From 02bc074ac4ad5f6927f75712476b0cd7d9bbd3f7 Mon Sep 17 00:00:00 2001 From: Arcady Goldmints-Orlov Date: Fri, 13 Sep 2024 13:31:45 -0700 Subject: [PATCH] Update tests to use the new iomapper interface This updates the test to use the new public GetGlslIoMapper() and TProgram::getGlslIoResolver() entry points, instead of depending on internal points that are not available in shared library builds. --- gtests/GlslMapIO.FromFile.cpp | 18 ++++++++++-------- gtests/VkRelaxed.FromFile.cpp | 18 ++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 1ad9e029..855a2af2 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -285,19 +285,21 @@ TEST_P(GlslMapIOTest, FromFile) result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success; diff --git a/gtests/VkRelaxed.FromFile.cpp b/gtests/VkRelaxed.FromFile.cpp index 6e31974a..8b8a628a 100644 --- a/gtests/VkRelaxed.FromFile.cpp +++ b/gtests/VkRelaxed.FromFile.cpp @@ -237,19 +237,21 @@ TEST_P(VulkanRelaxedTest, FromFile) shaders[i]->setResourceSetBinding(resourceSetBindings[i]); } - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success;