diff options
Diffstat (limited to 'thirdparty/glslang/SPIRV/SPVRemapper.h')
-rw-r--r-- | thirdparty/glslang/SPIRV/SPVRemapper.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/thirdparty/glslang/SPIRV/SPVRemapper.h b/thirdparty/glslang/SPIRV/SPVRemapper.h index d6b9c346dd..d21694635a 100644 --- a/thirdparty/glslang/SPIRV/SPVRemapper.h +++ b/thirdparty/glslang/SPIRV/SPVRemapper.h @@ -118,6 +118,10 @@ public: virtual ~spirvbin_t() { } // remap on an existing binary in memory + void remap(std::vector<std::uint32_t>& spv, const std::vector<std::string>& whiteListStrings, + std::uint32_t opts = DO_EVERYTHING); + + // remap on an existing binary in memory - legacy interface without white list void remap(std::vector<std::uint32_t>& spv, std::uint32_t opts = DO_EVERYTHING); // Type for error/log handler functions @@ -180,6 +184,8 @@ private: unsigned typeSizeInWords(spv::Id id) const; unsigned idTypeSizeInWords(spv::Id id) const; + bool isStripOp(spv::Op opCode, unsigned start) const; + spv::Id& asId(unsigned word) { return spv[word]; } const spv::Id& asId(unsigned word) const { return spv[word]; } spv::Op asOpCode(unsigned word) const { return opOpCode(spv[word]); } @@ -249,6 +255,8 @@ private: std::vector<spirword_t> spv; // SPIR words + std::vector<std::string> stripWhiteList; + namemap_t nameMap; // ID names from OpName // Since we want to also do binary ops, we can't use std::vector<bool>. we could use |