X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Foptimize.cpp;h=1aad8d1b311adcecf27904b8e29efb49892d98a6;hp=f4626f3dfde4a30b91658d5e981b458fad9ab7c5;hb=50ab5ca2babc8d9592903da6072a13b381ed6656;hpb=e97feb2fdd27af970412eea6a03cc7270032a80b diff --git a/source/glsl/optimize.cpp b/source/glsl/optimize.cpp index f4626f3d..1aad8d1b 100644 --- a/source/glsl/optimize.cpp +++ b/source/glsl/optimize.cpp @@ -629,6 +629,29 @@ bool UnusedTypeRemover::apply(Stage &stage) return !unused_nodes.empty(); } +void UnusedTypeRemover::visit(Literal &literal) +{ + unused_nodes.erase(literal.type); +} + +void UnusedTypeRemover::visit(UnaryExpression &unary) +{ + unused_nodes.erase(unary.type); + TraversingVisitor::visit(unary); +} + +void UnusedTypeRemover::visit(BinaryExpression &binary) +{ + unused_nodes.erase(binary.type); + TraversingVisitor::visit(binary); +} + +void UnusedTypeRemover::visit(FunctionCall &call) +{ + unused_nodes.erase(call.type); + TraversingVisitor::visit(call); +} + void UnusedTypeRemover::visit(BasicTypeDeclaration &type) { if(type.base_type)