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