1 hlsl.hull.3.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 Triangles 232 ExecutionMode 4 SpacingEqual 233 ExecutionMode 4 PointMode 234 Source HLSL 500 235 Name 4 "main" 236 Name 8 "VS_OUT" 237 MemberName 8(VS_OUT) 0 "cpoint" 238 Name 13 "HS_OUT" 239 MemberName 13(HS_OUT) 0 "cpoint" 240 Name 16 "@main(struct-VS_OUT-vf31[4];" 241 Name 15 "ip" 242 Name 23 "HS_CONSTANT_OUT" 243 MemberName 23(HS_CONSTANT_OUT) 0 "edges" 244 Name 27 "PCF(u1;vf4;" 245 Name 25 "pid" 246 Name 26 "pos" 247 Name 30 "output" 248 Name 40 "ip" 249 Name 42 "ip" 250 Name 46 "@entryPointOutput" 251 Name 48 "InvocationId" 252 Name 50 "param" 253 Name 62 "@patchConstantResult" 254 Name 63 "pid" 255 Name 65 "pos" 256 Name 66 "param" 257 Name 68 "param" 258 Name 73 "@patchConstantOutput.edges" 259 Name 83 "output" 260 Decorate 42(ip) Location 0 261 Decorate 46(@entryPointOutput) Location 0 262 Decorate 48(InvocationId) BuiltIn InvocationId 263 Decorate 63(pid) BuiltIn PrimitiveId 264 Decorate 65(pos) BuiltIn Position 265 Decorate 73(@patchConstantOutput.edges) Patch 266 Decorate 73(@patchConstantOutput.edges) BuiltIn TessLevelOuter 267 2: TypeVoid 268 3: TypeFunction 2 269 6: TypeFloat 32 270 7: TypeVector 6(float) 3 271 8(VS_OUT): TypeStruct 7(fvec3) 272 9: TypeInt 32 0 273 10: 9(int) Constant 4 274 11: TypeArray 8(VS_OUT) 10 275 12: TypePointer Function 11 276 13(HS_OUT): TypeStruct 7(fvec3) 277 14: TypeFunction 13(HS_OUT) 12(ptr) 278 18: TypePointer Function 9(int) 279 19: TypeVector 6(float) 4 280 20: TypePointer Function 19(fvec4) 281 21: 9(int) Constant 2 282 22: TypeArray 6(float) 21 283 23(HS_CONSTANT_OUT): TypeStruct 22 284 24: TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr) 285 29: TypePointer Function 13(HS_OUT) 286 31: TypeInt 32 1 287 32: 31(int) Constant 0 288 33: TypePointer Function 7(fvec3) 289 41: TypePointer Input 11 290 42(ip): 41(ptr) Variable Input 291 44: TypeArray 13(HS_OUT) 10 292 45: TypePointer Output 44 293 46(@entryPointOutput): 45(ptr) Variable Output 294 47: TypePointer Input 9(int) 295 48(InvocationId): 47(ptr) Variable Input 296 53: TypePointer Output 13(HS_OUT) 297 55: 9(int) Constant 0 298 57: TypeBool 299 61: TypePointer Function 23(HS_CONSTANT_OUT) 300 63(pid): 47(ptr) Variable Input 301 64: TypePointer Input 19(fvec4) 302 65(pos): 64(ptr) Variable Input 303 71: TypeArray 6(float) 10 304 72: TypePointer Output 71 305 73(@patchConstantOutput.edges): 72(ptr) Variable Output 306 74: TypePointer Function 6(float) 307 77: TypePointer Output 6(float) 308 79: 31(int) Constant 1 309 84: 6(float) Constant 1073741824 310 86: 6(float) Constant 1090519040 311 4(main): 2 Function None 3 312 5: Label 313 40(ip): 12(ptr) Variable Function 314 50(param): 12(ptr) Variable Function 315 62(@patchConstantResult): 61(ptr) Variable Function 316 66(param): 18(ptr) Variable Function 317 68(param): 20(ptr) Variable Function 318 43: 11 Load 42(ip) 319 Store 40(ip) 43 320 49: 9(int) Load 48(InvocationId) 321 51: 11 Load 40(ip) 322 Store 50(param) 51 323 52: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 50(param) 324 54: 53(ptr) AccessChain 46(@entryPointOutput) 49 325 Store 54 52 326 ControlBarrier 21 10 55 327 56: 9(int) Load 48(InvocationId) 328 58: 57(bool) IEqual 56 32 329 SelectionMerge 60 None 330 BranchConditional 58 59 60 331 59: Label 332 67: 9(int) Load 63(pid) 333 Store 66(param) 67 334 69: 19(fvec4) Load 65(pos) 335 Store 68(param) 69 336 70:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 66(param) 68(param) 337 Store 62(@patchConstantResult) 70 338 75: 74(ptr) AccessChain 62(@patchConstantResult) 32 32 339 76: 6(float) Load 75 340 78: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 32 341 Store 78 76 342 80: 74(ptr) AccessChain 62(@patchConstantResult) 32 79 343 81: 6(float) Load 80 344 82: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 79 345 Store 82 81 346 Branch 60 347 60: Label 348 Return 349 FunctionEnd 350 16(@main(struct-VS_OUT-vf31[4];): 13(HS_OUT) Function None 14 351 15(ip): 12(ptr) FunctionParameter 352 17: Label 353 30(output): 29(ptr) Variable Function 354 34: 33(ptr) AccessChain 15(ip) 32 32 355 35: 7(fvec3) Load 34 356 36: 33(ptr) AccessChain 30(output) 32 357 Store 36 35 358 37: 13(HS_OUT) Load 30(output) 359 ReturnValue 37 360 FunctionEnd 361 27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24 362 25(pid): 18(ptr) FunctionParameter 363 26(pos): 20(ptr) FunctionParameter 364 28: Label 365 83(output): 61(ptr) Variable Function 366 85: 74(ptr) AccessChain 83(output) 32 32 367 Store 85 84 368 87: 74(ptr) AccessChain 83(output) 32 79 369 Store 87 86 370 88:23(HS_CONSTANT_OUT) Load 83(output) 371 ReturnValue 88 372 FunctionEnd 373