X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Freflect.cpp;h=32c7c7330d0577fde5c156f90d0e3b9925022518;hb=66cf095b3eeb3f5a37cc16231680a18d67b292fb;hp=811679f3295c320b30d2caaf8bb92d7ac164f992;hpb=9978e2f62777795bf478b301aadffdd0ee8cbd41;p=libs%2Fgl.git diff --git a/source/glsl/reflect.cpp b/source/glsl/reflect.cpp index 811679f3..32c7c733 100644 --- a/source/glsl/reflect.cpp +++ b/source/glsl/reflect.cpp @@ -296,7 +296,7 @@ void MemoryRequirementsCalculator::visit(StructDeclaration &strct) r_alignment = 1; r_offset = -1; s->visit(*this); - if(r_offset) + if(r_offset>=0) total = r_offset; total += r_alignment-1; total -= total%r_alignment; @@ -311,12 +311,7 @@ void MemoryRequirementsCalculator::visit(StructDeclaration &strct) void MemoryRequirementsCalculator::visit(VariableDeclaration &var) { - if(var.layout) - { - auto i = find_member(var.layout->qualifiers, string("offset"), &Layout::Qualifier::name); - if(i!=var.layout->qualifiers.end()) - r_offset = i->value; - } + r_offset = get_layout_value(var.layout.get(), "offset"); if(var.type_declaration) var.type_declaration->visit(*this);