1 hlsl.gs-hs-mix.tesc 2 Shader version: 500 3 vertices = 3 4 input primitive = triangles 5 vertex spacing = fractional_odd_spacing 6 triangle order = ccw 7 0:? Sequence 8 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 9 0:31 Function Parameters: 10 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 11 0:? Sequence 12 0:32 Sequence 13 0:32 move second child to first child ( temp 3-component vector of float) 14 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float) 15 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float) 16 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 17 0:32 Constant: 18 0:32 6 (const uint) 19 0:33 Sequence 20 0:33 move second child to first child ( temp float) 21 0:33 'roundedInsideTessFactor' ( temp float) 22 0:33 Constant: 23 0:33 3.000000 24 0:34 Sequence 25 0:34 move second child to first child ( temp float) 26 0:34 'insideTessFactor' ( temp float) 27 0:34 Constant: 28 0:34 1.000000 29 0:39 move second child to first child ( temp float) 30 0:39 direct index ( temp float) 31 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 32 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 33 0:39 Constant: 34 0:39 0 (const int) 35 0:39 Constant: 36 0:39 0 (const int) 37 0:39 direct index ( temp float) 38 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float) 39 0:39 Constant: 40 0:39 0 (const int) 41 0:40 move second child to first child ( temp float) 42 0:40 direct index ( temp float) 43 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 44 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 45 0:40 Constant: 46 0:40 0 (const int) 47 0:40 Constant: 48 0:40 1 (const int) 49 0:40 direct index ( temp float) 50 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float) 51 0:40 Constant: 52 0:40 1 (const int) 53 0:41 move second child to first child ( temp float) 54 0:41 direct index ( temp float) 55 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 56 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 57 0:41 Constant: 58 0:41 0 (const int) 59 0:41 Constant: 60 0:41 2 (const int) 61 0:41 direct index ( temp float) 62 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float) 63 0:41 Constant: 64 0:41 2 (const int) 65 0:42 move second child to first child ( temp float) 66 0:42 InsideTessFactor: direct index for structure ( temp float) 67 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 68 0:42 Constant: 69 0:42 1 (const int) 70 0:42 'roundedInsideTessFactor' ( temp float) 71 0:45 move second child to first child ( temp 3-component vector of float) 72 0:45 direct index ( temp 3-component vector of float) 73 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 74 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 75 0:45 Constant: 76 0:45 2 (const int) 77 0:45 Constant: 78 0:45 0 (const int) 79 0:45 NormalWS: direct index for structure ( temp 3-component vector of float) 80 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 81 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 82 0:45 Constant: 83 0:45 0 (const int) 84 0:45 Constant: 85 0:45 1 (const int) 86 0:46 move second child to first child ( temp 3-component vector of float) 87 0:46 direct index ( temp 3-component vector of float) 88 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 89 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 90 0:46 Constant: 91 0:46 2 (const int) 92 0:46 Constant: 93 0:46 1 (const int) 94 0:46 NormalWS: direct index for structure ( temp 3-component vector of float) 95 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 96 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 97 0:46 Constant: 98 0:46 1 (const int) 99 0:46 Constant: 100 0:46 1 (const int) 101 0:47 move second child to first child ( temp 3-component vector of float) 102 0:47 direct index ( temp 3-component vector of float) 103 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 104 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 105 0:47 Constant: 106 0:47 2 (const int) 107 0:47 Constant: 108 0:47 2 (const int) 109 0:47 NormalWS: direct index for structure ( temp 3-component vector of float) 110 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 111 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 112 0:47 Constant: 113 0:47 2 (const int) 114 0:47 Constant: 115 0:47 1 (const int) 116 0:49 Branch: Return with expression 117 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 118 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 119 0:61 Function Parameters: 120 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 121 0:61 'id' ( in uint) 122 0:? Sequence 123 0:63 move second child to first child ( temp 3-component vector of float) 124 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 125 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 126 0:63 Constant: 127 0:63 0 (const int) 128 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 129 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 130 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 131 0:63 'id' ( in uint) 132 0:63 Constant: 133 0:63 0 (const int) 134 0:64 Branch: Return with expression 135 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 136 0:61 Function Definition: HSMain( ( temp void) 137 0:61 Function Parameters: 138 0:? Sequence 139 0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 140 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 141 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 142 0:61 move second child to first child ( temp uint) 143 0:? 'id' ( temp uint) 144 0:? 'id' ( in uint InvocationID) 145 0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS}) 146 0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS}) 147 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 148 0:? 'id' ( in uint InvocationID) 149 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 150 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 151 0:? 'id' ( temp uint) 152 0:? Barrier ( temp void) 153 0:? Test condition and select ( temp void) 154 0:? Condition 155 0:? Compare Equal ( temp bool) 156 0:? 'id' ( in uint InvocationID) 157 0:? Constant: 158 0:? 0 (const int) 159 0:? true case 160 0:? Sequence 161 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 162 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 163 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 164 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 165 0:? Sequence 166 0:? move second child to first child ( temp float) 167 0:? direct index ( patch out float TessLevelOuter) 168 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 169 0:? Constant: 170 0:? 0 (const int) 171 0:? direct index ( temp float) 172 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 173 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 174 0:? Constant: 175 0:? 0 (const int) 176 0:? Constant: 177 0:? 0 (const int) 178 0:? move second child to first child ( temp float) 179 0:? direct index ( patch out float TessLevelOuter) 180 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 181 0:? Constant: 182 0:? 1 (const int) 183 0:? direct index ( temp float) 184 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 185 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 186 0:? Constant: 187 0:? 0 (const int) 188 0:? Constant: 189 0:? 1 (const int) 190 0:? move second child to first child ( temp float) 191 0:? direct index ( patch out float TessLevelOuter) 192 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 193 0:? Constant: 194 0:? 2 (const int) 195 0:? direct index ( temp float) 196 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 197 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 198 0:? Constant: 199 0:? 0 (const int) 200 0:? Constant: 201 0:? 2 (const int) 202 0:? move second child to first child ( temp float) 203 0:? direct index ( patch out float TessLevelInner) 204 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 205 0:? Constant: 206 0:? 0 (const int) 207 0:? InsideTessFactor: direct index for structure ( temp float) 208 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 209 0:? Constant: 210 0:? 1 (const int) 211 0:? move second child to first child ( temp 3-element array of 3-component vector of float) 212 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 213 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 214 0:? Constant: 215 0:? 0 (const int) 216 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 217 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 218 0:? Constant: 219 0:? 2 (const int) 220 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void) 221 0:84 Function Parameters: 222 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 223 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS}) 224 0:? Sequence 225 0:86 Sequence 226 0:86 move second child to first child ( temp 3-component vector of float) 227 0:86 'P0' ( temp 3-component vector of float) 228 0:86 vector swizzle ( temp 3-component vector of float) 229 0:86 PositionWS: direct index for structure ( temp 3-component vector of float) 230 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 231 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 232 0:86 Constant: 233 0:86 0 (const int) 234 0:86 Constant: 235 0:86 0 (const int) 236 0:86 Sequence 237 0:86 Constant: 238 0:86 0 (const int) 239 0:86 Constant: 240 0:86 1 (const int) 241 0:86 Constant: 242 0:86 2 (const int) 243 0:87 Sequence 244 0:87 move second child to first child ( temp 3-component vector of float) 245 0:87 'P1' ( temp 3-component vector of float) 246 0:87 vector swizzle ( temp 3-component vector of float) 247 0:87 PositionWS: direct index for structure ( temp 3-component vector of float) 248 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 249 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 250 0:87 Constant: 251 0:87 1 (const int) 252 0:87 Constant: 253 0:87 0 (const int) 254 0:87 Sequence 255 0:87 Constant: 256 0:87 0 (const int) 257 0:87 Constant: 258 0:87 1 (const int) 259 0:87 Constant: 260 0:87 2 (const int) 261 0:88 Sequence 262 0:88 move second child to first child ( temp 3-component vector of float) 263 0:88 'P2' ( temp 3-component vector of float) 264 0:88 vector swizzle ( temp 3-component vector of float) 265 0:88 PositionWS: direct index for structure ( temp 3-component vector of float) 266 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 267 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 268 0:88 Constant: 269 0:88 2 (const int) 270 0:88 Constant: 271 0:88 0 (const int) 272 0:88 Sequence 273 0:88 Constant: 274 0:88 0 (const int) 275 0:88 Constant: 276 0:88 1 (const int) 277 0:88 Constant: 278 0:88 2 (const int) 279 0:92 add second child into first child ( temp float) 280 0:92 direct index ( temp float) 281 0:92 'P0' ( temp 3-component vector of float) 282 0:92 Constant: 283 0:92 2 (const int) 284 0:92 Constant: 285 0:92 0.001000 286 0:93 add second child into first child ( temp float) 287 0:93 direct index ( temp float) 288 0:93 'P1' ( temp 3-component vector of float) 289 0:93 Constant: 290 0:93 2 (const int) 291 0:93 Constant: 292 0:93 0.001000 293 0:94 add second child into first child ( temp float) 294 0:94 direct index ( temp float) 295 0:94 'P2' ( temp 3-component vector of float) 296 0:94 Constant: 297 0:94 2 (const int) 298 0:94 Constant: 299 0:94 0.001000 300 0:95 Sequence 301 0:95 move second child to first child ( temp 4-component vector of float) 302 0:95 'Q0' ( temp 4-component vector of float) 303 0:95 vector-times-matrix ( temp 4-component vector of float) 304 0:? Construct vec4 ( temp 4-component vector of float) 305 0:95 'P0' ( temp 3-component vector of float) 306 0:95 Constant: 307 0:95 1.000000 308 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 309 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 310 0:95 Constant: 311 0:95 1 (const uint) 312 0:96 Sequence 313 0:96 move second child to first child ( temp 4-component vector of float) 314 0:96 'Q1' ( temp 4-component vector of float) 315 0:96 vector-times-matrix ( temp 4-component vector of float) 316 0:? Construct vec4 ( temp 4-component vector of float) 317 0:96 'P1' ( temp 3-component vector of float) 318 0:96 Constant: 319 0:96 1.000000 320 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 321 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 322 0:96 Constant: 323 0:96 1 (const uint) 324 0:97 Sequence 325 0:97 move second child to first child ( temp 4-component vector of float) 326 0:97 'Q2' ( temp 4-component vector of float) 327 0:97 vector-times-matrix ( temp 4-component vector of float) 328 0:? Construct vec4 ( temp 4-component vector of float) 329 0:97 'P2' ( temp 3-component vector of float) 330 0:97 Constant: 331 0:97 1.000000 332 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 333 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 334 0:97 Constant: 335 0:97 1 (const uint) 336 0:100 move second child to first child ( temp 4-component vector of float) 337 0:100 PositionCS: direct index for structure ( temp 4-component vector of float) 338 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 339 0:100 Constant: 340 0:100 0 (const int) 341 0:100 'Q0' ( temp 4-component vector of float) 342 0:101 Constant: 343 0:101 0.000000 344 0:102 move second child to first child ( temp 4-component vector of float) 345 0:102 PositionCS: direct index for structure ( temp 4-component vector of float) 346 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 347 0:102 Constant: 348 0:102 0 (const int) 349 0:102 'Q1' ( temp 4-component vector of float) 350 0:103 Constant: 351 0:103 0.000000 352 0:104 Constant: 353 0:104 0.000000 354 0:107 move second child to first child ( temp 4-component vector of float) 355 0:107 PositionCS: direct index for structure ( temp 4-component vector of float) 356 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 357 0:107 Constant: 358 0:107 0 (const int) 359 0:107 'Q1' ( temp 4-component vector of float) 360 0:108 Constant: 361 0:108 0.000000 362 0:109 move second child to first child ( temp 4-component vector of float) 363 0:109 PositionCS: direct index for structure ( temp 4-component vector of float) 364 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 365 0:109 Constant: 366 0:109 0 (const int) 367 0:109 'Q2' ( temp 4-component vector of float) 368 0:110 Constant: 369 0:110 0.000000 370 0:111 Constant: 371 0:111 0.000000 372 0:114 move second child to first child ( temp 4-component vector of float) 373 0:114 PositionCS: direct index for structure ( temp 4-component vector of float) 374 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 375 0:114 Constant: 376 0:114 0 (const int) 377 0:114 'Q2' ( temp 4-component vector of float) 378 0:115 Constant: 379 0:115 0.000000 380 0:116 move second child to first child ( temp 4-component vector of float) 381 0:116 PositionCS: direct index for structure ( temp 4-component vector of float) 382 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 383 0:116 Constant: 384 0:116 0 (const int) 385 0:116 'Q0' ( temp 4-component vector of float) 386 0:117 Constant: 387 0:117 0.000000 388 0:118 Constant: 389 0:118 0.000000 390 0:? Linker Objects 391 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 392 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 393 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 394 0:? 'id' ( in uint InvocationID) 395 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 396 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 397 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 398 399 400 Linked tessellation control stage: 401 402 403 Shader version: 500 404 vertices = 3 405 input primitive = triangles 406 vertex spacing = fractional_odd_spacing 407 triangle order = ccw 408 0:? Sequence 409 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 410 0:31 Function Parameters: 411 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 412 0:? Sequence 413 0:32 Sequence 414 0:32 move second child to first child ( temp 3-component vector of float) 415 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float) 416 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float) 417 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 418 0:32 Constant: 419 0:32 6 (const uint) 420 0:33 Sequence 421 0:33 move second child to first child ( temp float) 422 0:33 'roundedInsideTessFactor' ( temp float) 423 0:33 Constant: 424 0:33 3.000000 425 0:34 Sequence 426 0:34 move second child to first child ( temp float) 427 0:34 'insideTessFactor' ( temp float) 428 0:34 Constant: 429 0:34 1.000000 430 0:39 move second child to first child ( temp float) 431 0:39 direct index ( temp float) 432 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 433 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 434 0:39 Constant: 435 0:39 0 (const int) 436 0:39 Constant: 437 0:39 0 (const int) 438 0:39 direct index ( temp float) 439 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float) 440 0:39 Constant: 441 0:39 0 (const int) 442 0:40 move second child to first child ( temp float) 443 0:40 direct index ( temp float) 444 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 445 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 446 0:40 Constant: 447 0:40 0 (const int) 448 0:40 Constant: 449 0:40 1 (const int) 450 0:40 direct index ( temp float) 451 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float) 452 0:40 Constant: 453 0:40 1 (const int) 454 0:41 move second child to first child ( temp float) 455 0:41 direct index ( temp float) 456 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 457 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 458 0:41 Constant: 459 0:41 0 (const int) 460 0:41 Constant: 461 0:41 2 (const int) 462 0:41 direct index ( temp float) 463 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float) 464 0:41 Constant: 465 0:41 2 (const int) 466 0:42 move second child to first child ( temp float) 467 0:42 InsideTessFactor: direct index for structure ( temp float) 468 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 469 0:42 Constant: 470 0:42 1 (const int) 471 0:42 'roundedInsideTessFactor' ( temp float) 472 0:45 move second child to first child ( temp 3-component vector of float) 473 0:45 direct index ( temp 3-component vector of float) 474 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 475 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 476 0:45 Constant: 477 0:45 2 (const int) 478 0:45 Constant: 479 0:45 0 (const int) 480 0:45 NormalWS: direct index for structure ( temp 3-component vector of float) 481 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 482 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 483 0:45 Constant: 484 0:45 0 (const int) 485 0:45 Constant: 486 0:45 1 (const int) 487 0:46 move second child to first child ( temp 3-component vector of float) 488 0:46 direct index ( temp 3-component vector of float) 489 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 490 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 491 0:46 Constant: 492 0:46 2 (const int) 493 0:46 Constant: 494 0:46 1 (const int) 495 0:46 NormalWS: direct index for structure ( temp 3-component vector of float) 496 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 497 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 498 0:46 Constant: 499 0:46 1 (const int) 500 0:46 Constant: 501 0:46 1 (const int) 502 0:47 move second child to first child ( temp 3-component vector of float) 503 0:47 direct index ( temp 3-component vector of float) 504 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 505 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 506 0:47 Constant: 507 0:47 2 (const int) 508 0:47 Constant: 509 0:47 2 (const int) 510 0:47 NormalWS: direct index for structure ( temp 3-component vector of float) 511 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 512 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 513 0:47 Constant: 514 0:47 2 (const int) 515 0:47 Constant: 516 0:47 1 (const int) 517 0:49 Branch: Return with expression 518 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 519 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 520 0:61 Function Parameters: 521 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 522 0:61 'id' ( in uint) 523 0:? Sequence 524 0:63 move second child to first child ( temp 3-component vector of float) 525 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 526 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 527 0:63 Constant: 528 0:63 0 (const int) 529 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 530 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 531 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 532 0:63 'id' ( in uint) 533 0:63 Constant: 534 0:63 0 (const int) 535 0:64 Branch: Return with expression 536 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 537 0:61 Function Definition: HSMain( ( temp void) 538 0:61 Function Parameters: 539 0:? Sequence 540 0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 541 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 542 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 543 0:61 move second child to first child ( temp uint) 544 0:? 'id' ( temp uint) 545 0:? 'id' ( in uint InvocationID) 546 0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS}) 547 0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS}) 548 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 549 0:? 'id' ( in uint InvocationID) 550 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 551 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 552 0:? 'id' ( temp uint) 553 0:? Barrier ( temp void) 554 0:? Test condition and select ( temp void) 555 0:? Condition 556 0:? Compare Equal ( temp bool) 557 0:? 'id' ( in uint InvocationID) 558 0:? Constant: 559 0:? 0 (const int) 560 0:? true case 561 0:? Sequence 562 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 563 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 564 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 565 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 566 0:? Sequence 567 0:? move second child to first child ( temp float) 568 0:? direct index ( patch out float TessLevelOuter) 569 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 570 0:? Constant: 571 0:? 0 (const int) 572 0:? direct index ( temp float) 573 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 574 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 575 0:? Constant: 576 0:? 0 (const int) 577 0:? Constant: 578 0:? 0 (const int) 579 0:? move second child to first child ( temp float) 580 0:? direct index ( patch out float TessLevelOuter) 581 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 582 0:? Constant: 583 0:? 1 (const int) 584 0:? direct index ( temp float) 585 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 586 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 587 0:? Constant: 588 0:? 0 (const int) 589 0:? Constant: 590 0:? 1 (const int) 591 0:? move second child to first child ( temp float) 592 0:? direct index ( patch out float TessLevelOuter) 593 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 594 0:? Constant: 595 0:? 2 (const int) 596 0:? direct index ( temp float) 597 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 598 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 599 0:? Constant: 600 0:? 0 (const int) 601 0:? Constant: 602 0:? 2 (const int) 603 0:? move second child to first child ( temp float) 604 0:? direct index ( patch out float TessLevelInner) 605 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 606 0:? Constant: 607 0:? 0 (const int) 608 0:? InsideTessFactor: direct index for structure ( temp float) 609 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 610 0:? Constant: 611 0:? 1 (const int) 612 0:? move second child to first child ( temp 3-element array of 3-component vector of float) 613 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 614 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 615 0:? Constant: 616 0:? 0 (const int) 617 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 618 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 619 0:? Constant: 620 0:? 2 (const int) 621 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void) 622 0:84 Function Parameters: 623 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 624 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS}) 625 0:? Sequence 626 0:86 Sequence 627 0:86 move second child to first child ( temp 3-component vector of float) 628 0:86 'P0' ( temp 3-component vector of float) 629 0:86 vector swizzle ( temp 3-component vector of float) 630 0:86 PositionWS: direct index for structure ( temp 3-component vector of float) 631 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 632 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 633 0:86 Constant: 634 0:86 0 (const int) 635 0:86 Constant: 636 0:86 0 (const int) 637 0:86 Sequence 638 0:86 Constant: 639 0:86 0 (const int) 640 0:86 Constant: 641 0:86 1 (const int) 642 0:86 Constant: 643 0:86 2 (const int) 644 0:87 Sequence 645 0:87 move second child to first child ( temp 3-component vector of float) 646 0:87 'P1' ( temp 3-component vector of float) 647 0:87 vector swizzle ( temp 3-component vector of float) 648 0:87 PositionWS: direct index for structure ( temp 3-component vector of float) 649 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 650 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 651 0:87 Constant: 652 0:87 1 (const int) 653 0:87 Constant: 654 0:87 0 (const int) 655 0:87 Sequence 656 0:87 Constant: 657 0:87 0 (const int) 658 0:87 Constant: 659 0:87 1 (const int) 660 0:87 Constant: 661 0:87 2 (const int) 662 0:88 Sequence 663 0:88 move second child to first child ( temp 3-component vector of float) 664 0:88 'P2' ( temp 3-component vector of float) 665 0:88 vector swizzle ( temp 3-component vector of float) 666 0:88 PositionWS: direct index for structure ( temp 3-component vector of float) 667 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 668 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 669 0:88 Constant: 670 0:88 2 (const int) 671 0:88 Constant: 672 0:88 0 (const int) 673 0:88 Sequence 674 0:88 Constant: 675 0:88 0 (const int) 676 0:88 Constant: 677 0:88 1 (const int) 678 0:88 Constant: 679 0:88 2 (const int) 680 0:92 add second child into first child ( temp float) 681 0:92 direct index ( temp float) 682 0:92 'P0' ( temp 3-component vector of float) 683 0:92 Constant: 684 0:92 2 (const int) 685 0:92 Constant: 686 0:92 0.001000 687 0:93 add second child into first child ( temp float) 688 0:93 direct index ( temp float) 689 0:93 'P1' ( temp 3-component vector of float) 690 0:93 Constant: 691 0:93 2 (const int) 692 0:93 Constant: 693 0:93 0.001000 694 0:94 add second child into first child ( temp float) 695 0:94 direct index ( temp float) 696 0:94 'P2' ( temp 3-component vector of float) 697 0:94 Constant: 698 0:94 2 (const int) 699 0:94 Constant: 700 0:94 0.001000 701 0:95 Sequence 702 0:95 move second child to first child ( temp 4-component vector of float) 703 0:95 'Q0' ( temp 4-component vector of float) 704 0:95 vector-times-matrix ( temp 4-component vector of float) 705 0:? Construct vec4 ( temp 4-component vector of float) 706 0:95 'P0' ( temp 3-component vector of float) 707 0:95 Constant: 708 0:95 1.000000 709 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 710 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 711 0:95 Constant: 712 0:95 1 (const uint) 713 0:96 Sequence 714 0:96 move second child to first child ( temp 4-component vector of float) 715 0:96 'Q1' ( temp 4-component vector of float) 716 0:96 vector-times-matrix ( temp 4-component vector of float) 717 0:? Construct vec4 ( temp 4-component vector of float) 718 0:96 'P1' ( temp 3-component vector of float) 719 0:96 Constant: 720 0:96 1.000000 721 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 722 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 723 0:96 Constant: 724 0:96 1 (const uint) 725 0:97 Sequence 726 0:97 move second child to first child ( temp 4-component vector of float) 727 0:97 'Q2' ( temp 4-component vector of float) 728 0:97 vector-times-matrix ( temp 4-component vector of float) 729 0:? Construct vec4 ( temp 4-component vector of float) 730 0:97 'P2' ( temp 3-component vector of float) 731 0:97 Constant: 732 0:97 1.000000 733 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 734 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 735 0:97 Constant: 736 0:97 1 (const uint) 737 0:100 move second child to first child ( temp 4-component vector of float) 738 0:100 PositionCS: direct index for structure ( temp 4-component vector of float) 739 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 740 0:100 Constant: 741 0:100 0 (const int) 742 0:100 'Q0' ( temp 4-component vector of float) 743 0:101 Constant: 744 0:101 0.000000 745 0:102 move second child to first child ( temp 4-component vector of float) 746 0:102 PositionCS: direct index for structure ( temp 4-component vector of float) 747 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 748 0:102 Constant: 749 0:102 0 (const int) 750 0:102 'Q1' ( temp 4-component vector of float) 751 0:103 Constant: 752 0:103 0.000000 753 0:104 Constant: 754 0:104 0.000000 755 0:107 move second child to first child ( temp 4-component vector of float) 756 0:107 PositionCS: direct index for structure ( temp 4-component vector of float) 757 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 758 0:107 Constant: 759 0:107 0 (const int) 760 0:107 'Q1' ( temp 4-component vector of float) 761 0:108 Constant: 762 0:108 0.000000 763 0:109 move second child to first child ( temp 4-component vector of float) 764 0:109 PositionCS: direct index for structure ( temp 4-component vector of float) 765 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 766 0:109 Constant: 767 0:109 0 (const int) 768 0:109 'Q2' ( temp 4-component vector of float) 769 0:110 Constant: 770 0:110 0.000000 771 0:111 Constant: 772 0:111 0.000000 773 0:114 move second child to first child ( temp 4-component vector of float) 774 0:114 PositionCS: direct index for structure ( temp 4-component vector of float) 775 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 776 0:114 Constant: 777 0:114 0 (const int) 778 0:114 'Q2' ( temp 4-component vector of float) 779 0:115 Constant: 780 0:115 0.000000 781 0:116 move second child to first child ( temp 4-component vector of float) 782 0:116 PositionCS: direct index for structure ( temp 4-component vector of float) 783 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 784 0:116 Constant: 785 0:116 0 (const int) 786 0:116 'Q0' ( temp 4-component vector of float) 787 0:117 Constant: 788 0:117 0.000000 789 0:118 Constant: 790 0:118 0.000000 791 0:? Linker Objects 792 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 793 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 794 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 795 0:? 'id' ( in uint InvocationID) 796 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 797 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 798 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 799 800 // Module Version 10000 801 // Generated by (magic number): 80007 802 // Id's are bound by 216 803 804 Capability Tessellation 805 1: ExtInstImport "GLSL.std.450" 806 MemoryModel Logical GLSL450 807 EntryPoint TessellationControl 4 "HSMain" 97 101 105 126 139 145 808 ExecutionMode 4 OutputVertices 3 809 ExecutionMode 4 Triangles 810 ExecutionMode 4 SpacingFractionalOdd 811 ExecutionMode 4 VertexOrderCcw 812 Source HLSL 500 813 Name 4 "HSMain" 814 Name 8 "HSInput" 815 MemberName 8(HSInput) 0 "PositionWS" 816 MemberName 8(HSInput) 1 "NormalWS" 817 Name 15 "HSTrianglePatchConstant" 818 MemberName 15(HSTrianglePatchConstant) 0 "EdgeTessFactor" 819 MemberName 15(HSTrianglePatchConstant) 1 "InsideTessFactor" 820 MemberName 15(HSTrianglePatchConstant) 2 "NormalWS" 821 Name 18 "HSPatchConstant(struct-HSInput-vf3-vf31[3];" 822 Name 17 "patch" 823 Name 21 "HSOutput" 824 MemberName 21(HSOutput) 0 "PositionWS" 825 Name 25 "@HSMain(struct-HSInput-vf3-vf31[3];u1;" 826 Name 23 "patch" 827 Name 24 "id" 828 Name 27 "GSVertexInput" 829 MemberName 27(GSVertexInput) 0 "PositionWS" 830 MemberName 27(GSVertexInput) 1 "NormalWS" 831 Name 31 "GSVertexOutput" 832 MemberName 31(GSVertexOutput) 0 "PositionCS" 833 Name 36 "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;" 834 Name 34 "input" 835 Name 35 "output" 836 Name 39 "roundedEdgeTessFactor" 837 Name 42 "UniformBlock0" 838 MemberName 42(UniformBlock0) 0 "model_view_matrix" 839 MemberName 42(UniformBlock0) 1 "proj_matrix" 840 MemberName 42(UniformBlock0) 2 "model_view_proj_matrix" 841 MemberName 42(UniformBlock0) 3 "normal_matrix" 842 MemberName 42(UniformBlock0) 4 "color" 843 MemberName 42(UniformBlock0) 5 "view_dir" 844 MemberName 42(UniformBlock0) 6 "tess_factor" 845 Name 44 "" 846 Name 51 "roundedInsideTessFactor" 847 Name 53 "insideTessFactor" 848 Name 56 "result" 849 Name 87 "output" 850 Name 95 "patch" 851 Name 97 "patch" 852 Name 99 "id" 853 Name 101 "id" 854 Name 105 "@entryPointOutput" 855 Name 107 "param" 856 Name 109 "param" 857 Name 120 "@patchConstantResult" 858 Name 121 "param" 859 Name 126 "@patchConstantOutput.EdgeTessFactor" 860 Name 139 "@patchConstantOutput.InsideTessFactor" 861 Name 143 "HSTrianglePatchConstant" 862 MemberName 143(HSTrianglePatchConstant) 0 "NormalWS" 863 Name 145 "@patchConstantOutput" 864 Name 151 "P0" 865 Name 154 "P1" 866 Name 157 "P2" 867 Name 174 "Q0" 868 Name 184 "Q1" 869 Name 193 "Q2" 870 Name 202 "vertex" 871 MemberDecorate 42(UniformBlock0) 0 RowMajor 872 MemberDecorate 42(UniformBlock0) 0 Offset 0 873 MemberDecorate 42(UniformBlock0) 0 MatrixStride 16 874 MemberDecorate 42(UniformBlock0) 1 RowMajor 875 MemberDecorate 42(UniformBlock0) 1 Offset 64 876 MemberDecorate 42(UniformBlock0) 1 MatrixStride 16 877 MemberDecorate 42(UniformBlock0) 2 RowMajor 878 MemberDecorate 42(UniformBlock0) 2 Offset 128 879 MemberDecorate 42(UniformBlock0) 2 MatrixStride 16 880 MemberDecorate 42(UniformBlock0) 3 RowMajor 881 MemberDecorate 42(UniformBlock0) 3 Offset 192 882 MemberDecorate 42(UniformBlock0) 3 MatrixStride 16 883 MemberDecorate 42(UniformBlock0) 4 Offset 240 884 MemberDecorate 42(UniformBlock0) 5 Offset 256 885 MemberDecorate 42(UniformBlock0) 6 Offset 272 886 Decorate 42(UniformBlock0) Block 887 Decorate 44 DescriptorSet 0 888 Decorate 44 Binding 0 889 Decorate 97(patch) Location 0 890 Decorate 101(id) BuiltIn InvocationId 891 Decorate 105(@entryPointOutput) Location 0 892 Decorate 126(@patchConstantOutput.EdgeTessFactor) Patch 893 Decorate 126(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter 894 Decorate 139(@patchConstantOutput.InsideTessFactor) Patch 895 Decorate 139(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner 896 MemberDecorate 143(HSTrianglePatchConstant) 0 Patch 897 Decorate 145(@patchConstantOutput) Patch 898 Decorate 145(@patchConstantOutput) Location 1 899 2: TypeVoid 900 3: TypeFunction 2 901 6: TypeFloat 32 902 7: TypeVector 6(float) 3 903 8(HSInput): TypeStruct 7(fvec3) 7(fvec3) 904 9: TypeInt 32 0 905 10: 9(int) Constant 3 906 11: TypeArray 8(HSInput) 10 907 12: TypePointer Function 11 908 13: TypeArray 6(float) 10 909 14: TypeArray 7(fvec3) 10 910 15(HSTrianglePatchConstant): TypeStruct 13 6(float) 14 911 16: TypeFunction 15(HSTrianglePatchConstant) 12(ptr) 912 20: TypePointer Function 9(int) 913 21(HSOutput): TypeStruct 7(fvec3) 914 22: TypeFunction 21(HSOutput) 12(ptr) 20(ptr) 915 27(GSVertexInput): TypeStruct 7(fvec3) 7(fvec3) 916 28: TypeArray 27(GSVertexInput) 10 917 29: TypePointer Function 28 918 30: TypeVector 6(float) 4 919 31(GSVertexOutput): TypeStruct 30(fvec4) 920 32: TypePointer Function 31(GSVertexOutput) 921 33: TypeFunction 2 29(ptr) 32(ptr) 922 38: TypePointer Function 7(fvec3) 923 40: TypeMatrix 30(fvec4) 4 924 41: TypeMatrix 7(fvec3) 3 925 42(UniformBlock0): TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3) 926 43: TypePointer Uniform 42(UniformBlock0) 927 44: 43(ptr) Variable Uniform 928 45: TypeInt 32 1 929 46: 45(int) Constant 6 930 47: TypePointer Uniform 7(fvec3) 931 50: TypePointer Function 6(float) 932 52: 6(float) Constant 1077936128 933 54: 6(float) Constant 1065353216 934 55: TypePointer Function 15(HSTrianglePatchConstant) 935 57: 45(int) Constant 0 936 58: 9(int) Constant 0 937 62: 45(int) Constant 1 938 63: 9(int) Constant 1 939 67: 45(int) Constant 2 940 68: 9(int) Constant 2 941 86: TypePointer Function 21(HSOutput) 942 96: TypePointer Input 11 943 97(patch): 96(ptr) Variable Input 944 100: TypePointer Input 9(int) 945 101(id): 100(ptr) Variable Input 946 103: TypeArray 21(HSOutput) 10 947 104: TypePointer Output 103 948 105(@entryPointOutput): 104(ptr) Variable Output 949 112: TypePointer Output 21(HSOutput) 950 114: 9(int) Constant 4 951 116: TypeBool 952 124: TypeArray 6(float) 114 953 125: TypePointer Output 124 954 126(@patchConstantOutput.EdgeTessFactor): 125(ptr) Variable Output 955 129: TypePointer Output 6(float) 956 137: TypeArray 6(float) 68 957 138: TypePointer Output 137 958 139(@patchConstantOutput.InsideTessFactor): 138(ptr) Variable Output 959 143(HSTrianglePatchConstant): TypeStruct 14 960 144: TypePointer Output 143(HSTrianglePatchConstant) 961 145(@patchConstantOutput): 144(ptr) Variable Output 962 146: TypePointer Function 14 963 149: TypePointer Output 14 964 160: 6(float) Constant 981668463 965 173: TypePointer Function 30(fvec4) 966 180: TypePointer Uniform 40 967 205: 6(float) Constant 0 968 4(HSMain): 2 Function None 3 969 5: Label 970 95(patch): 12(ptr) Variable Function 971 99(id): 20(ptr) Variable Function 972 107(param): 12(ptr) Variable Function 973 109(param): 20(ptr) Variable Function 974 120(@patchConstantResult): 55(ptr) Variable Function 975 121(param): 12(ptr) Variable Function 976 98: 11 Load 97(patch) 977 Store 95(patch) 98 978 102: 9(int) Load 101(id) 979 Store 99(id) 102 980 106: 9(int) Load 101(id) 981 108: 11 Load 95(patch) 982 Store 107(param) 108 983 110: 9(int) Load 99(id) 984 Store 109(param) 110 985 111:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 107(param) 109(param) 986 113: 112(ptr) AccessChain 105(@entryPointOutput) 106 987 Store 113 111 988 ControlBarrier 68 114 58 989 115: 9(int) Load 101(id) 990 117: 116(bool) IEqual 115 57 991 SelectionMerge 119 None 992 BranchConditional 117 118 119 993 118: Label 994 122: 11 Load 95(patch) 995 Store 121(param) 122 996 123:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 121(param) 997 Store 120(@patchConstantResult) 123 998 127: 50(ptr) AccessChain 120(@patchConstantResult) 57 57 999 128: 6(float) Load 127 1000 130: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57 1001 Store 130 128 1002 131: 50(ptr) AccessChain 120(@patchConstantResult) 57 62 1003 132: 6(float) Load 131 1004 133: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62 1005 Store 133 132 1006 134: 50(ptr) AccessChain 120(@patchConstantResult) 57 67 1007 135: 6(float) Load 134 1008 136: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67 1009 Store 136 135 1010 140: 50(ptr) AccessChain 120(@patchConstantResult) 62 1011 141: 6(float) Load 140 1012 142: 129(ptr) AccessChain 139(@patchConstantOutput.InsideTessFactor) 57 1013 Store 142 141 1014 147: 146(ptr) AccessChain 120(@patchConstantResult) 67 1015 148: 14 Load 147 1016 150: 149(ptr) AccessChain 145(@patchConstantOutput) 57 1017 Store 150 148 1018 Branch 119 1019 119: Label 1020 Return 1021 FunctionEnd 1022 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16 1023 17(patch): 12(ptr) FunctionParameter 1024 19: Label 1025 39(roundedEdgeTessFactor): 38(ptr) Variable Function 1026 51(roundedInsideTessFactor): 50(ptr) Variable Function 1027 53(insideTessFactor): 50(ptr) Variable Function 1028 56(result): 55(ptr) Variable Function 1029 48: 47(ptr) AccessChain 44 46 1030 49: 7(fvec3) Load 48 1031 Store 39(roundedEdgeTessFactor) 49 1032 Store 51(roundedInsideTessFactor) 52 1033 Store 53(insideTessFactor) 54 1034 59: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 58 1035 60: 6(float) Load 59 1036 61: 50(ptr) AccessChain 56(result) 57 57 1037 Store 61 60 1038 64: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 63 1039 65: 6(float) Load 64 1040 66: 50(ptr) AccessChain 56(result) 57 62 1041 Store 66 65 1042 69: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 68 1043 70: 6(float) Load 69 1044 71: 50(ptr) AccessChain 56(result) 57 67 1045 Store 71 70 1046 72: 6(float) Load 51(roundedInsideTessFactor) 1047 73: 50(ptr) AccessChain 56(result) 62 1048 Store 73 72 1049 74: 38(ptr) AccessChain 17(patch) 57 62 1050 75: 7(fvec3) Load 74 1051 76: 38(ptr) AccessChain 56(result) 67 57 1052 Store 76 75 1053 77: 38(ptr) AccessChain 17(patch) 62 62 1054 78: 7(fvec3) Load 77 1055 79: 38(ptr) AccessChain 56(result) 67 62 1056 Store 79 78 1057 80: 38(ptr) AccessChain 17(patch) 67 62 1058 81: 7(fvec3) Load 80 1059 82: 38(ptr) AccessChain 56(result) 67 67 1060 Store 82 81 1061 83:15(HSTrianglePatchConstant) Load 56(result) 1062 ReturnValue 83 1063 FunctionEnd 1064 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22 1065 23(patch): 12(ptr) FunctionParameter 1066 24(id): 20(ptr) FunctionParameter 1067 26: Label 1068 87(output): 86(ptr) Variable Function 1069 88: 9(int) Load 24(id) 1070 89: 38(ptr) AccessChain 23(patch) 88 57 1071 90: 7(fvec3) Load 89 1072 91: 38(ptr) AccessChain 87(output) 57 1073 Store 91 90 1074 92:21(HSOutput) Load 87(output) 1075 ReturnValue 92 1076 FunctionEnd 1077 36(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;): 2 Function None 33 1078 34(input): 29(ptr) FunctionParameter 1079 35(output): 32(ptr) FunctionParameter 1080 37: Label 1081 151(P0): 38(ptr) Variable Function 1082 154(P1): 38(ptr) Variable Function 1083 157(P2): 38(ptr) Variable Function 1084 174(Q0): 173(ptr) Variable Function 1085 184(Q1): 173(ptr) Variable Function 1086 193(Q2): 173(ptr) Variable Function 1087 202(vertex): 32(ptr) Variable Function 1088 152: 38(ptr) AccessChain 34(input) 57 57 1089 153: 7(fvec3) Load 152 1090 Store 151(P0) 153 1091 155: 38(ptr) AccessChain 34(input) 62 57 1092 156: 7(fvec3) Load 155 1093 Store 154(P1) 156 1094 158: 38(ptr) AccessChain 34(input) 67 57 1095 159: 7(fvec3) Load 158 1096 Store 157(P2) 159 1097 161: 50(ptr) AccessChain 151(P0) 68 1098 162: 6(float) Load 161 1099 163: 6(float) FAdd 162 160 1100 164: 50(ptr) AccessChain 151(P0) 68 1101 Store 164 163 1102 165: 50(ptr) AccessChain 154(P1) 68 1103 166: 6(float) Load 165 1104 167: 6(float) FAdd 166 160 1105 168: 50(ptr) AccessChain 154(P1) 68 1106 Store 168 167 1107 169: 50(ptr) AccessChain 157(P2) 68 1108 170: 6(float) Load 169 1109 171: 6(float) FAdd 170 160 1110 172: 50(ptr) AccessChain 157(P2) 68 1111 Store 172 171 1112 175: 7(fvec3) Load 151(P0) 1113 176: 6(float) CompositeExtract 175 0 1114 177: 6(float) CompositeExtract 175 1 1115 178: 6(float) CompositeExtract 175 2 1116 179: 30(fvec4) CompositeConstruct 176 177 178 54 1117 181: 180(ptr) AccessChain 44 62 1118 182: 40 Load 181 1119 183: 30(fvec4) VectorTimesMatrix 179 182 1120 Store 174(Q0) 183 1121 185: 7(fvec3) Load 154(P1) 1122 186: 6(float) CompositeExtract 185 0 1123 187: 6(float) CompositeExtract 185 1 1124 188: 6(float) CompositeExtract 185 2 1125 189: 30(fvec4) CompositeConstruct 186 187 188 54 1126 190: 180(ptr) AccessChain 44 62 1127 191: 40 Load 190 1128 192: 30(fvec4) VectorTimesMatrix 189 191 1129 Store 184(Q1) 192 1130 194: 7(fvec3) Load 157(P2) 1131 195: 6(float) CompositeExtract 194 0 1132 196: 6(float) CompositeExtract 194 1 1133 197: 6(float) CompositeExtract 194 2 1134 198: 30(fvec4) CompositeConstruct 195 196 197 54 1135 199: 180(ptr) AccessChain 44 62 1136 200: 40 Load 199 1137 201: 30(fvec4) VectorTimesMatrix 198 200 1138 Store 193(Q2) 201 1139 203: 30(fvec4) Load 174(Q0) 1140 204: 173(ptr) AccessChain 202(vertex) 57 1141 Store 204 203 1142 206: 30(fvec4) Load 184(Q1) 1143 207: 173(ptr) AccessChain 202(vertex) 57 1144 Store 207 206 1145 208: 30(fvec4) Load 184(Q1) 1146 209: 173(ptr) AccessChain 202(vertex) 57 1147 Store 209 208 1148 210: 30(fvec4) Load 193(Q2) 1149 211: 173(ptr) AccessChain 202(vertex) 57 1150 Store 211 210 1151 212: 30(fvec4) Load 193(Q2) 1152 213: 173(ptr) AccessChain 202(vertex) 57 1153 Store 213 212 1154 214: 30(fvec4) Load 174(Q0) 1155 215: 173(ptr) AccessChain 202(vertex) 57 1156 Store 215 214 1157 Return 1158 FunctionEnd 1159