@Override public LayoutQualifier visitLayout_qualifier(Layout_qualifierContext ctx) { return new LayoutQualifier(ctx .layout_qualifier_id_list().getText()); }
@Override public void visitDefaultLayout(DefaultLayout defaultLayout) { out.append(indent()); out.append(defaultLayout.getLayoutQualifier().toString()); out.append(" "); out.append(defaultLayout.getTypeQualifier().toString()); out.append(";" + newLine()); }
/** * This *mutator* method changes all occurrences of gl_FragColor to use the given name. * @param tu The translation unit to be mutated. * @param colorName The replacement name for gl_FragColor. */ public static void avoidDeprecatedGlFragColor(TranslationUnit tu, String colorName) { new AvoidDeprecatedGlFragColor(colorName).visit(tu); tu.addDeclaration(new VariablesDeclaration( new QualifiedType(BasicType.VEC4, Arrays.asList( new LayoutQualifier("location = 0"), TypeQualifier.SHADER_OUTPUT)), new VariableDeclInfo(colorName, null, null) )); }
@Override public void visitInterfaceBlock(InterfaceBlock interfaceBlock) { out.append(indent()); if (interfaceBlock.hasLayoutQualifier()) { out.append(interfaceBlock.getLayoutQualifier().toString() + " "); } out.append(interfaceBlock.getInterfaceQualifier() + " " + interfaceBlock.getStructName() + " {" + newLine()); increaseIndent(); for (String memberName : interfaceBlock.getMemberNames()) { out.append(indent()); visit(interfaceBlock.getMemberType(memberName)); out.append(" " + memberName); processArrayInfo(interfaceBlock.getMemberType(memberName)); out.append(";" + newLine()); } decreaseIndent(); out.append("}"); if (interfaceBlock.hasIdentifierName()) { out.append(" " + interfaceBlock.getInstanceName()); } out.append(";" + newLine()); }
newTopLevelDeclarations.add( new InterfaceBlock( Optional.of(new LayoutQualifier("set = 0, binding = " + binding)), TypeQualifier.UNIFORM, "buf" + binding,