Fix #1360: uint->int width conversions must still be typed as uint.

This commit is contained in:
John Kessenich 2018-06-04 19:11:25 -06:00
parent 14b85d3ff3
commit ad7645f4f5
8 changed files with 662 additions and 701 deletions

View file

@ -42,8 +42,8 @@ spv.int32.frag
Name 78 "f32v"
Name 84 "f64v"
Name 94 "i8v"
Name 103 "i16v"
Name 123 "u8v"
Name 105 "i16v"
Name 125 "u8v"
Name 132 "u16v"
Name 152 "f16v"
Name 168 "bv"
@ -144,15 +144,15 @@ spv.int32.frag
91: TypeInt 8 1
92: TypeVector 91(int8_t) 2
93: TypePointer Function 92(i8vec2)
100: TypeInt 16 1
101: TypeVector 100(int16_t) 2
102: TypePointer Function 101(i16vec2)
120: TypeInt 8 0
121: TypeVector 120(int8_t) 2
122: TypePointer Function 121(i8vec2)
129: TypeInt 16 0
130: TypeVector 129(int16_t) 2
131: TypePointer Function 130(i16vec2)
98: TypeInt 8 0
99: TypeVector 98(int8_t) 2
102: TypeInt 16 1
103: TypeVector 102(int16_t) 2
104: TypePointer Function 103(i16vec2)
109: TypeInt 16 0
110: TypeVector 109(int16_t) 2
124: TypePointer Function 99(i8vec2)
131: TypePointer Function 110(i16vec2)
149: TypeFloat 16
150: TypeVector 149(float16_t) 2
151: TypePointer Function 150(f16vec2)
@ -181,7 +181,7 @@ spv.int32.frag
395: 394(bvec3) ConstantComposite 381 381 381
397: TypeVector 91(int8_t) 4
398: TypePointer Function 397(i8vec4)
405: TypeVector 120(int8_t) 4
405: TypeVector 98(int8_t) 4
406: TypePointer Function 405(i8vec4)
417: TypePointer Function 63(int64_t)
421: TypePointer Function 394(bvec3)
@ -229,8 +229,8 @@ spv.int32.frag
78(f32v): 77(ptr) Variable Function
84(f64v): 83(ptr) Variable Function
94(i8v): 93(ptr) Variable Function
103(i16v): 102(ptr) Variable Function
123(u8v): 122(ptr) Variable Function
105(i16v): 104(ptr) Variable Function
125(u8v): 124(ptr) Variable Function
132(u16v): 131(ptr) Variable Function
152(f16v): 151(ptr) Variable Function
168(bv): 167(ptr) Variable Function
@ -245,7 +245,7 @@ spv.int32.frag
69: 64(i64vec2) Bitcast 68
Store 66(u64v) 69
70: 49(ivec2) Load 51(u32v)
71: 58(i64vec2) UConvert 70
71: 64(i64vec2) UConvert 70
72: 58(i64vec2) Bitcast 71
Store 60(i64v) 72
73: 49(ivec2) Load 51(u32v)
@ -267,44 +267,44 @@ spv.int32.frag
96: 92(i8vec2) SConvert 95
Store 94(i8v) 96
97: 49(ivec2) Load 51(u32v)
98: 92(i8vec2) UConvert 97
99: 92(i8vec2) Bitcast 98
Store 94(i8v) 99
104: 52(ivec2) Load 54(i32v)
105:101(i16vec2) SConvert 104
Store 103(i16v) 105
106: 49(ivec2) Load 51(u32v)
107:101(i16vec2) UConvert 106
108:101(i16vec2) Bitcast 107
Store 103(i16v) 108
109: 52(ivec2) Load 54(i32v)
110: 18(int) CompositeExtract 109 0
111: 18(int) CompositeExtract 109 1
112: 52(ivec2) CompositeConstruct 110 111
Store 54(i32v) 112
113: 49(ivec2) Load 51(u32v)
114: 52(ivec2) Bitcast 113
Store 54(i32v) 114
115: 52(ivec2) Load 54(i32v)
116: 58(i64vec2) SConvert 115
Store 60(i64v) 116
100: 99(i8vec2) UConvert 97
101: 92(i8vec2) Bitcast 100
Store 94(i8v) 101
106: 52(ivec2) Load 54(i32v)
107:103(i16vec2) SConvert 106
Store 105(i16v) 107
108: 49(ivec2) Load 51(u32v)
111:110(i16vec2) UConvert 108
112:103(i16vec2) Bitcast 111
Store 105(i16v) 112
113: 52(ivec2) Load 54(i32v)
114: 18(int) CompositeExtract 113 0
115: 18(int) CompositeExtract 113 1
116: 52(ivec2) CompositeConstruct 114 115
Store 54(i32v) 116
117: 49(ivec2) Load 51(u32v)
118: 58(i64vec2) UConvert 117
119: 58(i64vec2) Bitcast 118
Store 60(i64v) 119
124: 52(ivec2) Load 54(i32v)
125: 92(i8vec2) SConvert 124
126: 121(i8vec2) Bitcast 125
Store 123(u8v) 126
127: 49(ivec2) Load 51(u32v)
128: 121(i8vec2) UConvert 127
Store 123(u8v) 128
118: 52(ivec2) Bitcast 117
Store 54(i32v) 118
119: 52(ivec2) Load 54(i32v)
120: 58(i64vec2) SConvert 119
Store 60(i64v) 120
121: 49(ivec2) Load 51(u32v)
122: 64(i64vec2) UConvert 121
123: 58(i64vec2) Bitcast 122
Store 60(i64v) 123
126: 52(ivec2) Load 54(i32v)
127: 92(i8vec2) SConvert 126
128: 99(i8vec2) Bitcast 127
Store 125(u8v) 128
129: 49(ivec2) Load 51(u32v)
130: 99(i8vec2) UConvert 129
Store 125(u8v) 130
133: 52(ivec2) Load 54(i32v)
134:101(i16vec2) SConvert 133
135:130(i16vec2) Bitcast 134
134:103(i16vec2) SConvert 133
135:110(i16vec2) Bitcast 134
Store 132(u16v) 135
136: 49(ivec2) Load 51(u32v)
137:130(i16vec2) UConvert 136
137:110(i16vec2) UConvert 136
Store 132(u16v) 137
138: 52(ivec2) Load 54(i32v)
139: 49(ivec2) Bitcast 138
@ -519,7 +519,7 @@ spv.int32.frag
325(u32v): 185(ptr) Variable Function
327(u32): 38(ptr) Variable Function
399(i8v4): 398(ptr) Variable Function
402(i16v2): 102(ptr) Variable Function
402(i16v2): 104(ptr) Variable Function
407(u8v4): 406(ptr) Variable Function
410(u16v2): 131(ptr) Variable Function
413(i64): 226(ptr) Variable Function
@ -621,13 +621,13 @@ spv.int32.frag
400: 397(i8vec4) Load 399(i8v4)
401: 18(int) Bitcast 400
Store 315(i32) 401
403:101(i16vec2) Load 402(i16v2)
403:103(i16vec2) Load 402(i16v2)
404: 18(int) Bitcast 403
Store 315(i32) 404
408: 405(i8vec4) Load 407(u8v4)
409: 14(int) Bitcast 408
Store 327(u32) 409
411:130(i16vec2) Load 410(u16v2)
411:110(i16vec2) Load 410(u16v2)
412: 14(int) Bitcast 411
Store 327(u32) 412
414: 57(int64_t) Load 413(i64)