
Rationalizes the entire tracking of the linker object nodes, effecting GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before their type snapshot for linker objects. Should only effect things when the rest of the AST contained no reference to the symbol, because normal AST nodes were not stale. Also will only effect such objects when their types were edited.
211 lines
11 KiB
Plaintext
211 lines
11 KiB
Plaintext
hlsl.array.multidim.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:14 move second child to first child (temp 4-component vector of float)
|
|
0:14 direct index (temp 4-component vector of float)
|
|
0:14 direct index (temp 3-element array of 4-component vector of float)
|
|
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:14 Constant:
|
|
0:14 1 (const int)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:14 Construct vec4 (temp 4-component vector of float)
|
|
0:14 direct index (layout(offset=0 ) temp float)
|
|
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
|
|
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
|
|
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:14 Constant:
|
|
0:14 3 (const int)
|
|
0:14 Constant:
|
|
0:14 1 (const int)
|
|
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
|
|
0:15 direct index (temp 3-element array of 4-component vector of float)
|
|
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
|
|
0:15 Constant:
|
|
0:15 1 (const int)
|
|
0:15 direct index (temp 3-element array of 4-component vector of float)
|
|
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:15 Constant:
|
|
0:15 0 (const int)
|
|
0:18 move second child to first child (temp 4-component vector of float)
|
|
0:18 Color: direct index for structure (temp 4-component vector of float)
|
|
0:18 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:18 Constant:
|
|
0:18 0 (const int)
|
|
0:18 direct index (temp 4-component vector of float)
|
|
0:18 direct index (temp 3-element array of 4-component vector of float)
|
|
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:18 Constant:
|
|
0:18 1 (const int)
|
|
0:18 Constant:
|
|
0:18 2 (const int)
|
|
0:19 Sequence
|
|
0:19 Sequence
|
|
0:19 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:19 Color: direct index for structure (temp 4-component vector of float)
|
|
0:19 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:14 move second child to first child (temp 4-component vector of float)
|
|
0:14 direct index (temp 4-component vector of float)
|
|
0:14 direct index (temp 3-element array of 4-component vector of float)
|
|
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:14 Constant:
|
|
0:14 1 (const int)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:14 Construct vec4 (temp 4-component vector of float)
|
|
0:14 direct index (layout(offset=0 ) temp float)
|
|
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
|
|
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
|
|
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 Constant:
|
|
0:14 2 (const int)
|
|
0:14 Constant:
|
|
0:14 3 (const int)
|
|
0:14 Constant:
|
|
0:14 1 (const int)
|
|
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
|
|
0:15 direct index (temp 3-element array of 4-component vector of float)
|
|
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
|
|
0:15 Constant:
|
|
0:15 1 (const int)
|
|
0:15 direct index (temp 3-element array of 4-component vector of float)
|
|
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:15 Constant:
|
|
0:15 0 (const int)
|
|
0:18 move second child to first child (temp 4-component vector of float)
|
|
0:18 Color: direct index for structure (temp 4-component vector of float)
|
|
0:18 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:18 Constant:
|
|
0:18 0 (const int)
|
|
0:18 direct index (temp 4-component vector of float)
|
|
0:18 direct index (temp 3-element array of 4-component vector of float)
|
|
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
|
0:18 Constant:
|
|
0:18 1 (const int)
|
|
0:18 Constant:
|
|
0:18 2 (const int)
|
|
0:19 Sequence
|
|
0:19 Sequence
|
|
0:19 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:19 Color: direct index for structure (temp 4-component vector of float)
|
|
0:19 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 52
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 48
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 14 "float4_array_1"
|
|
Name 23 "$Global"
|
|
MemberName 23($Global) 0 "float_array"
|
|
Name 25 ""
|
|
Name 36 "float4_array_2"
|
|
Name 41 "PS_OUTPUT"
|
|
MemberName 41(PS_OUTPUT) 0 "Color"
|
|
Name 43 "psout"
|
|
Name 48 "Color"
|
|
Decorate 18 ArrayStride 16
|
|
Decorate 20 ArrayStride 48
|
|
Decorate 22 ArrayStride 192
|
|
MemberDecorate 23($Global) 0 Offset 0
|
|
Decorate 23($Global) Block
|
|
Decorate 25 DescriptorSet 0
|
|
Decorate 48(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeInt 32 0
|
|
9: 8(int) Constant 3
|
|
10: TypeArray 7(fvec4) 9
|
|
11: 8(int) Constant 2
|
|
12: TypeArray 10 11
|
|
13: TypePointer Function 12
|
|
15: TypeInt 32 1
|
|
16: 15(int) Constant 1
|
|
17: 15(int) Constant 2
|
|
18: TypeArray 6(float) 9
|
|
19: 8(int) Constant 4
|
|
20: TypeArray 18 19
|
|
21: 8(int) Constant 5
|
|
22: TypeArray 20 21
|
|
23($Global): TypeStruct 22
|
|
24: TypePointer Uniform 23($Global)
|
|
25: 24(ptr) Variable Uniform
|
|
26: 15(int) Constant 0
|
|
27: 15(int) Constant 3
|
|
28: TypePointer Uniform 6(float)
|
|
32: TypePointer Function 7(fvec4)
|
|
34: TypeArray 10 21
|
|
35: TypePointer Function 34
|
|
37: TypePointer Function 10
|
|
41(PS_OUTPUT): TypeStruct 7(fvec4)
|
|
42: TypePointer Function 41(PS_OUTPUT)
|
|
47: TypePointer Output 7(fvec4)
|
|
48(Color): 47(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
14(float4_array_1): 13(ptr) Variable Function
|
|
36(float4_array_2): 35(ptr) Variable Function
|
|
43(psout): 42(ptr) Variable Function
|
|
29: 28(ptr) AccessChain 25 26 17 27 16
|
|
30: 6(float) Load 29
|
|
31: 7(fvec4) CompositeConstruct 30 30 30 30
|
|
33: 32(ptr) AccessChain 14(float4_array_1) 16 17
|
|
Store 33 31
|
|
38: 37(ptr) AccessChain 14(float4_array_1) 26
|
|
39: 10 Load 38
|
|
40: 37(ptr) AccessChain 36(float4_array_2) 16
|
|
Store 40 39
|
|
44: 32(ptr) AccessChain 14(float4_array_1) 16 17
|
|
45: 7(fvec4) Load 44
|
|
46: 32(ptr) AccessChain 43(psout) 26
|
|
Store 46 45
|
|
49: 32(ptr) AccessChain 43(psout) 26
|
|
50: 7(fvec4) Load 49
|
|
Store 48(Color) 50
|
|
Return
|
|
FunctionEnd
|