tcu::StringTemplate tessControlShaderBoilerplate(
"OpCapability Tessellation\n"
"OpMemoryModel Logical GLSL450\n"
- "OpEntryPoint TessellationControl %BP_main \"main\" %BP_out_color %BP_gl_InvocationID %BP_in_color %BP_out_position %BP_in_position %BP_gl_TessCoordOuter %BP_gl_TessCoordInner\n"
+ "OpEntryPoint TessellationControl %BP_main \"main\" %BP_out_color %BP_gl_InvocationID %BP_in_color %BP_out_position %BP_in_position %BP_gl_TessLevelOuter %BP_gl_TessLevelInner\n"
"OpExecutionMode %BP_main OutputVertices 3\n"
"${debug:opt}\n"
"OpName %BP_main \"main\"\n"
"OpName %BP_in_color \"in_color\"\n"
"OpName %BP_out_position \"out_position\"\n"
"OpName %BP_in_position \"in_position\"\n"
- "OpName %BP_gl_TessCoordOuter \"gl_TessLevelOuter\"\n"
- "OpName %BP_gl_TessCoordInner \"gl_TessLevelInner\"\n"
+ "OpName %BP_gl_TessLevelOuter \"gl_TessLevelOuter\"\n"
+ "OpName %BP_gl_TessLevelInner \"gl_TessLevelInner\"\n"
"OpName %test_code \"testfun(vf4;\"\n"
"OpDecorate %BP_out_color Location 1\n"
"OpDecorate %BP_gl_InvocationID BuiltIn InvocationId\n"
"OpDecorate %BP_in_color Location 1\n"
"OpDecorate %BP_out_position Location 2\n"
"OpDecorate %BP_in_position Location 2\n"
- "OpDecorate %BP_gl_TessCoordOuter Patch\n"
- "OpDecorate %BP_gl_TessCoordOuter BuiltIn TessLevelOuter\n"
- "OpDecorate %BP_gl_TessCoordInner Patch\n"
- "OpDecorate %BP_gl_TessCoordInner BuiltIn TessLevelInner\n"
+ "OpDecorate %BP_gl_TessLevelOuter Patch\n"
+ "OpDecorate %BP_gl_TessLevelOuter BuiltIn TessLevelOuter\n"
+ "OpDecorate %BP_gl_TessLevelInner Patch\n"
+ "OpDecorate %BP_gl_TessLevelInner BuiltIn TessLevelInner\n"
TYPES
CONSTANTS
ARRAYS
"%BP_in_color = OpVariable %ip_a32v4f32 Input\n"
"%BP_out_position = OpVariable %op_a3v4f32 Output\n"
"%BP_in_position = OpVariable %ip_a32v4f32 Input\n"
- "%BP_gl_TessCoordOuter = OpVariable %op_a4f32 Output\n"
- "%BP_gl_TessCoordInner = OpVariable %op_a2f32 Output\n"
+ "%BP_gl_TessLevelOuter = OpVariable %op_a4f32 Output\n"
+ "%BP_gl_TessLevelInner = OpVariable %op_a2f32 Output\n"
"%BP_main = OpFunction %void None %fun\n"
"%BP_label = OpLabel\n"
"OpBranchConditional %BP_is_first_invocation %BP_first_invocation %BP_merge_label\n"
"%BP_first_invocation = OpLabel\n"
- "%BP_tess_outer_0 = OpAccessChain %op_f32 %BP_gl_TessCoordOuter %c_i32_0\n"
- "%BP_tess_outer_1 = OpAccessChain %op_f32 %BP_gl_TessCoordOuter %c_i32_1\n"
- "%BP_tess_outer_2 = OpAccessChain %op_f32 %BP_gl_TessCoordOuter %c_i32_2\n"
- "%BP_tess_inner = OpAccessChain %op_f32 %BP_gl_TessCoordInner %c_i32_0\n"
+ "%BP_tess_outer_0 = OpAccessChain %op_f32 %BP_gl_TessLevelOuter %c_i32_0\n"
+ "%BP_tess_outer_1 = OpAccessChain %op_f32 %BP_gl_TessLevelOuter %c_i32_1\n"
+ "%BP_tess_outer_2 = OpAccessChain %op_f32 %BP_gl_TessLevelOuter %c_i32_2\n"
+ "%BP_tess_inner = OpAccessChain %op_f32 %BP_gl_TessLevelInner %c_i32_0\n"
"OpStore %BP_tess_outer_0 %c_f32_1\n"
"OpStore %BP_tess_outer_1 %c_f32_1\n"