1spv.precise.tese 2// Module Version 10000 3// Generated by (magic number): 8000b 4// Id's are bound by 119 5 6 Capability Tessellation 7 1: ExtInstImport "GLSL.std.450" 8 MemoryModel Logical GLSL450 9 EntryPoint TessellationEvaluation 4 "main" 12 21 62 112 10 ExecutionMode 4 Triangles 11 ExecutionMode 4 SpacingEqual 12 ExecutionMode 4 VertexOrderCcw 13 Source ESSL 310 14 SourceExtension "GL_EXT_gpu_shader5" 15 SourceExtension "GL_EXT_shader_io_blocks" 16 SourceExtension "GL_EXT_tessellation_shader" 17 Name 4 "main" 18 Name 9 "pos" 19 Name 12 "gl_TessCoord" 20 Name 21 "in_te_position" 21 Name 45 "f" 22 Name 62 "in_f_color" 23 Name 73 "bits" 24 Name 77 "numBits" 25 Name 78 "i" 26 Name 110 "gl_PerVertex" 27 MemberName 110(gl_PerVertex) 0 "gl_Position" 28 MemberName 110(gl_PerVertex) 1 "gl_PointSize" 29 Name 112 "" 30 Decorate 12(gl_TessCoord) BuiltIn TessCoord 31 Decorate 21(in_te_position) Location 0 32 Decorate 27 NoContraction 33 Decorate 34 NoContraction 34 Decorate 35 NoContraction 35 Decorate 42 NoContraction 36 Decorate 43 NoContraction 37 Decorate 62(in_f_color) RelaxedPrecision 38 Decorate 62(in_f_color) Location 0 39 Decorate 97 NoContraction 40 Decorate 99 NoContraction 41 Decorate 101 NoContraction 42 Decorate 106 NoContraction 43 Decorate 109 NoContraction 44 MemberDecorate 110(gl_PerVertex) 0 BuiltIn Position 45 MemberDecorate 110(gl_PerVertex) 1 BuiltIn PointSize 46 Decorate 110(gl_PerVertex) Block 47 2: TypeVoid 48 3: TypeFunction 2 49 6: TypeFloat 32 50 7: TypeVector 6(float) 2 51 8: TypePointer Function 7(fvec2) 52 10: TypeVector 6(float) 3 53 11: TypePointer Input 10(fvec3) 5412(gl_TessCoord): 11(ptr) Variable Input 55 13: TypeInt 32 0 56 14: 13(int) Constant 0 57 15: TypePointer Input 6(float) 58 18: 13(int) Constant 32 59 19: TypeArray 7(fvec2) 18 60 20: TypePointer Input 19 6121(in_te_position): 20(ptr) Variable Input 62 22: TypeInt 32 1 63 23: 22(int) Constant 0 64 24: TypePointer Input 7(fvec2) 65 28: 13(int) Constant 1 66 31: 22(int) Constant 1 67 36: 13(int) Constant 2 68 39: 22(int) Constant 2 69 44: TypePointer Function 6(float) 70 46: 6(float) Constant 1077936128 71 57: 6(float) Constant 1056964608 72 60: TypeVector 6(float) 4 73 61: TypePointer Output 60(fvec4) 74 62(in_f_color): 61(ptr) Variable Output 75 66: 6(float) Constant 1065353216 76 71: TypeVector 13(int) 2 77 72: TypePointer Function 71(ivec2) 78 76: TypePointer Function 13(int) 79 85: TypeBool 80 105: 6(float) Constant 1025758986 81110(gl_PerVertex): TypeStruct 60(fvec4) 6(float) 82 111: TypePointer Output 110(gl_PerVertex) 83 112: 111(ptr) Variable Output 84 114: 6(float) Constant 0 85 4(main): 2 Function None 3 86 5: Label 87 9(pos): 8(ptr) Variable Function 88 45(f): 44(ptr) Variable Function 89 73(bits): 72(ptr) Variable Function 90 77(numBits): 76(ptr) Variable Function 91 78(i): 76(ptr) Variable Function 92 16: 15(ptr) AccessChain 12(gl_TessCoord) 14 93 17: 6(float) Load 16 94 25: 24(ptr) AccessChain 21(in_te_position) 23 95 26: 7(fvec2) Load 25 96 27: 7(fvec2) VectorTimesScalar 26 17 97 29: 15(ptr) AccessChain 12(gl_TessCoord) 28 98 30: 6(float) Load 29 99 32: 24(ptr) AccessChain 21(in_te_position) 31 100 33: 7(fvec2) Load 32 101 34: 7(fvec2) VectorTimesScalar 33 30 102 35: 7(fvec2) FAdd 27 34 103 37: 15(ptr) AccessChain 12(gl_TessCoord) 36 104 38: 6(float) Load 37 105 40: 24(ptr) AccessChain 21(in_te_position) 39 106 41: 7(fvec2) Load 40 107 42: 7(fvec2) VectorTimesScalar 41 38 108 43: 7(fvec2) FAdd 35 42 109 Store 9(pos) 43 110 47: 15(ptr) AccessChain 12(gl_TessCoord) 14 111 48: 6(float) Load 47 112 49: 15(ptr) AccessChain 12(gl_TessCoord) 28 113 50: 6(float) Load 49 114 51: 15(ptr) AccessChain 12(gl_TessCoord) 36 115 52: 6(float) Load 51 116 53: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 50 52 117 54: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 48 53 118 55: 6(float) FMul 46 54 119 56: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 55 120 58: 6(float) FMul 56 57 121 59: 6(float) FAdd 58 57 122 Store 45(f) 59 123 63: 10(fvec3) Load 12(gl_TessCoord) 124 64: 6(float) Load 45(f) 125 65: 10(fvec3) VectorTimesScalar 63 64 126 67: 6(float) CompositeExtract 65 0 127 68: 6(float) CompositeExtract 65 1 128 69: 6(float) CompositeExtract 65 2 129 70: 60(fvec4) CompositeConstruct 67 68 69 66 130 Store 62(in_f_color) 70 131 74: 7(fvec2) Load 9(pos) 132 75: 71(ivec2) Bitcast 74 133 Store 73(bits) 75 134 Store 77(numBits) 14 135 Store 78(i) 14 136 Branch 79 137 79: Label 138 LoopMerge 81 82 None 139 Branch 83 140 83: Label 141 84: 13(int) Load 78(i) 142 86: 85(bool) ULessThan 84 18 143 BranchConditional 86 80 81 144 80: Label 145 87: 76(ptr) AccessChain 73(bits) 14 146 88: 13(int) Load 87 147 89: 13(int) Load 78(i) 148 90: 13(int) ShiftLeftLogical 88 89 149 91: 13(int) BitwiseAnd 90 28 150 92: 76(ptr) AccessChain 73(bits) 28 151 93: 13(int) Load 92 152 94: 13(int) Load 78(i) 153 95: 13(int) ShiftLeftLogical 93 94 154 96: 13(int) BitwiseAnd 95 28 155 97: 13(int) IAdd 91 96 156 98: 13(int) Load 77(numBits) 157 99: 13(int) IAdd 98 97 158 Store 77(numBits) 99 159 Branch 82 160 82: Label 161 100: 13(int) Load 78(i) 162 101: 13(int) IAdd 100 31 163 Store 78(i) 101 164 Branch 79 165 81: Label 166 102: 13(int) Load 77(numBits) 167 103: 13(int) BitwiseAnd 102 28 168 104: 6(float) ConvertUToF 103 169 106: 6(float) FMul 104 105 170 107: 7(fvec2) Load 9(pos) 171 108: 7(fvec2) CompositeConstruct 106 106 172 109: 7(fvec2) FAdd 107 108 173 Store 9(pos) 109 174 113: 7(fvec2) Load 9(pos) 175 115: 6(float) CompositeExtract 113 0 176 116: 6(float) CompositeExtract 113 1 177 117: 60(fvec4) CompositeConstruct 115 116 114 66 178 118: 61(ptr) AccessChain 112 23 179 Store 118 117 180 Return 181 FunctionEnd 182