]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/program.cpp
Use emplace_back when a new object is being constructed
[libs/gl.git] / source / core / program.cpp
index bc61e1db7173f141f609a346b180bc51675dc375..16b2fa79c7509a5ee38a6f912c5a2da0ebbf83ec 100644 (file)
@@ -113,7 +113,7 @@ void Program::collect_visited_blocks(const vector<SpirVModule::InstructionBlock>
 void Program::collect_uniforms(const SpirVModule &mod, const vector<uint8_t> &used_variables)
 {
        // Prepare the default block
-       reflect_data.uniform_blocks.push_back(ReflectData::UniformBlockInfo());
+       reflect_data.uniform_blocks.emplace_back();
        vector<vector<string> > block_uniform_names(1);
 
        const vector<SpirVModule::Variable> &variables = mod.get_variables();
@@ -126,7 +126,7 @@ void Program::collect_uniforms(const SpirVModule &mod, const vector<uint8_t> &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<uint8_t> &us
                        string prefix;
                        if(!v.name.empty())
                                prefix = v.struct_type->name+".";
-                       block_uniform_names.push_back(vector<string>());
+                       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<uint8_t> &
                        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;