mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-05 01:37:07 +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.
293 lines
17 KiB
Plaintext
293 lines
17 KiB
Plaintext
hlsl.logical.unary.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 Negate conditional (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:14 Negate conditional (temp 4-component vector of bool)
|
|
0:14 Convert int to bool (temp 4-component vector of bool)
|
|
0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of 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 1 (const uint)
|
|
0:16 Negate conditional (temp bool)
|
|
0:16 Convert float to bool (temp bool)
|
|
0:16 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:16 '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:16 Constant:
|
|
0:16 2 (const uint)
|
|
0:17 Negate conditional (temp 4-component vector of bool)
|
|
0:17 Convert float to bool (temp 4-component vector of bool)
|
|
0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
|
|
0:17 '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:17 Constant:
|
|
0:17 3 (const uint)
|
|
0:19 Test condition and select (temp void)
|
|
0:19 Condition
|
|
0:19 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:19 '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:19 Constant:
|
|
0:19 0 (const uint)
|
|
0:19 true case is null
|
|
0:20 Test condition and select (temp void)
|
|
0:20 Condition
|
|
0:20 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:20 '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:20 Constant:
|
|
0:20 2 (const uint)
|
|
0:20 true case is null
|
|
0:21 Test condition and select (temp void)
|
|
0:21 Condition
|
|
0:21 Negate conditional (temp bool)
|
|
0:21 Convert int to bool (temp bool)
|
|
0:21 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:21 '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:21 Constant:
|
|
0:21 0 (const uint)
|
|
0:21 true case is null
|
|
0:22 Test condition and select (temp void)
|
|
0:22 Condition
|
|
0:22 Negate conditional (temp bool)
|
|
0:22 Convert float to bool (temp bool)
|
|
0:22 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:22 '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:22 Constant:
|
|
0:22 2 (const uint)
|
|
0:22 true case is null
|
|
0:25 move second child to first child (temp 4-component vector of float)
|
|
0:25 Color: direct index for structure (temp 4-component vector of float)
|
|
0:25 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:25 Constant:
|
|
0:25 0 (const int)
|
|
0:25 Constant:
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:26 Sequence
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:26 Color: direct index for structure (temp 4-component vector of float)
|
|
0:26 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 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 Negate conditional (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:14 Negate conditional (temp 4-component vector of bool)
|
|
0:14 Convert int to bool (temp 4-component vector of bool)
|
|
0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of 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 1 (const uint)
|
|
0:16 Negate conditional (temp bool)
|
|
0:16 Convert float to bool (temp bool)
|
|
0:16 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:16 '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:16 Constant:
|
|
0:16 2 (const uint)
|
|
0:17 Negate conditional (temp 4-component vector of bool)
|
|
0:17 Convert float to bool (temp 4-component vector of bool)
|
|
0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
|
|
0:17 '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:17 Constant:
|
|
0:17 3 (const uint)
|
|
0:19 Test condition and select (temp void)
|
|
0:19 Condition
|
|
0:19 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:19 '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:19 Constant:
|
|
0:19 0 (const uint)
|
|
0:19 true case is null
|
|
0:20 Test condition and select (temp void)
|
|
0:20 Condition
|
|
0:20 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:20 '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:20 Constant:
|
|
0:20 2 (const uint)
|
|
0:20 true case is null
|
|
0:21 Test condition and select (temp void)
|
|
0:21 Condition
|
|
0:21 Negate conditional (temp bool)
|
|
0:21 Convert int to bool (temp bool)
|
|
0:21 ival: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:21 '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:21 Constant:
|
|
0:21 0 (const uint)
|
|
0:21 true case is null
|
|
0:22 Test condition and select (temp void)
|
|
0:22 Condition
|
|
0:22 Negate conditional (temp bool)
|
|
0:22 Convert float to bool (temp bool)
|
|
0:22 fval: direct index for structure (layout(offset=32 ) uniform float)
|
|
0:22 '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:22 Constant:
|
|
0:22 2 (const uint)
|
|
0:22 true case is null
|
|
0:25 move second child to first child (temp 4-component vector of float)
|
|
0:25 Color: direct index for structure (temp 4-component vector of float)
|
|
0:25 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:25 Constant:
|
|
0:25 0 (const int)
|
|
0:25 Constant:
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:25 1.000000
|
|
0:26 Sequence
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:26 Color: direct index for structure (temp 4-component vector of float)
|
|
0:26 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 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 77
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 73
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 10 "$Global"
|
|
MemberName 10($Global) 0 "ival"
|
|
MemberName 10($Global) 1 "ival4"
|
|
MemberName 10($Global) 2 "fval"
|
|
MemberName 10($Global) 3 "fval4"
|
|
Name 12 ""
|
|
Name 65 "PS_OUTPUT"
|
|
MemberName 65(PS_OUTPUT) 0 "Color"
|
|
Name 67 "psout"
|
|
Name 73 "Color"
|
|
MemberDecorate 10($Global) 0 Offset 0
|
|
MemberDecorate 10($Global) 1 Offset 16
|
|
MemberDecorate 10($Global) 2 Offset 32
|
|
MemberDecorate 10($Global) 3 Offset 48
|
|
Decorate 10($Global) Block
|
|
Decorate 12 DescriptorSet 0
|
|
Decorate 73(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypeVector 6(int) 4
|
|
8: TypeFloat 32
|
|
9: TypeVector 8(float) 4
|
|
10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4)
|
|
11: TypePointer Uniform 10($Global)
|
|
12: 11(ptr) Variable Uniform
|
|
13: 6(int) Constant 0
|
|
14: TypePointer Uniform 6(int)
|
|
17: TypeBool
|
|
18: TypeInt 32 0
|
|
19: 18(int) Constant 0
|
|
22: 6(int) Constant 1
|
|
23: TypePointer Uniform 7(ivec4)
|
|
26: TypeVector 17(bool) 4
|
|
27: TypeVector 18(int) 4
|
|
28: 27(ivec4) ConstantComposite 19 19 19 19
|
|
31: 6(int) Constant 2
|
|
32: TypePointer Uniform 8(float)
|
|
35: 8(float) Constant 0
|
|
38: 6(int) Constant 3
|
|
39: TypePointer Uniform 9(fvec4)
|
|
42: 9(fvec4) ConstantComposite 35 35 35 35
|
|
65(PS_OUTPUT): TypeStruct 9(fvec4)
|
|
66: TypePointer Function 65(PS_OUTPUT)
|
|
68: 8(float) Constant 1065353216
|
|
69: 9(fvec4) ConstantComposite 68 68 68 68
|
|
70: TypePointer Function 9(fvec4)
|
|
72: TypePointer Output 9(fvec4)
|
|
73(Color): 72(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
67(psout): 66(ptr) Variable Function
|
|
15: 14(ptr) AccessChain 12 13
|
|
16: 6(int) Load 15
|
|
20: 17(bool) INotEqual 16 19
|
|
21: 17(bool) LogicalNot 20
|
|
24: 23(ptr) AccessChain 12 22
|
|
25: 7(ivec4) Load 24
|
|
29: 26(bvec4) INotEqual 25 28
|
|
30: 26(bvec4) LogicalNot 29
|
|
33: 32(ptr) AccessChain 12 31
|
|
34: 8(float) Load 33
|
|
36: 17(bool) FOrdNotEqual 34 35
|
|
37: 17(bool) LogicalNot 36
|
|
40: 39(ptr) AccessChain 12 38
|
|
41: 9(fvec4) Load 40
|
|
43: 26(bvec4) FOrdNotEqual 41 42
|
|
44: 26(bvec4) LogicalNot 43
|
|
45: 14(ptr) AccessChain 12 13
|
|
46: 6(int) Load 45
|
|
SelectionMerge 48 None
|
|
BranchConditional 46 47 48
|
|
47: Label
|
|
Branch 48
|
|
48: Label
|
|
49: 32(ptr) AccessChain 12 31
|
|
50: 8(float) Load 49
|
|
SelectionMerge 52 None
|
|
BranchConditional 50 51 52
|
|
51: Label
|
|
Branch 52
|
|
52: Label
|
|
53: 14(ptr) AccessChain 12 13
|
|
54: 6(int) Load 53
|
|
55: 17(bool) INotEqual 54 19
|
|
56: 17(bool) LogicalNot 55
|
|
SelectionMerge 58 None
|
|
BranchConditional 56 57 58
|
|
57: Label
|
|
Branch 58
|
|
58: Label
|
|
59: 32(ptr) AccessChain 12 31
|
|
60: 8(float) Load 59
|
|
61: 17(bool) FOrdNotEqual 60 35
|
|
62: 17(bool) LogicalNot 61
|
|
SelectionMerge 64 None
|
|
BranchConditional 62 63 64
|
|
63: Label
|
|
Branch 64
|
|
64: Label
|
|
71: 70(ptr) AccessChain 67(psout) 13
|
|
Store 71 69
|
|
74: 70(ptr) AccessChain 67(psout) 13
|
|
75: 9(fvec4) Load 74
|
|
Store 73(Color) 75
|
|
Return
|
|
FunctionEnd
|