(Program program, String filename)
| 2704 | } |
| 2705 | |
| 2706 | private static int createGeomShader(Program program, String filename) |
| 2707 | { |
| 2708 | int i = ARBShaderObjects.glCreateShaderObjectARB(36313); |
| 2709 | |
| 2710 | if (i == 0) |
| 2711 | { |
| 2712 | return 0; |
| 2713 | } |
| 2714 | else |
| 2715 | { |
| 2716 | StringBuilder stringbuilder = new StringBuilder(131072); |
| 2717 | BufferedReader bufferedreader = null; |
| 2718 | |
| 2719 | try |
| 2720 | { |
| 2721 | bufferedreader = new BufferedReader(getShaderReader(filename)); |
| 2722 | } |
| 2723 | catch (Exception var11) |
| 2724 | { |
| 2725 | ARBShaderObjects.glDeleteObjectARB(i); |
| 2726 | return 0; |
| 2727 | } |
| 2728 | |
| 2729 | ShaderOption[] ashaderoption = getChangedOptions(shaderPackOptions); |
| 2730 | List<String> list = new ArrayList(); |
| 2731 | progArbGeometryShader4 = false; |
| 2732 | progMaxVerticesOut = 3; |
| 2733 | |
| 2734 | if (bufferedreader != null) |
| 2735 | { |
| 2736 | try |
| 2737 | { |
| 2738 | bufferedreader = ShaderPackParser.resolveIncludes(bufferedreader, filename, shaderPack, 0, list, 0); |
| 2739 | MacroState macrostate = new MacroState(); |
| 2740 | |
| 2741 | while (true) |
| 2742 | { |
| 2743 | String s = bufferedreader.readLine(); |
| 2744 | |
| 2745 | if (s == null) |
| 2746 | { |
| 2747 | bufferedreader.close(); |
| 2748 | break; |
| 2749 | } |
| 2750 | |
| 2751 | s = applyOptions(s, ashaderoption); |
| 2752 | stringbuilder.append(s).append('\n'); |
| 2753 | |
| 2754 | if (macrostate.processLine(s)) |
| 2755 | { |
| 2756 | ShaderLine shaderline = ShaderParser.parseLine(s); |
| 2757 | |
| 2758 | if (shaderline != null) |
| 2759 | { |
| 2760 | if (shaderline.isExtension("GL_ARB_geometry_shader4")) |
| 2761 | { |
| 2762 | String s1 = Config.normalize(shaderline.getValue()); |
| 2763 |
no test coverage detected