From: Mikko Rasa Date: Tue, 18 Jul 2023 08:27:49 +0000 (+0300) Subject: Some minor refactoring X-Git-Url: https://git.tdb.fi/?a=commitdiff_plain;h=1effa18f6f2f69d04babc942e85981a06e2198bc;p=libs%2Fgl.git Some minor refactoring --- diff --git a/source/backends/opengl/program_backend.cpp b/source/backends/opengl/program_backend.cpp index 7183cce4..52d48c22 100644 --- a/source/backends/opengl/program_backend.cpp +++ b/source/backends/opengl/program_backend.cpp @@ -329,8 +329,7 @@ void OpenGLProgram::query_uniforms() rd.uniforms.emplace_back(); ReflectData::UniformInfo &info = rd.uniforms.back(); - info.name = name; - info.tag = name; + info.tag = info.name = name; info.array_size = size; info.type = from_gl_type(type); uniform_names[i] = name; @@ -380,12 +379,13 @@ void OpenGLProgram::query_uniform_blocks(const vector=0) info.binding = v.binding | (v.descriptor_set<<20); diff --git a/source/materials/programdata.cpp b/source/materials/programdata.cpp index 6be31552..7a72e1c6 100644 --- a/source/materials/programdata.cpp +++ b/source/materials/programdata.cpp @@ -480,22 +480,23 @@ vector::iterator ProgramData::get_program(const Progr for(const ProgramBlock &b: programs) block_hashes.push_back(b.block_index>=0 ? blocks[b.block_index].block_hash : 0); - for(unsigned j=0; jblock_hash!=info.layout_hash) + auto k = lower_bound_member(blocks, b.layout_hash, &SharedBlock::block_hash); + if(k==blocks.end() || k->block_hash!=b.layout_hash) { - k = blocks.insert(k, SharedBlock(info.layout_hash)); - update_block_uniform_indices(*k, info); + k = blocks.insert(k, SharedBlock(b.layout_hash)); + update_block_uniform_indices(*k, b); } } /* Reassign shared block indices from the stored hashes. */ - for(unsigned j=0; j