X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fprogram.cpp;h=16b2fa79c7509a5ee38a6f912c5a2da0ebbf83ec;hp=bc61e1db7173f141f609a346b180bc51675dc375;hb=5871764de7aa23d2c40cac03ad9d07088fb57e06;hpb=394b57279ff26781bfbba6d6f2b8ee1a25877e23 diff --git a/source/core/program.cpp b/source/core/program.cpp index bc61e1db..16b2fa79 100644 --- a/source/core/program.cpp +++ b/source/core/program.cpp @@ -113,7 +113,7 @@ void Program::collect_visited_blocks(const vector void Program::collect_uniforms(const SpirVModule &mod, const vector &used_variables) { // Prepare the default block - reflect_data.uniform_blocks.push_back(ReflectData::UniformBlockInfo()); + reflect_data.uniform_blocks.emplace_back(); vector > block_uniform_names(1); const vector &variables = mod.get_variables(); @@ -126,7 +126,7 @@ void Program::collect_uniforms(const SpirVModule &mod, const vector &us const SpirVModule::Variable &v = variables[i]; if((v.storage==SpirVModule::UNIFORM || v.storage==SpirVModule::PUSH_CONSTANT) && v.struct_type) { - reflect_data.uniform_blocks.push_back(ReflectData::UniformBlockInfo()); + reflect_data.uniform_blocks.emplace_back(); ReflectData::UniformBlockInfo &info = reflect_data.uniform_blocks.back(); info.name = v.struct_type->name; if(v.storage==SpirVModule::PUSH_CONSTANT) @@ -144,13 +144,13 @@ void Program::collect_uniforms(const SpirVModule &mod, const vector &us string prefix; if(!v.name.empty()) prefix = v.struct_type->name+"."; - block_uniform_names.push_back(vector()); + block_uniform_names.emplace_back(); collect_block_uniforms(*v.struct_type, prefix, 0, block_uniform_names.back()); } else if(v.storage==SpirVModule::UNIFORM_CONSTANT && (v.location>=0 || v.binding>=0)) { block_uniform_names[0].push_back(v.name); - reflect_data.uniforms.push_back(ReflectData::UniformInfo()); + reflect_data.uniforms.emplace_back(); ReflectData::UniformInfo &info = reflect_data.uniforms.back(); info.name = v.name; info.tag = v.name; @@ -208,7 +208,7 @@ void Program::collect_block_uniforms(const SpirVModule::Structure &strct, const { string name = prefix+m.name; uniform_names.push_back(name); - reflect_data.uniforms.push_back(ReflectData::UniformInfo()); + reflect_data.uniforms.emplace_back(); ReflectData::UniformInfo &info = reflect_data.uniforms.back(); info.name = name; info.tag = name; @@ -230,7 +230,7 @@ void Program::collect_attributes(const SpirVModule &mod, const vector & for(const SpirVModule::Variable *v: e.globals) if(v->storage==SpirVModule::INPUT && used_variables[v-variables.data()]) { - reflect_data.attributes.push_back(ReflectData::AttributeInfo()); + reflect_data.attributes.emplace_back(); ReflectData::AttributeInfo &info = reflect_data.attributes.back(); info.name = v->name; info.location = v->location;