Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2022-03-12 14:03:39 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2022-03-12 14:14:01 +0300
commit39bad2c1f93ba08c25635a1d8da9a15c8c4bb049 (patch)
tree0d1bf96b2d9a0d0df9ca126f7ad64ca7e88fd08a
parentd5c3bd8b5e7db9e2d7fe809944b47b8f88e1c732 (diff)
Avoid redundant meta lookups in ParsedIR when setting member decorations.
-rw-r--r--spirv_cross_parsed_ir.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/spirv_cross_parsed_ir.cpp b/spirv_cross_parsed_ir.cpp
index ce2f98f1..d399d415 100644
--- a/spirv_cross_parsed_ir.cpp
+++ b/spirv_cross_parsed_ir.cpp
@@ -349,7 +349,7 @@ void ParsedIR::set_name(ID id, const string &name)
void ParsedIR::set_member_name(TypeID id, uint32_t index, const string &name)
{
auto &m = meta[id];
- m.members.resize(max(meta[id].members.size(), size_t(index) + 1));
+ m.members.resize(max(m.members.size(), size_t(index) + 1));
m.members[index].alias = name;
if (!is_valid_identifier(name) || is_reserved_identifier(name, true, false))
meta_needing_name_fixup.insert(id);
@@ -451,8 +451,9 @@ void ParsedIR::set_decoration(ID id, Decoration decoration, uint32_t argument)
void ParsedIR::set_member_decoration(TypeID id, uint32_t index, Decoration decoration, uint32_t argument)
{
- meta[id].members.resize(max(meta[id].members.size(), size_t(index) + 1));
- auto &dec = meta[id].members[index];
+ auto &m = meta[id];
+ m.members.resize(max(m.members.size(), size_t(index) + 1));
+ auto &dec = m.members[index];
dec.decoration_flags.set(decoration);
switch (decoration)
@@ -792,7 +793,8 @@ const Bitset &ParsedIR::get_decoration_bitset(ID id) const
void ParsedIR::set_member_decoration_string(TypeID id, uint32_t index, Decoration decoration, const string &argument)
{
- meta[id].members.resize(max(meta[id].members.size(), size_t(index) + 1));
+ auto &m = meta[id];
+ m.members.resize(max(m.members.size(), size_t(index) + 1));
auto &dec = meta[id].members[index];
dec.decoration_flags.set(decoration);