X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Foptimize.cpp;h=f4626f3dfde4a30b91658d5e981b458fad9ab7c5;hb=eee19f5d5bbf16895fca44090d6491d5c9b504f5;hp=88a323992636b0642d05d4134ee81d68bdebce9c;hpb=a204b5fac497e2ffbc6791f0f7de9d9d12c16d52;p=libs%2Fgl.git diff --git a/source/glsl/optimize.cpp b/source/glsl/optimize.cpp index 88a32399..f4626f3d 100644 --- a/source/glsl/optimize.cpp +++ b/source/glsl/optimize.cpp @@ -646,6 +646,7 @@ void UnusedTypeRemover::visit(ImageTypeDeclaration &type) void UnusedTypeRemover::visit(StructDeclaration &strct) { unused_nodes.insert(&strct); + TraversingVisitor::visit(strct); } void UnusedTypeRemover::visit(VariableDeclaration &var) @@ -653,6 +654,12 @@ void UnusedTypeRemover::visit(VariableDeclaration &var) unused_nodes.erase(var.type_declaration); } +void UnusedTypeRemover::visit(FunctionDeclaration &func) +{ + unused_nodes.erase(func.return_type_declaration); + TraversingVisitor::visit(func); +} + UnusedVariableRemover::UnusedVariableRemover(): aggregate(0),