summaryrefslogtreecommitdiffstats
path: root/thirdparty/glslang/SPIRV/SPVRemapper.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-10-31 13:47:11 +0100
committerRémi Verschelde <rverschelde@gmail.com>2022-11-03 12:20:46 +0100
commit0181d005c98dcf62fd63e19b0dec7586ac708154 (patch)
tree20f458ec639855e5894a195dbab26247392dd712 /thirdparty/glslang/SPIRV/SPVRemapper.h
parent879aac9db44c90000197ef02ae048c71f7500a2b (diff)
downloadredot-engine-0181d005c98dcf62fd63e19b0dec7586ac708154.tar.gz
vulkan: Update all components to Vulkan SDK 1.3.231.1
Updates to volk, vulkan headers, `vk_enum_string_helper.h`, glslang, spirv-reflect. No update to VMA which still has 3.0.1 as it's last tagged release.
Diffstat (limited to 'thirdparty/glslang/SPIRV/SPVRemapper.h')
-rw-r--r--thirdparty/glslang/SPIRV/SPVRemapper.h8
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