1 hlsl.hull.2.tesc 2 Shader version: 500 3 vertices = 4 4 vertex spacing = equal_spacing 5 0:? Sequence 6 0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) 7 0:26 Function Parameters: 8 0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) 9 0:? Sequence 10 0:28 move second child to first child ( temp 3-component vector of float) 11 0:28 cpoint: direct index for structure ( temp 3-component vector of float) 12 0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) 13 0:28 Constant: 14 0:28 0 (const int) 15 0:28 cpoint: direct index for structure ( temp 3-component vector of float) 16 0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) 17 0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) 18 0:28 Constant: 19 0:28 0 (const int) 20 0:28 Constant: 21 0:28 0 (const int) 22 0:29 Branch: Return with expression 23 0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) 24 0:26 Function Definition: main( ( temp void) 25 0:26 Function Parameters: 26 0:? Sequence 27 0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 28 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 29 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) 30 0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) 31 0:26 indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint}) 32 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint}) 33 0:? 'InvocationId' ( in uint InvocationID) 34 0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) 35 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 36 0:? Barrier ( temp void) 37 0:? Test condition and select ( temp void) 38 0:? Condition 39 0:? Compare Equal ( temp bool) 40 0:? 'InvocationId' ( in uint InvocationID) 41 0:? Constant: 42 0:? 0 (const int) 43 0:? true case 44 0:? Sequence 45 0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) 46 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 47 0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) 48 0:? 'pid' ( in uint PrimitiveID) 49 0:? 'pos' ( in 4-component vector of float Position) 50 0:? Sequence 51 0:? move second child to first child ( temp float) 52 0:? direct index ( patch out float TessLevelOuter) 53 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 54 0:? Constant: 55 0:? 0 (const int) 56 0:? direct index ( temp float) 57 0:? edges: direct index for structure ( temp 2-element array of float) 58 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 59 0:? Constant: 60 0:? 0 (const int) 61 0:? Constant: 62 0:? 0 (const int) 63 0:? move second child to first child ( temp float) 64 0:? direct index ( patch out float TessLevelOuter) 65 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 66 0:? Constant: 67 0:? 1 (const int) 68 0:? direct index ( temp float) 69 0:? edges: direct index for structure ( temp 2-element array of float) 70 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 71 0:? Constant: 72 0:? 0 (const int) 73 0:? Constant: 74 0:? 1 (const int) 75 0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) 76 0:33 Function Parameters: 77 0:33 'pid' ( in uint) 78 0:33 'pos' ( in 4-component vector of float) 79 0:? Sequence 80 0:36 move second child to first child ( temp float) 81 0:36 direct index ( temp float) 82 0:36 edges: direct index for structure ( temp 2-element array of float) 83 0:36 'output' ( temp structure{ temp 2-element array of float edges}) 84 0:36 Constant: 85 0:36 0 (const int) 86 0:36 Constant: 87 0:36 0 (const int) 88 0:36 Constant: 89 0:36 2.000000 90 0:37 move second child to first child ( temp float) 91 0:37 direct index ( temp float) 92 0:37 edges: direct index for structure ( temp 2-element array of float) 93 0:37 'output' ( temp structure{ temp 2-element array of float edges}) 94 0:37 Constant: 95 0:37 0 (const int) 96 0:37 Constant: 97 0:37 1 (const int) 98 0:37 Constant: 99 0:37 8.000000 100 0:38 Branch: Return with expression 101 0:38 'output' ( temp structure{ temp 2-element array of float edges}) 102 0:? Linker Objects 103 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint}) 104 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) 105 0:? 'InvocationId' ( in uint InvocationID) 106 0:? 'pid' ( in uint PrimitiveID) 107 0:? 'pos' ( in 4-component vector of float Position) 108 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 109 110 111 Linked tessellation control stage: 112 113 114 Shader version: 500 115 vertices = 4 116 vertex spacing = equal_spacing 117 0:? Sequence 118 0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) 119 0:26 Function Parameters: 120 0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) 121 0:? Sequence 122 0:28 move second child to first child ( temp 3-component vector of float) 123 0:28 cpoint: direct index for structure ( temp 3-component vector of float) 124 0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) 125 0:28 Constant: 126 0:28 0 (const int) 127 0:28 cpoint: direct index for structure ( temp 3-component vector of float) 128 0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) 129 0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) 130 0:28 Constant: 131 0:28 0 (const int) 132 0:28 Constant: 133 0:28 0 (const int) 134 0:29 Branch: Return with expression 135 0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) 136 0:26 Function Definition: main( ( temp void) 137 0:26 Function Parameters: 138 0:? Sequence 139 0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 140 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 141 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) 142 0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) 143 0:26 indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint}) 144 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint}) 145 0:? 'InvocationId' ( in uint InvocationID) 146 0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) 147 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) 148 0:? Barrier ( temp void) 149 0:? Test condition and select ( temp void) 150 0:? Condition 151 0:? Compare Equal ( temp bool) 152 0:? 'InvocationId' ( in uint InvocationID) 153 0:? Constant: 154 0:? 0 (const int) 155 0:? true case 156 0:? Sequence 157 0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) 158 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 159 0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) 160 0:? 'pid' ( in uint PrimitiveID) 161 0:? 'pos' ( in 4-component vector of float Position) 162 0:? Sequence 163 0:? move second child to first child ( temp float) 164 0:? direct index ( patch out float TessLevelOuter) 165 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 166 0:? Constant: 167 0:? 0 (const int) 168 0:? direct index ( temp float) 169 0:? edges: direct index for structure ( temp 2-element array of float) 170 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 171 0:? Constant: 172 0:? 0 (const int) 173 0:? Constant: 174 0:? 0 (const int) 175 0:? move second child to first child ( temp float) 176 0:? direct index ( patch out float TessLevelOuter) 177 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 178 0:? Constant: 179 0:? 1 (const int) 180 0:? direct index ( temp float) 181 0:? edges: direct index for structure ( temp 2-element array of float) 182 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) 183 0:? Constant: 184 0:? 0 (const int) 185 0:? Constant: 186 0:? 1 (const int) 187 0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) 188 0:33 Function Parameters: 189 0:33 'pid' ( in uint) 190 0:33 'pos' ( in 4-component vector of float) 191 0:? Sequence 192 0:36 move second child to first child ( temp float) 193 0:36 direct index ( temp float) 194 0:36 edges: direct index for structure ( temp 2-element array of float) 195 0:36 'output' ( temp structure{ temp 2-element array of float edges}) 196 0:36 Constant: 197 0:36 0 (const int) 198 0:36 Constant: 199 0:36 0 (const int) 200 0:36 Constant: 201 0:36 2.000000 202 0:37 move second child to first child ( temp float) 203 0:37 direct index ( temp float) 204 0:37 edges: direct index for structure ( temp 2-element array of float) 205 0:37 'output' ( temp structure{ temp 2-element array of float edges}) 206 0:37 Constant: 207 0:37 0 (const int) 208 0:37 Constant: 209 0:37 1 (const int) 210 0:37 Constant: 211 0:37 8.000000 212 0:38 Branch: Return with expression 213 0:38 'output' ( temp structure{ temp 2-element array of float edges}) 214 0:? Linker Objects 215 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint}) 216 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) 217 0:? 'InvocationId' ( in uint InvocationID) 218 0:? 'pid' ( in uint PrimitiveID) 219 0:? 'pos' ( in 4-component vector of float Position) 220 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 221 222 // Module Version 10000 223 // Generated by (magic number): 80007 224 // Id's are bound by 91 225 226 Capability Tessellation 227 1: ExtInstImport "GLSL.std.450" 228 MemoryModel Logical GLSL450 229 EntryPoint TessellationControl 4 "main" 42 46 48 63 65 73 230 ExecutionMode 4 OutputVertices 4 231 ExecutionMode 4 Isolines 232 ExecutionMode 4 SpacingEqual 233 Source HLSL 500 234 Name 4 "main" 235 Name 8 "VS_OUT" 236 MemberName 8(VS_OUT) 0 "cpoint" 237 Name 13 "HS_OUT" 238 MemberName 13(HS_OUT) 0 "cpoint" 239 Name 16 "@main(struct-VS_OUT-vf31[4];" 240 Name 15 "ip" 241 Name 23 "HS_CONSTANT_OUT" 242 MemberName 23(HS_CONSTANT_OUT) 0 "edges" 243 Name 27 "PCF(u1;vf4;" 244 Name 25 "pid" 245 Name 26 "pos" 246 Name 30 "output" 247 Name 40 "ip" 248 Name 42 "ip" 249 Name 46 "@entryPointOutput" 250 Name 48 "InvocationId" 251 Name 50 "param" 252 Name 62 "@patchConstantResult" 253 Name 63 "pid" 254 Name 65 "pos" 255 Name 66 "param" 256 Name 68 "param" 257 Name 73 "@patchConstantOutput.edges" 258 Name 83 "output" 259 Decorate 42(ip) Location 0 260 Decorate 46(@entryPointOutput) Location 0 261 Decorate 48(InvocationId) BuiltIn InvocationId 262 Decorate 63(pid) BuiltIn PrimitiveId 263 Decorate 65(pos) BuiltIn Position 264 Decorate 73(@patchConstantOutput.edges) Patch 265 Decorate 73(@patchConstantOutput.edges) BuiltIn TessLevelOuter 266 2: TypeVoid 267 3: TypeFunction 2 268 6: TypeFloat 32 269 7: TypeVector 6(float) 3 270 8(VS_OUT): TypeStruct 7(fvec3) 271 9: TypeInt 32 0 272 10: 9(int) Constant 4 273 11: TypeArray 8(VS_OUT) 10 274 12: TypePointer Function 11 275 13(HS_OUT): TypeStruct 7(fvec3) 276 14: TypeFunction 13(HS_OUT) 12(ptr) 277 18: TypePointer Function 9(int) 278 19: TypeVector 6(float) 4 279 20: TypePointer Function 19(fvec4) 280 21: 9(int) Constant 2 281 22: TypeArray 6(float) 21 282 23(HS_CONSTANT_OUT): TypeStruct 22 283 24: TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr) 284 29: TypePointer Function 13(HS_OUT) 285 31: TypeInt 32 1 286 32: 31(int) Constant 0 287 33: TypePointer Function 7(fvec3) 288 41: TypePointer Input 11 289 42(ip): 41(ptr) Variable Input 290 44: TypeArray 13(HS_OUT) 10 291 45: TypePointer Output 44 292 46(@entryPointOutput): 45(ptr) Variable Output 293 47: TypePointer Input 9(int) 294 48(InvocationId): 47(ptr) Variable Input 295 53: TypePointer Output 13(HS_OUT) 296 55: 9(int) Constant 0 297 57: TypeBool 298 61: TypePointer Function 23(HS_CONSTANT_OUT) 299 63(pid): 47(ptr) Variable Input 300 64: TypePointer Input 19(fvec4) 301 65(pos): 64(ptr) Variable Input 302 71: TypeArray 6(float) 10 303 72: TypePointer Output 71 304 73(@patchConstantOutput.edges): 72(ptr) Variable Output 305 74: TypePointer Function 6(float) 306 77: TypePointer Output 6(float) 307 79: 31(int) Constant 1 308 84: 6(float) Constant 1073741824 309 86: 6(float) Constant 1090519040 310 4(main): 2 Function None 3 311 5: Label 312 40(ip): 12(ptr) Variable Function 313 50(param): 12(ptr) Variable Function 314 62(@patchConstantResult): 61(ptr) Variable Function 315 66(param): 18(ptr) Variable Function 316 68(param): 20(ptr) Variable Function 317 43: 11 Load 42(ip) 318 Store 40(ip) 43 319 49: 9(int) Load 48(InvocationId) 320 51: 11 Load 40(ip) 321 Store 50(param) 51 322 52: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 50(param) 323 54: 53(ptr) AccessChain 46(@entryPointOutput) 49 324 Store 54 52 325 ControlBarrier 21 10 55 326 56: 9(int) Load 48(InvocationId) 327 58: 57(bool) IEqual 56 32 328 SelectionMerge 60 None 329 BranchConditional 58 59 60 330 59: Label 331 67: 9(int) Load 63(pid) 332 Store 66(param) 67 333 69: 19(fvec4) Load 65(pos) 334 Store 68(param) 69 335 70:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 66(param) 68(param) 336 Store 62(@patchConstantResult) 70 337 75: 74(ptr) AccessChain 62(@patchConstantResult) 32 32 338 76: 6(float) Load 75 339 78: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 32 340 Store 78 76 341 80: 74(ptr) AccessChain 62(@patchConstantResult) 32 79 342 81: 6(float) Load 80 343 82: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 79 344 Store 82 81 345 Branch 60 346 60: Label 347 Return 348 FunctionEnd 349 16(@main(struct-VS_OUT-vf31[4];): 13(HS_OUT) Function None 14 350 15(ip): 12(ptr) FunctionParameter 351 17: Label 352 30(output): 29(ptr) Variable Function 353 34: 33(ptr) AccessChain 15(ip) 32 32 354 35: 7(fvec3) Load 34 355 36: 33(ptr) AccessChain 30(output) 32 356 Store 36 35 357 37: 13(HS_OUT) Load 30(output) 358 ReturnValue 37 359 FunctionEnd 360 27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24 361 25(pid): 18(ptr) FunctionParameter 362 26(pos): 20(ptr) FunctionParameter 363 28: Label 364 83(output): 61(ptr) Variable Function 365 85: 74(ptr) AccessChain 83(output) 32 32 366 Store 85 84 367 87: 74(ptr) AccessChain 83(output) 32 79 368 Store 87 86 369 88:23(HS_CONSTANT_OUT) Load 83(output) 370 ReturnValue 88 371 FunctionEnd 372