Fix #857: Convert uniform int to local bool for struct alias assignment.
This was done for one direction, but not both directions, so this commit picks up the other direction.
This commit is contained in:
@@ -3,7 +3,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 157
|
||||
// Id's are bound by 161
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
@@ -22,31 +22,31 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
||||
Name 17 "SSBO0"
|
||||
MemberName 17(SSBO0) 0 "a"
|
||||
Name 19 "inBuf"
|
||||
Name 37 "SSBO1"
|
||||
MemberName 37(SSBO1) 0 "b"
|
||||
Name 39 "outBuf"
|
||||
Name 57 "MyStruct"
|
||||
MemberName 57(MyStruct) 0 "foo"
|
||||
MemberName 57(MyStruct) 1 "sb"
|
||||
Name 58 "UBO"
|
||||
MemberName 58(UBO) 0 "c"
|
||||
Name 60 "uBuf"
|
||||
Name 84 "Nested"
|
||||
MemberName 84(Nested) 0 "f"
|
||||
MemberName 84(Nested) 1 "S"
|
||||
Name 86 "n"
|
||||
Name 88 "Nested"
|
||||
MemberName 88(Nested) 0 "f"
|
||||
MemberName 88(Nested) 1 "S"
|
||||
Name 89 "UBON"
|
||||
MemberName 89(UBON) 0 "N1"
|
||||
Name 91 "uBufN"
|
||||
Name 122 "Nested"
|
||||
MemberName 122(Nested) 0 "f"
|
||||
MemberName 122(Nested) 1 "S"
|
||||
Name 123 "SSBO1N"
|
||||
MemberName 123(SSBO1N) 0 "N2"
|
||||
Name 125 "outBufN"
|
||||
Name 39 "SSBO1"
|
||||
MemberName 39(SSBO1) 0 "b"
|
||||
Name 41 "outBuf"
|
||||
Name 58 "MyStruct"
|
||||
MemberName 58(MyStruct) 0 "foo"
|
||||
MemberName 58(MyStruct) 1 "sb"
|
||||
Name 59 "UBO"
|
||||
MemberName 59(UBO) 0 "c"
|
||||
Name 61 "uBuf"
|
||||
Name 86 "Nested"
|
||||
MemberName 86(Nested) 0 "f"
|
||||
MemberName 86(Nested) 1 "S"
|
||||
Name 88 "n"
|
||||
Name 90 "Nested"
|
||||
MemberName 90(Nested) 0 "f"
|
||||
MemberName 90(Nested) 1 "S"
|
||||
Name 91 "UBON"
|
||||
MemberName 91(UBON) 0 "N1"
|
||||
Name 93 "uBufN"
|
||||
Name 126 "Nested"
|
||||
MemberName 126(Nested) 0 "f"
|
||||
MemberName 126(Nested) 1 "S"
|
||||
Name 127 "SSBO1N"
|
||||
MemberName 127(SSBO1N) 0 "N2"
|
||||
Name 129 "outBufN"
|
||||
Decorate 15 ArrayStride 8
|
||||
MemberDecorate 16(MyStruct) 0 Offset 0
|
||||
MemberDecorate 16(MyStruct) 1 Offset 16
|
||||
@@ -54,31 +54,31 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
||||
Decorate 17(SSBO0) BufferBlock
|
||||
Decorate 19(inBuf) DescriptorSet 0
|
||||
Decorate 19(inBuf) Binding 0
|
||||
MemberDecorate 37(SSBO1) 0 Offset 0
|
||||
Decorate 37(SSBO1) BufferBlock
|
||||
Decorate 39(outBuf) DescriptorSet 0
|
||||
Decorate 39(outBuf) Binding 1
|
||||
Decorate 56 ArrayStride 16
|
||||
MemberDecorate 57(MyStruct) 0 Offset 0
|
||||
MemberDecorate 57(MyStruct) 1 Offset 32
|
||||
MemberDecorate 58(UBO) 0 Offset 0
|
||||
Decorate 58(UBO) Block
|
||||
Decorate 60(uBuf) DescriptorSet 0
|
||||
Decorate 60(uBuf) Binding 2
|
||||
Decorate 87 ArrayStride 48
|
||||
MemberDecorate 88(Nested) 0 Offset 0
|
||||
MemberDecorate 88(Nested) 1 Offset 16
|
||||
MemberDecorate 89(UBON) 0 Offset 0
|
||||
Decorate 89(UBON) Block
|
||||
Decorate 91(uBufN) DescriptorSet 0
|
||||
Decorate 91(uBufN) Binding 2
|
||||
Decorate 121 ArrayStride 24
|
||||
MemberDecorate 122(Nested) 0 Offset 0
|
||||
MemberDecorate 122(Nested) 1 Offset 8
|
||||
MemberDecorate 123(SSBO1N) 0 Offset 0
|
||||
Decorate 123(SSBO1N) BufferBlock
|
||||
Decorate 125(outBufN) DescriptorSet 0
|
||||
Decorate 125(outBufN) Binding 1
|
||||
MemberDecorate 39(SSBO1) 0 Offset 0
|
||||
Decorate 39(SSBO1) BufferBlock
|
||||
Decorate 41(outBuf) DescriptorSet 0
|
||||
Decorate 41(outBuf) Binding 1
|
||||
Decorate 57 ArrayStride 16
|
||||
MemberDecorate 58(MyStruct) 0 Offset 0
|
||||
MemberDecorate 58(MyStruct) 1 Offset 32
|
||||
MemberDecorate 59(UBO) 0 Offset 0
|
||||
Decorate 59(UBO) Block
|
||||
Decorate 61(uBuf) DescriptorSet 0
|
||||
Decorate 61(uBuf) Binding 2
|
||||
Decorate 89 ArrayStride 48
|
||||
MemberDecorate 90(Nested) 0 Offset 0
|
||||
MemberDecorate 90(Nested) 1 Offset 16
|
||||
MemberDecorate 91(UBON) 0 Offset 0
|
||||
Decorate 91(UBON) Block
|
||||
Decorate 93(uBufN) DescriptorSet 0
|
||||
Decorate 93(uBufN) Binding 2
|
||||
Decorate 125 ArrayStride 24
|
||||
MemberDecorate 126(Nested) 0 Offset 0
|
||||
MemberDecorate 126(Nested) 1 Offset 8
|
||||
MemberDecorate 127(SSBO1N) 0 Offset 0
|
||||
Decorate 127(SSBO1N) BufferBlock
|
||||
Decorate 129(outBufN) DescriptorSet 0
|
||||
Decorate 129(outBufN) Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -100,44 +100,44 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
||||
26: TypePointer Function 10
|
||||
29: TypePointer Function 7(fvec2)
|
||||
32: 20(int) Constant 1
|
||||
35: TypePointer Function 11(bool)
|
||||
37(SSBO1): TypeStruct 16(MyStruct)
|
||||
38: TypePointer Uniform 37(SSBO1)
|
||||
39(outBuf): 38(ptr) Variable Uniform
|
||||
43: TypePointer Uniform 15
|
||||
46: TypePointer Uniform 7(fvec2)
|
||||
51: 8(int) Constant 0
|
||||
52: 8(int) Constant 1
|
||||
54: TypePointer Uniform 8(int)
|
||||
56: TypeArray 7(fvec2) 9
|
||||
57(MyStruct): TypeStruct 56 8(int)
|
||||
58(UBO): TypeStruct 57(MyStruct)
|
||||
59: TypePointer Uniform 58(UBO)
|
||||
60(uBuf): 59(ptr) Variable Uniform
|
||||
61: TypePointer Uniform 57(MyStruct)
|
||||
83: TypeArray 12(MyStruct) 9
|
||||
84(Nested): TypeStruct 6(float) 83
|
||||
85: TypePointer Function 84(Nested)
|
||||
87: TypeArray 57(MyStruct) 9
|
||||
88(Nested): TypeStruct 6(float) 87
|
||||
89(UBON): TypeStruct 88(Nested)
|
||||
90: TypePointer Uniform 89(UBON)
|
||||
91(uBufN): 90(ptr) Variable Uniform
|
||||
92: TypePointer Uniform 88(Nested)
|
||||
96: TypePointer Function 6(float)
|
||||
99: TypePointer Function 83
|
||||
121: TypeArray 16(MyStruct) 9
|
||||
122(Nested): TypeStruct 6(float) 121
|
||||
123(SSBO1N): TypeStruct 122(Nested)
|
||||
124: TypePointer Uniform 123(SSBO1N)
|
||||
125(outBufN): 124(ptr) Variable Uniform
|
||||
127: TypePointer Uniform 122(Nested)
|
||||
130: TypePointer Uniform 6(float)
|
||||
133: TypePointer Uniform 121
|
||||
35: 8(int) Constant 0
|
||||
37: TypePointer Function 11(bool)
|
||||
39(SSBO1): TypeStruct 16(MyStruct)
|
||||
40: TypePointer Uniform 39(SSBO1)
|
||||
41(outBuf): 40(ptr) Variable Uniform
|
||||
45: TypePointer Uniform 15
|
||||
48: TypePointer Uniform 7(fvec2)
|
||||
53: 8(int) Constant 1
|
||||
55: TypePointer Uniform 8(int)
|
||||
57: TypeArray 7(fvec2) 9
|
||||
58(MyStruct): TypeStruct 57 8(int)
|
||||
59(UBO): TypeStruct 58(MyStruct)
|
||||
60: TypePointer Uniform 59(UBO)
|
||||
61(uBuf): 60(ptr) Variable Uniform
|
||||
62: TypePointer Uniform 58(MyStruct)
|
||||
85: TypeArray 12(MyStruct) 9
|
||||
86(Nested): TypeStruct 6(float) 85
|
||||
87: TypePointer Function 86(Nested)
|
||||
89: TypeArray 58(MyStruct) 9
|
||||
90(Nested): TypeStruct 6(float) 89
|
||||
91(UBON): TypeStruct 90(Nested)
|
||||
92: TypePointer Uniform 91(UBON)
|
||||
93(uBufN): 92(ptr) Variable Uniform
|
||||
94: TypePointer Uniform 90(Nested)
|
||||
98: TypePointer Function 6(float)
|
||||
101: TypePointer Function 85
|
||||
125: TypeArray 16(MyStruct) 9
|
||||
126(Nested): TypeStruct 6(float) 125
|
||||
127(SSBO1N): TypeStruct 126(Nested)
|
||||
128: TypePointer Uniform 127(SSBO1N)
|
||||
129(outBufN): 128(ptr) Variable Uniform
|
||||
131: TypePointer Uniform 126(Nested)
|
||||
134: TypePointer Uniform 6(float)
|
||||
137: TypePointer Uniform 125
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
14(t): 13(ptr) Variable Function
|
||||
86(n): 85(ptr) Variable Function
|
||||
88(n): 87(ptr) Variable Function
|
||||
23: 22(ptr) AccessChain 19(inBuf) 21
|
||||
24:16(MyStruct) Load 23
|
||||
25: 15 CompositeExtract 24 0
|
||||
@@ -149,116 +149,120 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
||||
33: 29(ptr) AccessChain 27 32
|
||||
Store 33 31
|
||||
34: 8(int) CompositeExtract 24 1
|
||||
36: 35(ptr) AccessChain 14(t) 32
|
||||
Store 36 34
|
||||
40:12(MyStruct) Load 14(t)
|
||||
41: 22(ptr) AccessChain 39(outBuf) 21
|
||||
42: 10 CompositeExtract 40 0
|
||||
44: 43(ptr) AccessChain 41 21
|
||||
45: 7(fvec2) CompositeExtract 42 0
|
||||
47: 46(ptr) AccessChain 44 21
|
||||
Store 47 45
|
||||
48: 7(fvec2) CompositeExtract 42 1
|
||||
49: 46(ptr) AccessChain 44 32
|
||||
Store 49 48
|
||||
50: 11(bool) CompositeExtract 40 1
|
||||
53: 8(int) Select 50 52 51
|
||||
55: 54(ptr) AccessChain 41 32
|
||||
Store 55 53
|
||||
62: 61(ptr) AccessChain 60(uBuf) 21
|
||||
63:57(MyStruct) Load 62
|
||||
64: 56 CompositeExtract 63 0
|
||||
65: 26(ptr) AccessChain 14(t) 21
|
||||
66: 7(fvec2) CompositeExtract 64 0
|
||||
67: 29(ptr) AccessChain 65 21
|
||||
Store 67 66
|
||||
68: 7(fvec2) CompositeExtract 64 1
|
||||
69: 29(ptr) AccessChain 65 32
|
||||
Store 69 68
|
||||
70: 8(int) CompositeExtract 63 1
|
||||
71: 35(ptr) AccessChain 14(t) 32
|
||||
Store 71 70
|
||||
72:12(MyStruct) Load 14(t)
|
||||
73: 22(ptr) AccessChain 39(outBuf) 21
|
||||
74: 10 CompositeExtract 72 0
|
||||
75: 43(ptr) AccessChain 73 21
|
||||
76: 7(fvec2) CompositeExtract 74 0
|
||||
77: 46(ptr) AccessChain 75 21
|
||||
Store 77 76
|
||||
78: 7(fvec2) CompositeExtract 74 1
|
||||
79: 46(ptr) AccessChain 75 32
|
||||
36: 11(bool) INotEqual 34 35
|
||||
38: 37(ptr) AccessChain 14(t) 32
|
||||
Store 38 36
|
||||
42:12(MyStruct) Load 14(t)
|
||||
43: 22(ptr) AccessChain 41(outBuf) 21
|
||||
44: 10 CompositeExtract 42 0
|
||||
46: 45(ptr) AccessChain 43 21
|
||||
47: 7(fvec2) CompositeExtract 44 0
|
||||
49: 48(ptr) AccessChain 46 21
|
||||
Store 49 47
|
||||
50: 7(fvec2) CompositeExtract 44 1
|
||||
51: 48(ptr) AccessChain 46 32
|
||||
Store 51 50
|
||||
52: 11(bool) CompositeExtract 42 1
|
||||
54: 8(int) Select 52 53 35
|
||||
56: 55(ptr) AccessChain 43 32
|
||||
Store 56 54
|
||||
63: 62(ptr) AccessChain 61(uBuf) 21
|
||||
64:58(MyStruct) Load 63
|
||||
65: 57 CompositeExtract 64 0
|
||||
66: 26(ptr) AccessChain 14(t) 21
|
||||
67: 7(fvec2) CompositeExtract 65 0
|
||||
68: 29(ptr) AccessChain 66 21
|
||||
Store 68 67
|
||||
69: 7(fvec2) CompositeExtract 65 1
|
||||
70: 29(ptr) AccessChain 66 32
|
||||
Store 70 69
|
||||
71: 8(int) CompositeExtract 64 1
|
||||
72: 11(bool) INotEqual 71 35
|
||||
73: 37(ptr) AccessChain 14(t) 32
|
||||
Store 73 72
|
||||
74:12(MyStruct) Load 14(t)
|
||||
75: 22(ptr) AccessChain 41(outBuf) 21
|
||||
76: 10 CompositeExtract 74 0
|
||||
77: 45(ptr) AccessChain 75 21
|
||||
78: 7(fvec2) CompositeExtract 76 0
|
||||
79: 48(ptr) AccessChain 77 21
|
||||
Store 79 78
|
||||
80: 11(bool) CompositeExtract 72 1
|
||||
81: 8(int) Select 80 52 51
|
||||
82: 54(ptr) AccessChain 73 32
|
||||
Store 82 81
|
||||
93: 92(ptr) AccessChain 91(uBufN) 21
|
||||
94: 88(Nested) Load 93
|
||||
95: 6(float) CompositeExtract 94 0
|
||||
97: 96(ptr) AccessChain 86(n) 21
|
||||
Store 97 95
|
||||
98: 87 CompositeExtract 94 1
|
||||
100: 99(ptr) AccessChain 86(n) 32
|
||||
101:57(MyStruct) CompositeExtract 98 0
|
||||
102: 13(ptr) AccessChain 100 21
|
||||
103: 56 CompositeExtract 101 0
|
||||
104: 26(ptr) AccessChain 102 21
|
||||
105: 7(fvec2) CompositeExtract 103 0
|
||||
106: 29(ptr) AccessChain 104 21
|
||||
Store 106 105
|
||||
107: 7(fvec2) CompositeExtract 103 1
|
||||
108: 29(ptr) AccessChain 104 32
|
||||
80: 7(fvec2) CompositeExtract 76 1
|
||||
81: 48(ptr) AccessChain 77 32
|
||||
Store 81 80
|
||||
82: 11(bool) CompositeExtract 74 1
|
||||
83: 8(int) Select 82 53 35
|
||||
84: 55(ptr) AccessChain 75 32
|
||||
Store 84 83
|
||||
95: 94(ptr) AccessChain 93(uBufN) 21
|
||||
96: 90(Nested) Load 95
|
||||
97: 6(float) CompositeExtract 96 0
|
||||
99: 98(ptr) AccessChain 88(n) 21
|
||||
Store 99 97
|
||||
100: 89 CompositeExtract 96 1
|
||||
102: 101(ptr) AccessChain 88(n) 32
|
||||
103:58(MyStruct) CompositeExtract 100 0
|
||||
104: 13(ptr) AccessChain 102 21
|
||||
105: 57 CompositeExtract 103 0
|
||||
106: 26(ptr) AccessChain 104 21
|
||||
107: 7(fvec2) CompositeExtract 105 0
|
||||
108: 29(ptr) AccessChain 106 21
|
||||
Store 108 107
|
||||
109: 8(int) CompositeExtract 101 1
|
||||
110: 35(ptr) AccessChain 102 32
|
||||
109: 7(fvec2) CompositeExtract 105 1
|
||||
110: 29(ptr) AccessChain 106 32
|
||||
Store 110 109
|
||||
111:57(MyStruct) CompositeExtract 98 1
|
||||
112: 13(ptr) AccessChain 100 32
|
||||
113: 56 CompositeExtract 111 0
|
||||
114: 26(ptr) AccessChain 112 21
|
||||
115: 7(fvec2) CompositeExtract 113 0
|
||||
116: 29(ptr) AccessChain 114 21
|
||||
Store 116 115
|
||||
117: 7(fvec2) CompositeExtract 113 1
|
||||
118: 29(ptr) AccessChain 114 32
|
||||
Store 118 117
|
||||
119: 8(int) CompositeExtract 111 1
|
||||
120: 35(ptr) AccessChain 112 32
|
||||
Store 120 119
|
||||
126: 84(Nested) Load 86(n)
|
||||
128: 127(ptr) AccessChain 125(outBufN) 21
|
||||
129: 6(float) CompositeExtract 126 0
|
||||
131: 130(ptr) AccessChain 128 21
|
||||
Store 131 129
|
||||
132: 83 CompositeExtract 126 1
|
||||
134: 133(ptr) AccessChain 128 32
|
||||
135:12(MyStruct) CompositeExtract 132 0
|
||||
136: 22(ptr) AccessChain 134 21
|
||||
137: 10 CompositeExtract 135 0
|
||||
138: 43(ptr) AccessChain 136 21
|
||||
139: 7(fvec2) CompositeExtract 137 0
|
||||
140: 46(ptr) AccessChain 138 21
|
||||
Store 140 139
|
||||
141: 7(fvec2) CompositeExtract 137 1
|
||||
142: 46(ptr) AccessChain 138 32
|
||||
Store 142 141
|
||||
143: 11(bool) CompositeExtract 135 1
|
||||
144: 8(int) Select 143 52 51
|
||||
145: 54(ptr) AccessChain 136 32
|
||||
Store 145 144
|
||||
146:12(MyStruct) CompositeExtract 132 1
|
||||
147: 22(ptr) AccessChain 134 32
|
||||
148: 10 CompositeExtract 146 0
|
||||
149: 43(ptr) AccessChain 147 21
|
||||
150: 7(fvec2) CompositeExtract 148 0
|
||||
151: 46(ptr) AccessChain 149 21
|
||||
Store 151 150
|
||||
152: 7(fvec2) CompositeExtract 148 1
|
||||
153: 46(ptr) AccessChain 149 32
|
||||
Store 153 152
|
||||
154: 11(bool) CompositeExtract 146 1
|
||||
155: 8(int) Select 154 52 51
|
||||
156: 54(ptr) AccessChain 147 32
|
||||
Store 156 155
|
||||
111: 8(int) CompositeExtract 103 1
|
||||
112: 11(bool) INotEqual 111 35
|
||||
113: 37(ptr) AccessChain 104 32
|
||||
Store 113 112
|
||||
114:58(MyStruct) CompositeExtract 100 1
|
||||
115: 13(ptr) AccessChain 102 32
|
||||
116: 57 CompositeExtract 114 0
|
||||
117: 26(ptr) AccessChain 115 21
|
||||
118: 7(fvec2) CompositeExtract 116 0
|
||||
119: 29(ptr) AccessChain 117 21
|
||||
Store 119 118
|
||||
120: 7(fvec2) CompositeExtract 116 1
|
||||
121: 29(ptr) AccessChain 117 32
|
||||
Store 121 120
|
||||
122: 8(int) CompositeExtract 114 1
|
||||
123: 11(bool) INotEqual 122 35
|
||||
124: 37(ptr) AccessChain 115 32
|
||||
Store 124 123
|
||||
130: 86(Nested) Load 88(n)
|
||||
132: 131(ptr) AccessChain 129(outBufN) 21
|
||||
133: 6(float) CompositeExtract 130 0
|
||||
135: 134(ptr) AccessChain 132 21
|
||||
Store 135 133
|
||||
136: 85 CompositeExtract 130 1
|
||||
138: 137(ptr) AccessChain 132 32
|
||||
139:12(MyStruct) CompositeExtract 136 0
|
||||
140: 22(ptr) AccessChain 138 21
|
||||
141: 10 CompositeExtract 139 0
|
||||
142: 45(ptr) AccessChain 140 21
|
||||
143: 7(fvec2) CompositeExtract 141 0
|
||||
144: 48(ptr) AccessChain 142 21
|
||||
Store 144 143
|
||||
145: 7(fvec2) CompositeExtract 141 1
|
||||
146: 48(ptr) AccessChain 142 32
|
||||
Store 146 145
|
||||
147: 11(bool) CompositeExtract 139 1
|
||||
148: 8(int) Select 147 53 35
|
||||
149: 55(ptr) AccessChain 140 32
|
||||
Store 149 148
|
||||
150:12(MyStruct) CompositeExtract 136 1
|
||||
151: 22(ptr) AccessChain 138 32
|
||||
152: 10 CompositeExtract 150 0
|
||||
153: 45(ptr) AccessChain 151 21
|
||||
154: 7(fvec2) CompositeExtract 152 0
|
||||
155: 48(ptr) AccessChain 153 21
|
||||
Store 155 154
|
||||
156: 7(fvec2) CompositeExtract 152 1
|
||||
157: 48(ptr) AccessChain 153 32
|
||||
Store 157 156
|
||||
158: 11(bool) CompositeExtract 150 1
|
||||
159: 8(int) Select 158 53 35
|
||||
160: 55(ptr) AccessChain 151 32
|
||||
Store 160 159
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user