mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
The prior code only supported unsigned integers. Also fixes #2236. Co-authored-by: Jim Blandy <jimb@red-bean.com>
137 lines
3.5 KiB
GLSL
137 lines
3.5 KiB
GLSL
#version 310 es
|
|
|
|
precision highp float;
|
|
precision highp int;
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
|
|
void main() {
|
|
int i = 0;
|
|
ivec2 i2_ = ivec2(0);
|
|
ivec3 i3_ = ivec3(0);
|
|
ivec4 i4_ = ivec4(0);
|
|
uint u = 0u;
|
|
uvec2 u2_ = uvec2(0u);
|
|
uvec3 u3_ = uvec3(0u);
|
|
uvec4 u4_ = uvec4(0u);
|
|
vec2 f2_ = vec2(0.0);
|
|
vec4 f4_ = vec4(0.0);
|
|
i = 0;
|
|
i2_ = ivec2(0);
|
|
i3_ = ivec3(0);
|
|
i4_ = ivec4(0);
|
|
u = 0u;
|
|
u2_ = uvec2(0u);
|
|
u3_ = uvec3(0u);
|
|
u4_ = uvec4(0u);
|
|
f2_ = vec2(0.0);
|
|
f4_ = vec4(0.0);
|
|
vec4 _e28 = f4_;
|
|
u = packSnorm4x8(_e28);
|
|
vec4 _e30 = f4_;
|
|
u = packUnorm4x8(_e30);
|
|
vec2 _e32 = f2_;
|
|
u = packSnorm2x16(_e32);
|
|
vec2 _e34 = f2_;
|
|
u = packUnorm2x16(_e34);
|
|
vec2 _e36 = f2_;
|
|
u = packHalf2x16(_e36);
|
|
uint _e38 = u;
|
|
f4_ = unpackSnorm4x8(_e38);
|
|
uint _e40 = u;
|
|
f4_ = unpackUnorm4x8(_e40);
|
|
uint _e42 = u;
|
|
f2_ = unpackSnorm2x16(_e42);
|
|
uint _e44 = u;
|
|
f2_ = unpackUnorm2x16(_e44);
|
|
uint _e46 = u;
|
|
f2_ = unpackHalf2x16(_e46);
|
|
int _e48 = i;
|
|
int _e49 = i;
|
|
i = bitfieldInsert(_e48, _e49, int(5u), int(10u));
|
|
ivec2 _e53 = i2_;
|
|
ivec2 _e54 = i2_;
|
|
i2_ = bitfieldInsert(_e53, _e54, int(5u), int(10u));
|
|
ivec3 _e58 = i3_;
|
|
ivec3 _e59 = i3_;
|
|
i3_ = bitfieldInsert(_e58, _e59, int(5u), int(10u));
|
|
ivec4 _e63 = i4_;
|
|
ivec4 _e64 = i4_;
|
|
i4_ = bitfieldInsert(_e63, _e64, int(5u), int(10u));
|
|
uint _e68 = u;
|
|
uint _e69 = u;
|
|
u = bitfieldInsert(_e68, _e69, int(5u), int(10u));
|
|
uvec2 _e73 = u2_;
|
|
uvec2 _e74 = u2_;
|
|
u2_ = bitfieldInsert(_e73, _e74, int(5u), int(10u));
|
|
uvec3 _e78 = u3_;
|
|
uvec3 _e79 = u3_;
|
|
u3_ = bitfieldInsert(_e78, _e79, int(5u), int(10u));
|
|
uvec4 _e83 = u4_;
|
|
uvec4 _e84 = u4_;
|
|
u4_ = bitfieldInsert(_e83, _e84, int(5u), int(10u));
|
|
int _e88 = i;
|
|
i = bitfieldExtract(_e88, int(5u), int(10u));
|
|
ivec2 _e92 = i2_;
|
|
i2_ = bitfieldExtract(_e92, int(5u), int(10u));
|
|
ivec3 _e96 = i3_;
|
|
i3_ = bitfieldExtract(_e96, int(5u), int(10u));
|
|
ivec4 _e100 = i4_;
|
|
i4_ = bitfieldExtract(_e100, int(5u), int(10u));
|
|
uint _e104 = u;
|
|
u = bitfieldExtract(_e104, int(5u), int(10u));
|
|
uvec2 _e108 = u2_;
|
|
u2_ = bitfieldExtract(_e108, int(5u), int(10u));
|
|
uvec3 _e112 = u3_;
|
|
u3_ = bitfieldExtract(_e112, int(5u), int(10u));
|
|
uvec4 _e116 = u4_;
|
|
u4_ = bitfieldExtract(_e116, int(5u), int(10u));
|
|
int _e120 = i;
|
|
i = findLSB(_e120);
|
|
uvec2 _e122 = u2_;
|
|
u2_ = uvec2(findLSB(_e122));
|
|
ivec3 _e124 = i3_;
|
|
i3_ = findMSB(_e124);
|
|
uvec3 _e126 = u3_;
|
|
u3_ = uvec3(findMSB(_e126));
|
|
int _e128 = i;
|
|
i = findMSB(_e128);
|
|
uint _e130 = u;
|
|
u = uint(findMSB(_e130));
|
|
int _e132 = i;
|
|
i = bitCount(_e132);
|
|
ivec2 _e134 = i2_;
|
|
i2_ = bitCount(_e134);
|
|
ivec3 _e136 = i3_;
|
|
i3_ = bitCount(_e136);
|
|
ivec4 _e138 = i4_;
|
|
i4_ = bitCount(_e138);
|
|
uint _e140 = u;
|
|
u = uint(bitCount(_e140));
|
|
uvec2 _e142 = u2_;
|
|
u2_ = uvec2(bitCount(_e142));
|
|
uvec3 _e144 = u3_;
|
|
u3_ = uvec3(bitCount(_e144));
|
|
uvec4 _e146 = u4_;
|
|
u4_ = uvec4(bitCount(_e146));
|
|
int _e148 = i;
|
|
i = bitfieldReverse(_e148);
|
|
ivec2 _e150 = i2_;
|
|
i2_ = bitfieldReverse(_e150);
|
|
ivec3 _e152 = i3_;
|
|
i3_ = bitfieldReverse(_e152);
|
|
ivec4 _e154 = i4_;
|
|
i4_ = bitfieldReverse(_e154);
|
|
uint _e156 = u;
|
|
u = bitfieldReverse(_e156);
|
|
uvec2 _e158 = u2_;
|
|
u2_ = bitfieldReverse(_e158);
|
|
uvec3 _e160 = u3_;
|
|
u3_ = bitfieldReverse(_e160);
|
|
uvec4 _e162 = u4_;
|
|
u4_ = bitfieldReverse(_e162);
|
|
return;
|
|
}
|
|
|