mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
d3f1122a44
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.
221 lines
12 KiB
Plaintext
221 lines
12 KiB
Plaintext
hlsl.logical.binary.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:13 Test condition and select (temp void)
|
|
0:13 Condition
|
|
0:13 logical-and (temp bool)
|
|
0:13 Convert int to bool (temp bool)
|
|
0:13 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:13 Constant:
|
|
0:13 0 (const uint)
|
|
0:13 Convert int to bool (temp bool)
|
|
0:13 Convert float to int (temp int)
|
|
0:13 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:13 Constant:
|
|
0:13 2 (const uint)
|
|
0:13 true case is null
|
|
0:14 Test condition and select (temp void)
|
|
0:14 Condition
|
|
0:14 logical-or (temp bool)
|
|
0:14 Convert int to bool (temp bool)
|
|
0:14 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 Convert int to bool (temp bool)
|
|
0:14 Convert float to int (temp int)
|
|
0:14 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:14 Constant:
|
|
0:14 2 (const uint)
|
|
0:14 true case is null
|
|
0:17 move second child to first child (temp 4-component vector of float)
|
|
0:17 Color: direct index for structure (temp 4-component vector of float)
|
|
0:17 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 Constant:
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:18 Sequence
|
|
0:18 Sequence
|
|
0:18 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 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 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 int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:13 Test condition and select (temp void)
|
|
0:13 Condition
|
|
0:13 logical-and (temp bool)
|
|
0:13 Convert int to bool (temp bool)
|
|
0:13 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:13 Constant:
|
|
0:13 0 (const uint)
|
|
0:13 Convert int to bool (temp bool)
|
|
0:13 Convert float to int (temp int)
|
|
0:13 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:13 Constant:
|
|
0:13 2 (const uint)
|
|
0:13 true case is null
|
|
0:14 Test condition and select (temp void)
|
|
0:14 Condition
|
|
0:14 logical-or (temp bool)
|
|
0:14 Convert int to bool (temp bool)
|
|
0:14 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:14 Constant:
|
|
0:14 0 (const uint)
|
|
0:14 Convert int to bool (temp bool)
|
|
0:14 Convert float to int (temp int)
|
|
0:14 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
0:14 Constant:
|
|
0:14 2 (const uint)
|
|
0:14 true case is null
|
|
0:17 move second child to first child (temp 4-component vector of float)
|
|
0:17 Color: direct index for structure (temp 4-component vector of float)
|
|
0:17 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 Constant:
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:17 1.000000
|
|
0:18 Sequence
|
|
0:18 Sequence
|
|
0:18 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 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 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 int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 57
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 53
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 11 "$Global"
|
|
MemberName 11($Global) 0 "ival"
|
|
MemberName 11($Global) 1 "ival4"
|
|
MemberName 11($Global) 2 "fval"
|
|
MemberName 11($Global) 3 "fval4"
|
|
Name 13 ""
|
|
Name 45 "PS_OUTPUT"
|
|
MemberName 45(PS_OUTPUT) 0 "Color"
|
|
Name 47 "psout"
|
|
Name 53 "Color"
|
|
MemberDecorate 11($Global) 0 Offset 0
|
|
MemberDecorate 11($Global) 1 Offset 16
|
|
MemberDecorate 11($Global) 2 Offset 32
|
|
MemberDecorate 11($Global) 3 Offset 48
|
|
Decorate 11($Global) Block
|
|
Decorate 13 DescriptorSet 0
|
|
Decorate 53(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeBool
|
|
7: TypeInt 32 1
|
|
8: TypeVector 7(int) 4
|
|
9: TypeFloat 32
|
|
10: TypeVector 9(float) 4
|
|
11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4)
|
|
12: TypePointer Uniform 11($Global)
|
|
13: 12(ptr) Variable Uniform
|
|
14: 7(int) Constant 0
|
|
15: TypePointer Uniform 7(int)
|
|
18: TypeInt 32 0
|
|
19: 18(int) Constant 0
|
|
23: 7(int) Constant 2
|
|
24: TypePointer Uniform 9(float)
|
|
45(PS_OUTPUT): TypeStruct 10(fvec4)
|
|
46: TypePointer Function 45(PS_OUTPUT)
|
|
48: 9(float) Constant 1065353216
|
|
49: 10(fvec4) ConstantComposite 48 48 48 48
|
|
50: TypePointer Function 10(fvec4)
|
|
52: TypePointer Output 10(fvec4)
|
|
53(Color): 52(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
47(psout): 46(ptr) Variable Function
|
|
16: 15(ptr) AccessChain 13 14
|
|
17: 7(int) Load 16
|
|
20: 6(bool) INotEqual 17 19
|
|
SelectionMerge 22 None
|
|
BranchConditional 20 21 22
|
|
21: Label
|
|
25: 24(ptr) AccessChain 13 23
|
|
26: 9(float) Load 25
|
|
27: 7(int) ConvertFToS 26
|
|
28: 6(bool) INotEqual 27 19
|
|
Branch 22
|
|
22: Label
|
|
29: 6(bool) Phi 20 5 28 21
|
|
SelectionMerge 31 None
|
|
BranchConditional 29 30 31
|
|
30: Label
|
|
Branch 31
|
|
31: Label
|
|
32: 15(ptr) AccessChain 13 14
|
|
33: 7(int) Load 32
|
|
34: 6(bool) INotEqual 33 19
|
|
35: 6(bool) LogicalNot 34
|
|
SelectionMerge 37 None
|
|
BranchConditional 35 36 37
|
|
36: Label
|
|
38: 24(ptr) AccessChain 13 23
|
|
39: 9(float) Load 38
|
|
40: 7(int) ConvertFToS 39
|
|
41: 6(bool) INotEqual 40 19
|
|
Branch 37
|
|
37: Label
|
|
42: 6(bool) Phi 34 31 41 36
|
|
SelectionMerge 44 None
|
|
BranchConditional 42 43 44
|
|
43: Label
|
|
Branch 44
|
|
44: Label
|
|
51: 50(ptr) AccessChain 47(psout) 14
|
|
Store 51 49
|
|
54: 50(ptr) AccessChain 47(psout) 14
|
|
55: 10(fvec4) Load 54
|
|
Store 53(Color) 55
|
|
Return
|
|
FunctionEnd
|