Support multiple swizzled out operands (#2175)
Swizzled out operands were added in bbbd9a2a. This was sufficient
for most tests, but we ran into problems with umulExtended and
imulExtended, which have two.
This CL converts the tracking values to vectors so multiple operands
can be supported.
Test: KHR-GLES31.core.shader_bitfield_operation.*
Test: ctest
This commit is contained in:
@@ -97,6 +97,13 @@ void main()
|
||||
u += max(u, uui);
|
||||
u += clamp(u, uui, uui);
|
||||
|
||||
// multiple out operands
|
||||
uvec4 msb;
|
||||
uvec4 lsb;
|
||||
umulExtended(uuv4.xyz, uuv4.xyz, msb.xyz, lsb.xyz);
|
||||
u += msb.x + msb.y + msb.z;
|
||||
u += lsb.x + lsb.y + lsb.z;
|
||||
|
||||
//// bool
|
||||
b = isnan(uf);
|
||||
b = isinf(f);
|
||||
|
||||
Reference in New Issue
Block a user