]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/finalize.cpp
Refactor layout qualifier creation with constructors
[libs/gl.git] / source / glsl / finalize.cpp
index 94007b8fc3eda25f24b91deff5425549de70ce15..192baec550e111313c76a5cde659e37c6604fba8 100644 (file)
@@ -55,11 +55,7 @@ void StructOrganizer::visit(VariableDeclaration &var)
                        if(!var.layout)
                                var.layout = new Layout;
 
-                       Layout::Qualifier qual;
-                       qual.name = "offset";
-                       qual.has_value = true;
-                       qual.value = offset;
-                       var.layout->qualifiers.push_back(qual);
+                       var.layout->qualifiers.push_back(Layout::Qualifier("offset", offset));
                }
 
                if(!has_matrix_order)
@@ -68,11 +64,7 @@ void StructOrganizer::visit(VariableDeclaration &var)
                        while(basic && basic->kind==BasicTypeDeclaration::ARRAY)
                                basic = dynamic_cast<const BasicTypeDeclaration *>(basic->base_type);
                        if(basic && basic->kind==BasicTypeDeclaration::MATRIX)
-                       {
-                               Layout::Qualifier qual;
-                               qual.name = "column_major";
-                               var.layout->qualifiers.push_back(qual);
-                       }
+                               var.layout->qualifiers.push_back(Layout::Qualifier("column_major"));
                }
 
                offset += mem_reqs.size;
@@ -177,11 +169,7 @@ void LocationAllocator::add_layout_value(RefPtr<Layout> &layout, const string &n
        if(!layout)
                layout = new Layout;
 
-       Layout::Qualifier qual;
-       qual.name = name;
-       qual.has_value = true;
-       qual.value = value;
-       layout->qualifiers.push_back(qual);
+       layout->qualifiers.push_back(Layout::Qualifier(name, value));
 }
 
 void LocationAllocator::visit(VariableDeclaration &var)