@ludicon/spark.js 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/spark.esm.js +378 -607
- package/dist/spark_astc_rgb-DaSIMKXW.js +4 -0
- package/dist/spark_astc_rgba-BToA2Rcq.js +4 -0
- package/dist/spark_bc1_rgb-DZwuM1tO.js +4 -0
- package/dist/spark_bc4_r-DjThizCH.js +4 -0
- package/dist/spark_bc5_rg-6bO0Gvo9.js +4 -0
- package/dist/spark_bc7_rgb-FXpBw9fE.js +4 -0
- package/dist/spark_bc7_rgba-C8Hi2pUY.js +4 -0
- package/dist/spark_eac_r-D8HGiglc.js +4 -0
- package/dist/spark_eac_rg-DvsrLP9h.js +4 -0
- package/dist/spark_etc2_rgb-C-j5FZpn.js +4 -0
- package/dist/utils-Dw9jXlhw.js +169 -0
- package/package.json +2 -2
- package/src/three-gltf.js +6 -2
- package/dist/spark_astc_rgb-ylbf30mQ.js +0 -4
- package/dist/spark_astc_rgba-C4NuyfHw.js +0 -4
- package/dist/spark_bc1_rgb-L0ZV40FW.js +0 -4
- package/dist/spark_bc4_r-B4cqoXVq.js +0 -4
- package/dist/spark_bc5_rg-boGe-kBy.js +0 -4
- package/dist/spark_bc7_rgb-CYdL55pE.js +0 -4
- package/dist/spark_bc7_rgba-BFgOyqos.js +0 -4
- package/dist/spark_eac_r-BFwH430b.js +0 -4
- package/dist/spark_eac_rg--Gm5Gzmk.js +0 -4
- package/dist/spark_etc2_rgb-CWjBHhHQ.js +0 -4
- package/dist/utils-CqE_M33R.js +0 -4
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
const n = `struct Params {
|
|
2
|
+
colorMode: u32,
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
@group(0) @binding(0) var src : texture_2d<f32>;
|
|
6
|
+
@group(0) @binding(1) var dst : texture_storage_2d<rgba8unorm, write>;
|
|
7
|
+
@group(0) @binding(2) var smp: sampler;
|
|
8
|
+
@group(0) @binding(3) var<uniform> params: Params;
|
|
9
|
+
|
|
10
|
+
fn linear_to_srgb_vec3(c: vec3<f32>) -> vec3<f32> {
|
|
11
|
+
return select(
|
|
12
|
+
1.055 * pow(c, vec3<f32>(1.0 / 2.4)) - 0.055,
|
|
13
|
+
c * 12.92,
|
|
14
|
+
c <= vec3<f32>(0.0031308)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
fn linear_to_srgb_vec4(c: vec4<f32>) -> vec4<f32> {
|
|
19
|
+
return vec4<f32>(linear_to_srgb_vec3(c.xyz), c.w);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
fn normalize_vec4(c: vec4<f32>) -> vec4<f32> {
|
|
23
|
+
if (c.z == 0.0) {
|
|
24
|
+
// If the normal is stored with only the XY components, there's no need to normalize.
|
|
25
|
+
return c;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return vec4<f32>(saturate(0.5 * normalize(2 * c.xyz - 1) + 0.5), c.w);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@compute @workgroup_size(8, 8)
|
|
33
|
+
fn mipmap(@builtin(global_invocation_id) id : vec3<u32>) {
|
|
34
|
+
let dstSize = textureDimensions(dst).xy;
|
|
35
|
+
if (id.x >= dstSize.x || id.y >= dstSize.y) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let size_rcp = vec2f(1.0) / vec2f(dstSize);
|
|
40
|
+
|
|
41
|
+
// We are not doing this yet, but in some cases we want to take 4 samples in order to apply alpha weighting,
|
|
42
|
+
// or to support non multiple of two textures.
|
|
43
|
+
let uv0 = (vec2f(id.xy) + vec2f(0.25)) * size_rcp;
|
|
44
|
+
let uv1 = uv0 + 0.5 * size_rcp;
|
|
45
|
+
|
|
46
|
+
var color = vec4f(0.0);
|
|
47
|
+
color += textureSampleLevel(src, smp, vec2f(uv0.x, uv0.y), 0);
|
|
48
|
+
color += textureSampleLevel(src, smp, vec2f(uv1.x, uv0.y), 0);
|
|
49
|
+
color += textureSampleLevel(src, smp, vec2f(uv0.x, uv1.y), 0);
|
|
50
|
+
color += textureSampleLevel(src, smp, vec2f(uv1.x, uv1.y), 0);
|
|
51
|
+
color *= 0.25;
|
|
52
|
+
|
|
53
|
+
// This would be the single sample implementation:
|
|
54
|
+
// let uv = (vec2f(id.xy) + vec2f(0.5)) * size_rcp;
|
|
55
|
+
// var color = textureSampleLevel(src, smp, vec2f(uv.x, uv.y), 0);
|
|
56
|
+
|
|
57
|
+
if (params.colorMode == 1) {
|
|
58
|
+
color = linear_to_srgb_vec4(color);
|
|
59
|
+
} else if (params.colorMode == 2) {
|
|
60
|
+
color = normalize_vec4(color);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
textureStore(dst, id.xy, color);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@compute @workgroup_size(8, 8)
|
|
67
|
+
fn resize(@builtin(global_invocation_id) id : vec3<u32>) {
|
|
68
|
+
let dstSize = textureDimensions(dst).xy;
|
|
69
|
+
if (id.x >= dstSize.x || id.y >= dstSize.y) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
let uv = (vec2f(id.xy) + vec2f(0.5)) / vec2f(dstSize);
|
|
74
|
+
var color = textureSampleLevel(src, smp, uv, 0);
|
|
75
|
+
|
|
76
|
+
if (params.colorMode == 1) {
|
|
77
|
+
color = linear_to_srgb_vec4(color);
|
|
78
|
+
} else if (params.colorMode == 2) {
|
|
79
|
+
color = normalize_vec4(color);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
textureStore(dst, id.xy, color);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@compute @workgroup_size(8, 8)
|
|
86
|
+
fn flipy(@builtin(global_invocation_id) id : vec3<u32>) {
|
|
87
|
+
let dstSize = textureDimensions(dst).xy;
|
|
88
|
+
if (id.x >= dstSize.x || id.y >= dstSize.y) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
let uv = (vec2f(f32(id.x), f32(dstSize.y - 1u - id.y)) + vec2f(0.5)) / vec2f(dstSize);
|
|
93
|
+
var color = textureSampleLevel(src, smp, uv, 0);
|
|
94
|
+
|
|
95
|
+
if (params.colorMode == 1) {
|
|
96
|
+
color = linear_to_srgb_vec4(color);
|
|
97
|
+
} else if (params.colorMode == 2) {
|
|
98
|
+
color = normalize_vec4(color);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
textureStore(dst, id.xy, color);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@group(0) @binding(1) var<storage, read_write> global_counters: array<atomic<u32>, 3>;
|
|
106
|
+
|
|
107
|
+
var<workgroup> local_opaque: atomic<u32>;
|
|
108
|
+
var<workgroup> local_grayscale: atomic<u32>;
|
|
109
|
+
var<workgroup> local_invalid_normals: atomic<u32>;
|
|
110
|
+
|
|
111
|
+
@compute @workgroup_size(8, 8)
|
|
112
|
+
fn detect_channel_count(@builtin(global_invocation_id) global_id: vec3<u32>,
|
|
113
|
+
@builtin(local_invocation_index) local_id: u32) {
|
|
114
|
+
|
|
115
|
+
if (local_id == 0u) {
|
|
116
|
+
atomicStore(&local_opaque, 1u);
|
|
117
|
+
atomicStore(&local_grayscale, 1u);
|
|
118
|
+
atomicStore(&local_invalid_normals, 0u);
|
|
119
|
+
}
|
|
120
|
+
workgroupBarrier();
|
|
121
|
+
|
|
122
|
+
let tex_size = textureDimensions(src);
|
|
123
|
+
if (global_id.x < tex_size.x && global_id.y < tex_size.y) {
|
|
124
|
+
|
|
125
|
+
let color = textureLoad(src, vec2<i32>(global_id.xy), 0);
|
|
126
|
+
|
|
127
|
+
// Alpha check
|
|
128
|
+
if (color.a < 1.0) {
|
|
129
|
+
atomicStore(&local_opaque, 0u);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Grayscale check
|
|
133
|
+
if (color.r != color.g || color.g != color.b) {
|
|
134
|
+
atomicStore(&local_grayscale, 0u);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Normal check
|
|
138
|
+
let n = color.rgb * 2.0 - vec3(1.0);
|
|
139
|
+
let len = length(n);
|
|
140
|
+
|
|
141
|
+
if (abs(len - 1.0) > 0.2 || n.z < -0.1) {
|
|
142
|
+
atomicAdd(&local_invalid_normals, 1u);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
workgroupBarrier();
|
|
147
|
+
|
|
148
|
+
if (local_id == 0u) {
|
|
149
|
+
// If not opaque, write not-opaque flag.
|
|
150
|
+
if (atomicLoad(&local_opaque) == 0u) {
|
|
151
|
+
atomicStore(&global_counters[0], 1u);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// If not greyscale, write not greyscale flag.
|
|
155
|
+
if (atomicLoad(&local_grayscale) == 0u) {
|
|
156
|
+
atomicStore(&global_counters[1], 1u);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Add number of texels that are not normal.
|
|
160
|
+
atomicAdd(&global_counters[2], atomicLoad(&local_invalid_normals));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
// @@ Compute RMSE?
|
|
166
|
+
`;
|
|
167
|
+
export {
|
|
168
|
+
n as default
|
|
169
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ludicon/spark.js",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Real-Time GPU Texture Codecs for the Web",
|
|
5
5
|
"main": "dist/spark.esm.js",
|
|
6
6
|
"module": "dist/spark.esm.js",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"prettier": "^3.0.0",
|
|
65
65
|
"rimraf": "^5.0.0",
|
|
66
66
|
"rollup-plugin-summary": "^3.0.1",
|
|
67
|
-
"three": "^0.
|
|
67
|
+
"three": "^0.182.0",
|
|
68
68
|
"vite": "^7.0.0"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
package/src/three-gltf.js
CHANGED
|
@@ -42,7 +42,7 @@ class GLTFSparkPlugin {
|
|
|
42
42
|
if (isNormal) {
|
|
43
43
|
textureIsNormal[index] = true
|
|
44
44
|
|
|
45
|
-
// Normal map unpacking not supported in three.js prior to
|
|
45
|
+
// Normal map unpacking not supported in three.js prior to r182
|
|
46
46
|
if (!("NormalRGPacking" in THREE)) {
|
|
47
47
|
textureChannels[index] |= Channel.RGB
|
|
48
48
|
}
|
|
@@ -177,7 +177,11 @@ class SparkLoader extends THREE.TextureLoader {
|
|
|
177
177
|
.then(gpuTexture => {
|
|
178
178
|
const texture = new THREE.ExternalTexture(gpuTexture)
|
|
179
179
|
if (this.format == "rg" && "NormalRGPacking" in THREE) {
|
|
180
|
-
|
|
180
|
+
// This is not understood by stock three.js
|
|
181
|
+
// texture.userData.unpackNormal = THREE.NormalRGPacking
|
|
182
|
+
if (texture.format == "bc5-rg-unorm") texture.format = THREE.RED_GREEN_RGTC2_Format
|
|
183
|
+
else if (texture.format == "eac-rg11unorm") texture.format = THREE.RG11_EAC_Format
|
|
184
|
+
else texture.format = THREE.RGFormat
|
|
181
185
|
}
|
|
182
186
|
onLoad(texture)
|
|
183
187
|
})
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_astc_rgb = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_4555:vec3u;var<private>x_4561:vec3u;@binding(2) @group(0) var<storage,read_write>x_4651:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec3h(1.0h);const _8=vec3h(0.85986328125h,1.7099609375h,0.429931640625h);fn _9(){var _a:array<u32,243u>;var _b:bool;var _c:bool;var _d:f16;var _e:f16;var _f:f16;var _g:f16;var _h:vec3h;var _i:vec3h;var _j:u32;var _k:u32;var _l:u32;var _m:u32;var _n:u32;var _o:u32;var _p:u32;var _q:u32;var _r:u32;var _s:u32;var _t:u32;var _u:u32;switch(0u){default:{let _v=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _w=((_v.x+3u)/4u);let _x=x_4555;let _y=x_4555.xy;let _z=x_4555.x;let _10=(_z>=_w);_c=_10;if(!(_10)){_b=(_x.y>=((_v.y+3u)/4u));_c=_b;}if(_c){break;}let _11=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _12=((vec2f(bitcast<vec2i>((_y*vec2u(4u))))*_11)+_11);let _13=vec4h(textureGather(0i,_3,_2,_12,vec2i()));let _14=vec4h(textureGather(0i,_3,_2,_12,_4));let _15=vec4h(textureGather(0i,_3,_2,_12,_5));let _16=vec4h(textureGather(0i,_3,_2,_12,_6));let _17=vec4h(textureGather(1i,_3,_2,_12,vec2i()));let _18=vec4h(textureGather(1i,_3,_2,_12,_4));let _19=vec4h(textureGather(1i,_3,_2,_12,_5));let _1a=vec4h(textureGather(1i,_3,_2,_12,_6));let _1b=vec4h(textureGather(2i,_3,_2,_12,vec2i()));let _1c=vec4h(textureGather(2i,_3,_2,_12,_4));let _1d=vec4h(textureGather(2i,_3,_2,_12,_5));let _1e=vec4h(textureGather(2i,_3,_2,_12,_6));let _1f=vec3h(_13.w,_17.w,_1b.w);let _1g=vec3h(_13.z,_17.z,_1b.z);let _1h=vec3h(_14.w,_18.w,_1c.w);let _1i=vec3h(_14.z,_18.z,_1c.z);let _1j=vec3h(_13.x,_17.x,_1b.x);let _1k=vec3h(_13.y,_17.y,_1b.y);let _1l=vec3h(_14.x,_18.x,_1c.x);let _1m=vec3h(_14.y,_18.y,_1c.y);let _1n=vec3h(_15.w,_19.w,_1d.w);let _1o=vec3h(_15.z,_19.z,_1d.z);let _1p=vec3h(_16.w,_1a.w,_1e.w);let _1q=vec3h(_16.z,_1a.z,_1e.z);let _1r=vec3h(_15.x,_19.x,_1d.x);let _1s=vec3h(_15.y,_19.y,_1d.y);let _1t=vec3h(_16.x,_1a.x,_1e.x);let _1u=vec3h(_16.y,_1a.y,_1e.y);let _1v=(((((((((((((((_1f+_1g)+_1h)+_1i)+_1j)+_1k)+_1l)+_1m)+_1n)+_1o)+_1p)+_1q)+_1r)+_1s)+_1t)+_1u);let _1w=((_1f*16.0h)-_1v);let _1x=_1w.x;let _1y=_1w.y;let _1z=_1w.z;let _20=((_1g*16.0h)-_1v);let _21=_20.x;let _22=_20.y;let _23=_20.z;let _24=((_1h*16.0h)-_1v);let _25=_24.x;let _26=_24.y;let _27=_24.z;let _28=((_1i*16.0h)-_1v);let _29=_28.x;let _2a=_28.y;let _2b=_28.z;let _2c=((_1j*16.0h)-_1v);let _2d=_2c.x;let _2e=_2c.y;let _2f=_2c.z;let _2g=((_1k*16.0h)-_1v);let _2h=_2g.x;let _2i=_2g.y;let _2j=_2g.z;let _2k=((_1l*16.0h)-_1v);let _2l=_2k.x;let _2m=_2k.y;let _2n=_2k.z;let _2o=((_1m*16.0h)-_1v);let _2p=_2o.x;let _2q=_2o.y;let _2r=_2o.z;let _2s=((_1n*16.0h)-_1v);let _2t=_2s.x;let _2u=_2s.y;let _2v=_2s.z;let _2w=((_1o*16.0h)-_1v);let _2x=_2w.x;let _2y=_2w.y;let _2z=_2w.z;let _30=((_1p*16.0h)-_1v);let _31=_30.x;let _32=_30.y;let _33=_30.z;let _34=((_1q*16.0h)-_1v);let _35=_34.x;let _36=_34.y;let _37=_34.z;let _38=((_1r*16.0h)-_1v);let _39=_38.x;let _3a=_38.y;let _3b=_38.z;let _3c=((_1s*16.0h)-_1v);let _3d=_3c.x;let _3e=_3c.y;let _3f=_3c.z;let _3g=((_1t*16.0h)-_1v);let _3h=_3g.x;let _3i=_3g.y;let _3j=_3g.z;let _3k=((_1u*16.0h)-_1v);let _3l=_3k.x;let _3m=((((((((((((((((_1x*_1x)+(_21*_21))+(_25*_25))+(_29*_29))+(_2d*_2d))+(_2h*_2h))+(_2l*_2l))+(_2p*_2p))+(_2t*_2t))+(_2x*_2x))+(_31*_31))+(_35*_35))+(_39*_39))+(_3d*_3d))+(_3h*_3h))+(_3l*_3l));let _3n=_3k.y;let _3o=_3k.z;let _3p=((((((((((((((((_1y*_1y)+(_22*_22))+(_26*_26))+(_2a*_2a))+(_2e*_2e))+(_2i*_2i))+(_2m*_2m))+(_2q*_2q))+(_2u*_2u))+(_2y*_2y))+(_32*_32))+(_36*_36))+(_3a*_3a))+(_3e*_3e))+(_3i*_3i))+(_3n*_3n));let _3q=((((((((((((((((_1z*_1z)+(_23*_23))+(_27*_27))+(_2b*_2b))+(_2f*_2f))+(_2j*_2j))+(_2n*_2n))+(_2r*_2r))+(_2v*_2v))+(_2z*_2z))+(_33*_33))+(_37*_37))+(_3b*_3b))+(_3f*_3f))+(_3j*_3j))+(_3o*_3o));let _3r=select(1.0h,0.015625h,(max(max(_3m,_3p),_3q)>64.0h));let _3s=(_3m*_3r);let _3t=(((((((((((((((((_1x*_1y)+(_21*_22))+(_25*_26))+(_29*_2a))+(_2d*_2e))+(_2h*_2i))+(_2l*_2m))+(_2p*_2q))+(_2t*_2u))+(_2x*_2y))+(_31*_32))+(_35*_36))+(_39*_3a))+(_3d*_3e))+(_3h*_3i))+(_3l*_3n))*_3r);let _3u=(((((((((((((((((_1x*_1z)+(_21*_23))+(_25*_27))+(_29*_2b))+(_2d*_2f))+(_2h*_2j))+(_2l*_2n))+(_2p*_2r))+(_2t*_2v))+(_2x*_2z))+(_31*_33))+(_35*_37))+(_39*_3b))+(_3d*_3f))+(_3h*_3j))+(_3l*_3o))*_3r);let _3v=(_3p*_3r);let _3w=(((((((((((((((((_1y*_1z)+(_22*_23))+(_26*_27))+(_2a*_2b))+(_2e*_2f))+(_2i*_2j))+(_2m*_2n))+(_2q*_2r))+(_2u*_2v))+(_2y*_2z))+(_32*_33))+(_36*_37))+(_3a*_3b))+(_3e*_3f))+(_3i*_3j))+(_3n*_3o))*_3r);let _3x=(_3q*_3r);let _3y=(vec3h(_3s,_3v,_3x)+vec3h(0.0001220703125h));let _3z=vec3h((vec3f(_3y)*(1.0f/f32(max(max(_3y.x,_3y.y),_3y.z)))));let _40=_3z.x;_e=_40;if((_3t<0.0h)){_d=-(_40);_e=_d;}let _41=_3z.z;_g=_41;if((_3w<0.0h)){_f=-(_41);_g=_f;}var _42:f16;var _43:f16;var _44:f16;var _45:f16;var _46:f16;var _47:f16;let _48=_3z.y;let _49=(((_e*_3s)+(_48*_3t))+(_g*_3u));let _4a=(((_e*_3t)+(_48*_3v))+(_g*_3w));let _4b=(((_e*_3u)+(_48*_3w))+(_g*_3x));let _4c=max(max(abs(_49),abs(_4a)),abs(_4b));let _4d=vec3h((vec3f(f32(_49),f32(_4a),f32(_4b))*(1.0f/f32(select(_4c,1.0h,(_4c==0.0h))))));let _4e=_4d.x;let _4f=_4d.y;let _4g=_4d.z;let _4h=(((_4e*_3s)+(_4f*_3t))+(_4g*_3u));let _4i=(((_4e*_3t)+(_4f*_3v))+(_4g*_3w));let _4j=(((_4e*_3u)+(_4f*_3w))+(_4g*_3x));let _4k=max(max(abs(_4h),abs(_4i)),abs(_4j));let _4l=(_4k==0.0h);let _4m=select(vec3h((vec3f(f32(_4h),f32(_4i),f32(_4j))*(1.0f/f32(select(_4k,1.0h,_4l))))),_7,vec3<bool>(_4l));let _4n=(_1v*0.0625h);let _4o=(_4m*_8);let _4p=(1.0h/dot(_4o,_4o));let _4q=((_4o*_4p)*_8);let _4r=dot(_1f,_4q);let _4s=dot(_1g,_4q);let _4t=(_4s<_4r);let _4u=select(1u,0u,_4t);let _4v=select(_4r,_4s,_4t);let _4w=(_4s>_4r);let _4x=select(1u,0u,_4w);let _4y=select(_4r,_4s,_4w);let _4z=dot(_1h,_4q);let _50=(_4z<_4v);let _51=select(select(_4u,(_4u+1u),(_4s==_4v)),0u,_50);let _52=select(_4v,_4z,_50);let _53=(_4z>_4y);let _54=select(select(_4x,(_4x+1u),(_4s==_4y)),0u,_53);let _55=select(_4y,_4z,_53);let _56=dot(_1i,_4q);let _57=(_56<_52);let _58=select(select(_51,(_51+1u),(_4z==_52)),0u,_57);let _59=select(_52,_56,_57);let _5a=(_56>_55);let _5b=select(select(_54,(_54+1u),(_4z==_55)),0u,_5a);let _5c=select(_55,_56,_5a);let _5d=dot(_1j,_4q);let _5e=(_5d<_59);let _5f=select(select(_58,(_58+1u),(_56==_59)),0u,_5e);let _5g=select(_59,_5d,_5e);let _5h=(_5d>_5c);let _5i=select(select(_5b,(_5b+1u),(_56==_5c)),0u,_5h);let _5j=select(_5c,_5d,_5h);let _5k=dot(_1k,_4q);let _5l=(_5k<_5g);let _5m=select(select(_5f,(_5f+1u),(_5d==_5g)),0u,_5l);let _5n=select(_5g,_5k,_5l);let _5o=(_5k>_5j);let _5p=select(select(_5i,(_5i+1u),(_5d==_5j)),0u,_5o);let _5q=select(_5j,_5k,_5o);let _5r=dot(_1l,_4q);let _5s=(_5r<_5n);let _5t=select(select(_5m,(_5m+1u),(_5k==_5n)),0u,_5s);let _5u=select(_5n,_5r,_5s);let _5v=(_5r>_5q);let _5w=select(select(_5p,(_5p+1u),(_5k==_5q)),0u,_5v);let _5x=select(_5q,_5r,_5v);let _5y=dot(_1m,_4q);let _5z=(_5y<_5u);let _60=select(select(_5t,(_5t+1u),(_5r==_5u)),0u,_5z);let _61=select(_5u,_5y,_5z);let _62=(_5y>_5x);let _63=select(select(_5w,(_5w+1u),(_5r==_5x)),0u,_62);let _64=select(_5x,_5y,_62);let _65=dot(_1n,_4q);let _66=(_65<_61);let _67=select(select(_60,(_60+1u),(_5y==_61)),0u,_66);let _68=select(_61,_65,_66);let _69=(_65>_64);let _6a=select(select(_63,(_63+1u),(_5y==_64)),0u,_69);let _6b=select(_64,_65,_69);let _6c=dot(_1o,_4q);let _6d=(_6c<_68);let _6e=select(select(_67,(_67+1u),(_65==_68)),0u,_6d);let _6f=select(_68,_6c,_6d);let _6g=(_6c>_6b);let _6h=select(select(_6a,(_6a+1u),(_65==_6b)),0u,_6g);let _6i=select(_6b,_6c,_6g);let _6j=dot(_1p,_4q);let _6k=(_6j<_6f);let _6l=select(select(_6e,(_6e+1u),(_6c==_6f)),0u,_6k);let _6m=select(_6f,_6j,_6k);let _6n=(_6j>_6i);let _6o=select(select(_6h,(_6h+1u),(_6c==_6i)),0u,_6n);let _6p=select(_6i,_6j,_6n);let _6q=dot(_1q,_4q);let _6r=(_6q<_6m);let _6s=select(select(_6l,(_6l+1u),(_6j==_6m)),0u,_6r);let _6t=select(_6m,_6q,_6r);let _6u=(_6q>_6p);let _6v=select(select(_6o,(_6o+1u),(_6j==_6p)),0u,_6u);let _6w=select(_6p,_6q,_6u);let _6x=dot(_1r,_4q);let _6y=(_6x<_6t);let _6z=select(select(_6s,(_6s+1u),(_6q==_6t)),0u,_6y);let _70=select(_6t,_6x,_6y);let _71=(_6x>_6w);let _72=select(select(_6v,(_6v+1u),(_6q==_6w)),0u,_71);let _73=select(_6w,_6x,_71);let _74=dot(_1s,_4q);let _75=(_74<_70);let _76=select(select(_6z,(_6z+1u),(_6x==_70)),0u,_75);let _77=select(_70,_74,_75);let _78=(_74>_73);let _79=select(select(_72,(_72+1u),(_6x==_73)),0u,_78);let _7a=select(_73,_74,_78);let _7b=dot(_1t,_4q);let _7c=(_7b<_77);let _7d=select(select(_76,(_76+1u),(_74==_77)),0u,_7c);let _7e=select(_77,_7b,_7c);let _7f=(_7b>_7a);let _7g=select(select(_79,(_79+1u),(_74==_7a)),0u,_7f);let _7h=select(_7a,_7b,_7f);let _7i=dot(_1u,_4q);let _7j=(_7i<_7e);let _7k=select(select(_7d,(_7d+1u),(_7b==_7e)),0u,_7j);let _7l=select(_7e,_7i,_7j);let _7m=(_7i>_7h);let _7n=select(select(_7g,(_7g+1u),(_7b==_7h)),0u,_7m);let _7o=select(_7h,_7i,_7m);let _7p=dot(_4n,_4q);let _7q=(_7l-_7p);let _7r=(_7o-_7p);let _7s=(((_7r-_7q)*clamp((1.0h-clamp((f16(((select(_7k,(_7k+1u),(_7i==_7l))+select(_7n,(_7n+1u),(_7i==_7o)))-2u))*0.0714111328125h),0.0h,1.0h)),0.0h,1.0h))*0.015625h);let _7t=(_7q+_7s);let _7u=(_7r-_7s);let _7v=((1.0h/f16(192i))*4.0h);let _7w=max(0.0h,(((((0.6357421875h*_7v)*_4p)+(0.36376953125h*_7v))-(_7u-_7t))*0.5h));let _7x=clamp(((_4m*(_7t-_7w))+_4n),vec3h(),_7);let _7y=clamp(((_4m*(_7u+_7w))+_4n),vec3h(),_7);let _7z=_7x.x;let _80=trunc((_7z*191.0h));let _81=trunc((trunc((_80*0.01041412353515625h))+(_80*1.3330078125h)));let _82=(_80+1.0h);let _83=trunc((trunc((_82*0.01041412353515625h))+(_82*1.3330078125h)));_42=select(_81,_83,((255.0h*_7z)>(0.5h*(_81+_83))));let _84=_7y.x;let _85=trunc((_84*191.0h));let _86=trunc((trunc((_85*0.01041412353515625h))+(_85*1.3330078125h)));let _87=(_85+1.0h);let _88=trunc((trunc((_87*0.01041412353515625h))+(_87*1.3330078125h)));_43=select(_86,_88,((255.0h*_84)>(0.5h*(_86+_88))));let _89=_7x.y;let _8a=trunc((_89*191.0h));let _8b=trunc((trunc((_8a*0.01041412353515625h))+(_8a*1.3330078125h)));let _8c=(_8a+1.0h);let _8d=trunc((trunc((_8c*0.01041412353515625h))+(_8c*1.3330078125h)));_44=select(_8b,_8d,((255.0h*_89)>(0.5h*(_8b+_8d))));let _8e=_7y.y;let _8f=trunc((_8e*191.0h));let _8g=trunc((trunc((_8f*0.01041412353515625h))+(_8f*1.3330078125h)));let _8h=(_8f+1.0h);let _8i=trunc((trunc((_8h*0.01041412353515625h))+(_8h*1.3330078125h)));_45=select(_8g,_8i,((255.0h*_8e)>(0.5h*(_8g+_8i))));let _8j=_7x.z;let _8k=trunc((_8j*191.0h));let _8l=trunc((trunc((_8k*0.01041412353515625h))+(_8k*1.3330078125h)));let _8m=(_8k+1.0h);let _8n=trunc((trunc((_8m*0.01041412353515625h))+(_8m*1.3330078125h)));_46=select(_8l,_8n,((255.0h*_8j)>(0.5h*(_8l+_8n))));let _8o=vec3h(_42,_44,_46);let _8p=_7y.z;let _8q=trunc((_8p*191.0h));let _8r=trunc((trunc((_8q*0.01041412353515625h))+(_8q*1.3330078125h)));let _8s=(_8q+1.0h);let _8t=trunc((trunc((_8s*0.01041412353515625h))+(_8s*1.3330078125h)));_47=select(_8r,_8t,((255.0h*_8p)>(0.5h*(_8r+_8t))));let _8u=vec3h(_43,_45,_47);switch(0u){default:{if((((_43+_45)+_47)<((_42+_44)+_46))){_h=_8o;_i=_8u;break;}_h=_8u;_i=_8o;}}let _8v=f16(15u);let _8w=(((_h-_i)*_8)*0.0039215087890625h);let _8x=((_8w*(1.0h/dot(_8w,_8w)))*_8);let _8y=(dot(_i,_8x)*0.0039215087890625h);let _8z=((((((((0u|(u32(((_8v*clamp((dot(_1f,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_8v*clamp((dot(_1g,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((_8v*clamp((dot(_1h,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((_8v*clamp((dot(_1i,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((_8v*clamp((dot(_1j,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((_8v*clamp((dot(_1k,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((_8v*clamp((dot(_1l,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((_8v*clamp((dot(_1m,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)));let _90=((((((((0u|(u32(((_8v*clamp((dot(_1n,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_8v*clamp((dot(_1o,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((_8v*clamp((dot(_1p,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((_8v*clamp((dot(_1q,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((_8v*clamp((dot(_1r,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((_8v*clamp((dot(_1s,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((_8v*clamp((dot(_1t,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((_8v*clamp((dot(_1u,_8x)-_8y),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)));let _91=u32(_i.x);let _92=(((_91+select(0u,1u,(_91<128u)))*3u)/4u);let _93=((64u*_92)-(190u*((_92*1366u)>>bitcast<u32>(12i))));_k=_93;if((_92>=96u)){_j=(255u-_93);_k=_j;}let _94=u32(_h.x);let _95=(((_94+select(0u,1u,(_94<128u)))*3u)/4u);let _96=((64u*_95)-(190u*((_95*1366u)>>bitcast<u32>(12i))));_m=_96;if((_95>=96u)){_l=(255u-_96);_m=_l;}let _97=u32(_i.y);let _98=(((_97+select(0u,1u,(_97<128u)))*3u)/4u);let _99=((64u*_98)-(190u*((_98*1366u)>>bitcast<u32>(12i))));_o=_99;if((_98>=96u)){_n=(255u-_99);_o=_n;}let _9a=u32(_h.y);let _9b=(((_9a+select(0u,1u,(_9a<128u)))*3u)/4u);let _9c=((64u*_9b)-(190u*((_9b*1366u)>>bitcast<u32>(12i))));_q=_9c;if((_9b>=96u)){_p=(255u-_9c);_q=_p;}let _9d=u32(_i.z);let _9e=(((_9d+select(0u,1u,(_9d<128u)))*3u)/4u);let _9f=((64u*_9e)-(190u*((_9e*1366u)>>bitcast<u32>(12i))));_s=_9f;if((_9e>=96u)){_r=(255u-_9f);_s=_r;}let _9g=u32(_h.z);let _9h=(((_9g+select(0u,1u,(_9g<128u)))*3u)/4u);let _9i=((64u*_9h)-(190u*((_9h*1366u)>>bitcast<u32>(12i))));_u=_9i;if((_9h>=96u)){_t=(255u-_9i);_u=_t;}_a=array<u32,243u>(0u,1u,2u,256u,257u,258u,512u,513u,514u,65536u,65537u,65538u,65792u,65793u,65794u,66048u,66049u,66050u,3u,259u,771u,65539u,65795u,66051u,768u,769u,770u,8388608u,8388609u,8388610u,8388864u,8388865u,8388866u,8389120u,8389121u,8389122u,8454144u,8454145u,8454146u,8454400u,8454401u,8454402u,8454656u,8454657u,8454658u,8388611u,8388867u,8389379u,8454147u,8454403u,8454659u,8389376u,8389377u,8389378u,16777216u,16777217u,16777218u,16777472u,16777473u,16777474u,16777728u,16777729u,16777730u,16842752u,16842753u,16842754u,16843008u,16843009u,16843010u,16843264u,16843265u,16843266u,16777219u,16777475u,16777987u,16842755u,16843011u,16843267u,16777984u,16777985u,16777986u,2147483648u,2147483649u,2147483650u,2147483904u,2147483905u,2147483906u,2147484160u,2147484161u,2147484162u,2147549184u,2147549185u,2147549186u,2147549440u,2147549441u,2147549442u,2147549696u,2147549697u,2147549698u,2147483651u,2147483907u,2147484419u,2147549187u,2147549443u,2147549699u,2147484416u,2147484417u,2147484418u,2155872256u,2155872257u,2155872258u,2155872512u,2155872513u,2155872514u,2155872768u,2155872769u,2155872770u,2155937792u,2155937793u,2155937794u,2155938048u,2155938049u,2155938050u,2155938304u,2155938305u,2155938306u,2155872259u,2155872515u,2155873027u,2155937795u,2155938051u,2155938307u,2155873024u,2155873025u,2155873026u,2164260864u,2164260865u,2164260866u,2164261120u,2164261121u,2164261122u,2164261376u,2164261377u,2164261378u,2164326400u,2164326401u,2164326402u,2164326656u,2164326657u,2164326658u,2164326912u,2164326913u,2164326914u,2164260867u,2164261123u,2164261635u,2164326403u,2164326659u,2164326915u,2164261632u,2164261633u,2164261634u,25165824u,25165825u,25165826u,25166080u,25166081u,25166082u,25166336u,25166337u,25166338u,25231360u,25231361u,25231362u,25231616u,25231617u,25231618u,25231872u,25231873u,25231874u,25165827u,25166083u,25166595u,25231363u,25231619u,25231875u,25166592u,25166593u,25166594u,2172649472u,2172649473u,2172649474u,2172649728u,2172649729u,2172649730u,2172649984u,2172649985u,2172649986u,2172715008u,2172715009u,2172715010u,2172715264u,2172715265u,2172715266u,2172715520u,2172715521u,2172715522u,2172649475u,2172649731u,2172650243u,2172715011u,2172715267u,2172715523u,2172650240u,2172650241u,2172650242u,66304u,66305u,66306u,8454912u,8454913u,8454914u,16843520u,16843521u,16843522u,2147549952u,2147549953u,2147549954u,2155938560u,2155938561u,2155938562u,2164327168u,2164327169u,2164327170u,66307u,8454915u,25232131u,2147549955u,2155938563u,2172715779u,2172715776u,2172715777u,2172715778u);let _9j=_a[((((((_s>>6u)*81u)+((_q>>6u)*27u))+((_o>>6u)*9u))+((_m>>6u)*3u))+(_k>>6u))];let _9k=(((_90&2863311530u)>>1u)|((_90&1431655765u)<<1u));let _9l=(((_9k&3435973836u)>>2u)|((_9k&858993459u)<<2u));let _9m=(((_9l&4042322160u)>>4u)|((_9l&252645135u)<<4u));let _9n=(((_9m&4278255360u)>>8u)|((_9m&16711935u)<<8u));let _9o=(((_8z&2863311530u)>>1u)|((_8z&1431655765u)<<1u));let _9p=(((_9o&3435973836u)>>2u)|((_9o&858993459u)<<2u));let _9q=(((_9p&4042322160u)>>4u)|((_9p&252645135u)<<4u));let _9r=(((_9q&4278255360u)>>8u)|((_9q&16711935u)<<8u));x_4651._0[((_x.y*((_w+15u)&4294967280u))+_z)]=vec4u((66114u|((((((_m&63u)<<bitcast<u32>(8i))|(_k&63u))|(_9j<<bitcast<u32>(6i)))&32767u)<<17u)),(0u|(((((((((_u<<bitcast<u32>(7i))|(_s&63u))<<bitcast<u32>(8i))|(_q&63u))<<bitcast<u32>(7i))|(_o&63u))<<bitcast<u32>(1i))|(_9j>>bitcast<u32>(9i)))<<0u)),((_9n>>16u)|(_9n<<16u)),((_9r>>16u)|(_9r<<16u)));}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _9s:vec3u,@builtin(local_invocation_id) _9t:vec3u,@builtin(workgroup_id) _9u:vec3u){x_4555=_9s;x_4561=_9t;_9();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_astc_rgb as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_astc_rgba = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_5276:vec3u;var<private>x_5282:vec3u;@binding(2) @group(0) var<storage,read_write>x_5372:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec4h(1.0h);const _8=vec4h(0.85986328125h,1.7099609375h,0.429931640625h,1.0h);const _9=vec2h(2.0h);const _a=vec2h(23.0h);const _b=vec2h(1.0h);fn _c(){var _d:bool;var _e:bool;var _f:f16;var _g:f16;var _h:f16;var _i:f16;var _j:f16;var _k:f16;var _l:bool;var _m:bool;var _n:f16;var _o:f16;var _p:u32;var _q:u32;var _r:f16;var _s:f16;var _t:u32;var _u:u32;var _v:bool;var _w:bool;var _x:u32;var _y:f16;var _z:f16;var _10:u32;var _11:u32;var _12:f16;var _13:f16;var _14:u32;var _15:u32;var _16:u32;var _17:bool;var _18:bool;var _19:u32;var _1a:f16;var _1b:f16;var _1c:u32;var _1d:u32;var _1e:f16;var _1f:f16;var _1g:u32;var _1h:u32;var _1i:u32;var _1j:bool;var _1k:bool;var _1l:u32;var _1m:f16;var _1n:f16;var _1o:u32;var _1p:u32;var _1q:f16;var _1r:f16;var _1s:u32;var _1t:u32;var _1u:u32;var _1v:bool;var _1w:bool;var _1x:u32;var _1y:f16;var _1z:f16;var _20:u32;var _21:u32;var _22:f16;var _23:f16;var _24:u32;var _25:u32;var _26:u32;var _27:bool;var _28:bool;var _29:u32;var _2a:f16;var _2b:f16;var _2c:u32;var _2d:u32;var _2e:f16;var _2f:f16;var _2g:u32;var _2h:u32;var _2i:u32;var _2j:bool;var _2k:bool;var _2l:u32;var _2m:f16;var _2n:f16;var _2o:u32;var _2p:u32;var _2q:f16;var _2r:f16;var _2s:u32;var _2t:u32;var _2u:u32;var _2v:bool;var _2w:bool;var _2x:u32;var _2y:f16;var _2z:f16;var _30:u32;var _31:u32;var _32:f16;var _33:f16;var _34:u32;var _35:u32;var _36:u32;var _37:bool;var _38:bool;var _39:u32;var _3a:f16;var _3b:f16;var _3c:u32;var _3d:u32;var _3e:f16;var _3f:f16;var _3g:u32;var _3h:u32;var _3i:u32;var _3j:bool;var _3k:bool;var _3l:u32;var _3m:f16;var _3n:f16;var _3o:u32;var _3p:u32;var _3q:f16;var _3r:f16;var _3s:u32;var _3t:u32;var _3u:u32;var _3v:bool;var _3w:bool;var _3x:u32;var _3y:f16;var _3z:f16;var _40:u32;var _41:u32;var _42:f16;var _43:f16;var _44:u32;var _45:u32;var _46:u32;var _47:bool;var _48:bool;var _49:u32;var _4a:f16;var _4b:f16;var _4c:u32;var _4d:u32;var _4e:f16;var _4f:f16;var _4g:u32;var _4h:u32;var _4i:u32;var _4j:bool;var _4k:bool;var _4l:u32;var _4m:f16;var _4n:f16;var _4o:u32;var _4p:u32;var _4q:f16;var _4r:f16;var _4s:u32;var _4t:u32;var _4u:u32;var _4v:bool;var _4w:bool;var _4x:u32;var _4y:f16;var _4z:f16;var _50:u32;var _51:u32;var _52:f16;var _53:f16;var _54:u32;var _55:u32;var _56:u32;var _57:bool;var _58:bool;var _59:u32;var _5a:f16;var _5b:f16;var _5c:u32;var _5d:u32;var _5e:f16;var _5f:f16;var _5g:u32;var _5h:u32;var _5i:u32;var _5j:bool;var _5k:bool;var _5l:u32;var _5m:f16;var _5n:f16;var _5o:u32;var _5p:u32;var _5q:f16;var _5r:f16;var _5s:u32;var _5t:u32;var _5u:u32;var _5v:f16;var _5w:f16;var _5x:f16;var _5y:f16;var _5z:f16;var _60:f16;var _61:f16;var _62:vec4h;var _63:vec4h;var _64:vec4h;var _65:vec4h;var _66:vec4h;var _67:vec4h;var _68:vec4h;var _69:vec4h;var _6a:vec4h;var _6b:vec4h;var _6c:vec4h;var _6d:vec4h;var _6e:vec4h;var _6f:vec4h;var _6g:vec4h;var _6h:vec4h;var _6i:u32;var _6j:u32;var _6k:vec4h;var _6l:u32;var _6m:u32;var _6n:vec4h;var _6o:vec2u;var _6p:vec2u;var _6q:vec4u;var _6r:vec4u;var _6s:u32;var _6t:u32;var _6u:u32;var _6v:u32;var _6w:u32;var _6x:u32;var _6y:u32;var _6z:u32;var _70:u32;var _71:u32;var _72:u32;var _73:u32;var _74:u32;var _75:u32;var _76:u32;var _77:u32;var _78:u32;var _79:u32;var _7a:vec4u;var _7b:vec4u;var _7c:vec4u;var _7d:vec4u;var _7e:vec4u;var _7f:vec4u;var _7g:vec4u;var _7h:vec4u;var _7i:vec4u;var _7j:vec4u;var _7k:vec4u;var _7l:vec4u;var _7m:vec4u;var _7n:vec4u;var _7o:u32;var _7p:u32;var _7q:u32;var _7r:u32;var _7s:u32;var _7t:u32;var _7u:vec4u;var _7v:vec4u;var _7w:vec4u;var _7x:vec4u;var _7y:vec4u;var _7z:vec4u;var _80:vec4u;var _81:vec4u;var _82:vec4u;switch(0u){default:{let _83=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _84=((_83.x+3u)/4u);let _85=x_5276;let _86=x_5276.xy;let _87=x_5276.x;let _88=(_87>=_84);_e=_88;if(!(_88)){_d=(_85.y>=((_83.y+3u)/4u));_e=_d;}if(_e){break;}let _89=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _8a=((vec2f(bitcast<vec2i>((_86*vec2u(4u))))*_89)+_89);let _8b=vec4h(textureGather(0i,_3,_2,_8a,vec2i()));let _8c=vec4h(textureGather(0i,_3,_2,_8a,_4));let _8d=vec4h(textureGather(0i,_3,_2,_8a,_5));let _8e=vec4h(textureGather(0i,_3,_2,_8a,_6));let _8f=vec4h(textureGather(1i,_3,_2,_8a,vec2i()));let _8g=vec4h(textureGather(1i,_3,_2,_8a,_4));let _8h=vec4h(textureGather(1i,_3,_2,_8a,_5));let _8i=vec4h(textureGather(1i,_3,_2,_8a,_6));let _8j=vec4h(textureGather(2i,_3,_2,_8a,vec2i()));let _8k=vec4h(textureGather(2i,_3,_2,_8a,_4));let _8l=vec4h(textureGather(2i,_3,_2,_8a,_5));let _8m=vec4h(textureGather(2i,_3,_2,_8a,_6));let _8n=vec4h(textureGather(3i,_3,_2,_8a,vec2i()));let _8o=vec4h(textureGather(3i,_3,_2,_8a,_4));let _8p=vec4h(textureGather(3i,_3,_2,_8a,_5));let _8q=vec4h(textureGather(3i,_3,_2,_8a,_6));let _8r=_8n.w;let _8s=vec4h(_8b.w,_8f.w,_8j.w,_8r);let _8t=_8n.z;let _8u=vec4h(_8b.z,_8f.z,_8j.z,_8t);let _8v=_8o.w;let _8w=vec4h(_8c.w,_8g.w,_8k.w,_8v);let _8x=_8o.z;let _8y=vec4h(_8c.z,_8g.z,_8k.z,_8x);let _8z=_8n.x;let _90=vec4h(_8b.x,_8f.x,_8j.x,_8z);let _91=_8n.y;let _92=vec4h(_8b.y,_8f.y,_8j.y,_91);let _93=_8o.x;let _94=vec4h(_8c.x,_8g.x,_8k.x,_93);let _95=_8o.y;let _96=vec4h(_8c.y,_8g.y,_8k.y,_95);let _97=_8p.w;let _98=vec4h(_8d.w,_8h.w,_8l.w,_97);let _99=_8p.z;let _9a=vec4h(_8d.z,_8h.z,_8l.z,_99);let _9b=_8q.w;let _9c=vec4h(_8e.w,_8i.w,_8m.w,_9b);let _9d=_8q.z;let _9e=vec4h(_8e.z,_8i.z,_8m.z,_9d);let _9f=_8p.x;let _9g=vec4h(_8d.x,_8h.x,_8l.x,_9f);let _9h=_8p.y;let _9i=vec4h(_8d.y,_8h.y,_8l.y,_9h);let _9j=_8q.x;let _9k=vec4h(_8e.x,_8i.x,_8m.x,_9j);let _9l=_8q.y;let _9m=vec4h(_8e.y,_8i.y,_8m.y,_9l);let _9n=(_8t<_8r);let _9o=select(1u,0u,_9n);let _9p=select(_8r,_8t,_9n);let _9q=(_8t>_8r);let _9r=select(1u,0u,_9q);let _9s=select(_8r,_8t,_9q);let _9t=(_8v<_9p);let _9u=select(select(_9o,(_9o+1u),(_8t==_9p)),0u,_9t);let _9v=select(_9p,_8v,_9t);let _9w=(_8v>_9s);let _9x=select(select(_9r,(_9r+1u),(_8t==_9s)),0u,_9w);let _9y=select(_9s,_8v,_9w);let _9z=(_8x<_9v);let _a0=select(select(_9u,(_9u+1u),(_8v==_9v)),0u,_9z);let _a1=select(_9v,_8x,_9z);let _a2=(_8x>_9y);let _a3=select(select(_9x,(_9x+1u),(_8v==_9y)),0u,_a2);let _a4=select(_9y,_8x,_a2);let _a5=(_8z<_a1);let _a6=select(select(_a0,(_a0+1u),(_8x==_a1)),0u,_a5);let _a7=select(_a1,_8z,_a5);let _a8=(_8z>_a4);let _a9=select(select(_a3,(_a3+1u),(_8x==_a4)),0u,_a8);let _aa=select(_a4,_8z,_a8);let _ab=(_91<_a7);let _ac=select(select(_a6,(_a6+1u),(_8z==_a7)),0u,_ab);let _ad=select(_a7,_91,_ab);let _ae=(_91>_aa);let _af=select(select(_a9,(_a9+1u),(_8z==_aa)),0u,_ae);let _ag=select(_aa,_91,_ae);let _ah=(_93<_ad);let _ai=select(select(_ac,(_ac+1u),(_91==_ad)),0u,_ah);let _aj=select(_ad,_93,_ah);let _ak=(_93>_ag);let _al=select(select(_af,(_af+1u),(_91==_ag)),0u,_ak);let _am=select(_ag,_93,_ak);let _an=(_95<_aj);let _ao=select(select(_ai,(_ai+1u),(_93==_aj)),0u,_an);let _ap=select(_aj,_95,_an);let _aq=(_95>_am);let _ar=select(select(_al,(_al+1u),(_93==_am)),0u,_aq);let _as=select(_am,_95,_aq);let _at=(_97<_ap);let _au=select(select(_ao,(_ao+1u),(_95==_ap)),0u,_at);let _av=select(_ap,_97,_at);let _aw=(_97>_as);let _ax=select(select(_ar,(_ar+1u),(_95==_as)),0u,_aw);let _ay=select(_as,_97,_aw);let _az=(_99<_av);let _b0=select(select(_au,(_au+1u),(_97==_av)),0u,_az);let _b1=select(_av,_99,_az);let _b2=(_99>_ay);let _b3=select(select(_ax,(_ax+1u),(_97==_ay)),0u,_b2);let _b4=select(_ay,_99,_b2);let _b5=(_9b<_b1);let _b6=select(select(_b0,(_b0+1u),(_99==_b1)),0u,_b5);let _b7=select(_b1,_9b,_b5);let _b8=(_9b>_b4);let _b9=select(select(_b3,(_b3+1u),(_99==_b4)),0u,_b8);let _ba=select(_b4,_9b,_b8);let _bb=(_9d<_b7);let _bc=select(select(_b6,(_b6+1u),(_9b==_b7)),0u,_bb);let _bd=select(_b7,_9d,_bb);let _be=(_9d>_ba);let _bf=select(select(_b9,(_b9+1u),(_9b==_ba)),0u,_be);let _bg=select(_ba,_9d,_be);let _bh=(_9f<_bd);let _bi=select(select(_bc,(_bc+1u),(_9d==_bd)),0u,_bh);let _bj=select(_bd,_9f,_bh);let _bk=(_9f>_bg);let _bl=select(select(_bf,(_bf+1u),(_9d==_bg)),0u,_bk);let _bm=select(_bg,_9f,_bk);let _bn=(_9h<_bj);let _bo=select(select(_bi,(_bi+1u),(_9f==_bj)),0u,_bn);let _bp=select(_bj,_9h,_bn);let _bq=(_9h>_bm);let _br=select(select(_bl,(_bl+1u),(_9f==_bm)),0u,_bq);let _bs=select(_bm,_9h,_bq);let _bt=(_9j<_bp);let _bu=select(select(_bo,(_bo+1u),(_9h==_bp)),0u,_bt);let _bv=select(_bp,_9j,_bt);let _bw=(_9j>_bs);let _bx=select(select(_br,(_br+1u),(_9h==_bs)),0u,_bw);let _by=select(_bs,_9j,_bw);let _bz=(((((((((((((((_8s+_8u)+_8w)+_8y)+_90)+_92)+_94)+_96)+_98)+_9a)+_9c)+_9e)+_9g)+_9i)+_9k)+_9m);let _c0=(_9l<_bv);let _c1=select(select(_bu,(_bu+1u),(_9j==_bv)),0u,_c0);let _c2=select(_bv,_9l,_c0);let _c3=(_9l>_by);let _c4=select(select(_bx,(_bx+1u),(_9j==_by)),0u,_c3);let _c5=select(_by,_9l,_c3);let _c6=clamp((f16(((select(_c1,(_c1+1u),(_9l==_c2))+select(_c4,(_c4+1u),(_9l==_c5)))-2u))*0.0714111328125h),0.0h,1.0h);let _c7=((_8s*16.0h)-_bz);let _c8=_c7.x;let _c9=_c7.y;let _ca=_c7.z;let _cb=_c7.w;let _cc=((_8u*16.0h)-_bz);let _cd=_cc.x;let _ce=_cc.y;let _cf=_cc.z;let _cg=_cc.w;let _ch=((_8w*16.0h)-_bz);let _ci=_ch.x;let _cj=_ch.y;let _ck=_ch.z;let _cl=_ch.w;let _cm=((_8y*16.0h)-_bz);let _cn=_cm.x;let _co=_cm.y;let _cp=_cm.z;let _cq=_cm.w;let _cr=((_90*16.0h)-_bz);let _cs=_cr.x;let _ct=_cr.y;let _cu=_cr.z;let _cv=_cr.w;let _cw=((_92*16.0h)-_bz);let _cx=_cw.x;let _cy=_cw.y;let _cz=_cw.z;let _d0=_cw.w;let _d1=((_94*16.0h)-_bz);let _d2=_d1.x;let _d3=_d1.y;let _d4=_d1.z;let _d5=_d1.w;let _d6=((_96*16.0h)-_bz);let _d7=_d6.x;let _d8=_d6.y;let _d9=_d6.z;let _da=_d6.w;let _db=((_98*16.0h)-_bz);let _dc=_db.x;let _dd=_db.y;let _de=_db.z;let _df=_db.w;let _dg=((_9a*16.0h)-_bz);let _dh=_dg.x;let _di=_dg.y;let _dj=_dg.z;let _dk=_dg.w;let _dl=((_9c*16.0h)-_bz);let _dm=_dl.x;let _dn=_dl.y;let _do=_dl.z;let _dp=_dl.w;let _dq=((_9e*16.0h)-_bz);let _dr=_dq.x;let _ds=_dq.y;let _dt=_dq.z;let _du=_dq.w;let _dv=((_9g*16.0h)-_bz);let _dw=_dv.x;let _dx=_dv.y;let _dy=_dv.z;let _dz=_dv.w;let _e0=((_9i*16.0h)-_bz);let _e1=_e0.x;let _e2=_e0.y;let _e3=_e0.z;let _e4=_e0.w;let _e5=((_9k*16.0h)-_bz);let _e6=_e5.x;let _e7=_e5.y;let _e8=_e5.z;let _e9=_e5.w;let _ea=((_9m*16.0h)-_bz);let _eb=_ea.x;let _ec=((((((((((((((((_c8*_c8)+(_cd*_cd))+(_ci*_ci))+(_cn*_cn))+(_cs*_cs))+(_cx*_cx))+(_d2*_d2))+(_d7*_d7))+(_dc*_dc))+(_dh*_dh))+(_dm*_dm))+(_dr*_dr))+(_dw*_dw))+(_e1*_e1))+(_e6*_e6))+(_eb*_eb));let _ed=_ea.y;let _ee=_ea.z;let _ef=_ea.w;let _eg=((((((((((((((((_c9*_c9)+(_ce*_ce))+(_cj*_cj))+(_co*_co))+(_ct*_ct))+(_cy*_cy))+(_d3*_d3))+(_d8*_d8))+(_dd*_dd))+(_di*_di))+(_dn*_dn))+(_ds*_ds))+(_dx*_dx))+(_e2*_e2))+(_e7*_e7))+(_ed*_ed));let _eh=((((((((((((((((_ca*_ca)+(_cf*_cf))+(_ck*_ck))+(_cp*_cp))+(_cu*_cu))+(_cz*_cz))+(_d4*_d4))+(_d9*_d9))+(_de*_de))+(_dj*_dj))+(_do*_do))+(_dt*_dt))+(_dy*_dy))+(_e3*_e3))+(_e8*_e8))+(_ee*_ee));let _ei=((((((((((((((((_cb*_cb)+(_cg*_cg))+(_cl*_cl))+(_cq*_cq))+(_cv*_cv))+(_d0*_d0))+(_d5*_d5))+(_da*_da))+(_df*_df))+(_dk*_dk))+(_dp*_dp))+(_du*_du))+(_dz*_dz))+(_e4*_e4))+(_e9*_e9))+(_ef*_ef));let _ej=select(1.0h,0.015625h,(max(max(_ec,_eg),max(_eh,_ei))>64.0h));let _ek=(_ec*_ej);let _el=(((((((((((((((((_c8*_c9)+(_cd*_ce))+(_ci*_cj))+(_cn*_co))+(_cs*_ct))+(_cx*_cy))+(_d2*_d3))+(_d7*_d8))+(_dc*_dd))+(_dh*_di))+(_dm*_dn))+(_dr*_ds))+(_dw*_dx))+(_e1*_e2))+(_e6*_e7))+(_eb*_ed))*_ej);let _em=(((((((((((((((((_c8*_ca)+(_cd*_cf))+(_ci*_ck))+(_cn*_cp))+(_cs*_cu))+(_cx*_cz))+(_d2*_d4))+(_d7*_d9))+(_dc*_de))+(_dh*_dj))+(_dm*_do))+(_dr*_dt))+(_dw*_dy))+(_e1*_e3))+(_e6*_e8))+(_eb*_ee))*_ej);let _en=(((((((((((((((((_c8*_cb)+(_cd*_cg))+(_ci*_cl))+(_cn*_cq))+(_cs*_cv))+(_cx*_d0))+(_d2*_d5))+(_d7*_da))+(_dc*_df))+(_dh*_dk))+(_dm*_dp))+(_dr*_du))+(_dw*_dz))+(_e1*_e4))+(_e6*_e9))+(_eb*_ef))*_ej);let _eo=(_eg*_ej);let _ep=(((((((((((((((((_c9*_ca)+(_ce*_cf))+(_cj*_ck))+(_co*_cp))+(_ct*_cu))+(_cy*_cz))+(_d3*_d4))+(_d8*_d9))+(_dd*_de))+(_di*_dj))+(_dn*_do))+(_ds*_dt))+(_dx*_dy))+(_e2*_e3))+(_e7*_e8))+(_ed*_ee))*_ej);let _eq=(((((((((((((((((_c9*_cb)+(_ce*_cg))+(_cj*_cl))+(_co*_cq))+(_ct*_cv))+(_cy*_d0))+(_d3*_d5))+(_d8*_da))+(_dd*_df))+(_di*_dk))+(_dn*_dp))+(_ds*_du))+(_dx*_dz))+(_e2*_e4))+(_e7*_e9))+(_ed*_ef))*_ej);let _er=(_eh*_ej);let _es=(((((((((((((((((_ca*_cb)+(_cf*_cg))+(_ck*_cl))+(_cp*_cq))+(_cu*_cv))+(_cz*_d0))+(_d4*_d5))+(_d9*_da))+(_de*_df))+(_dj*_dk))+(_do*_dp))+(_dt*_du))+(_dy*_dz))+(_e3*_e4))+(_e8*_e9))+(_ee*_ef))*_ej);let _et=(_ei*_ej);let _eu=(_c5-_c2);let _ev=abs(((_en+(select(1.0h,-1.0h,(_en<0.0h))*0.0078125h))*inverseSqrt(((_ek*_et)+0.00006103515625h))));let _ew=abs(((_eq+(select(1.0h,-1.0h,(_eq<0.0h))*0.0078125h))*inverseSqrt(((_eo*_et)+0.00006103515625h))));let _ex=abs(((_es+(select(1.0h,-1.0h,(_es<0.0h))*0.0078125h))*inverseSqrt(((_er*_et)+0.00006103515625h))));let _ey=select(select(select((_eu>=0.0208282470703125h),false,(max(max(_ev,_ew),_ex)>=1.0h)),false,(min(min(_ev,_ew),_ex)>0.7998046875h)),false,((((_ek+_eo)+_er)+_et)<0.0313720703125h));let _ez=select(_en,0.0h,_ey);let _f0=select(_eq,0.0h,_ey);let _f1=select(_es,0.0h,_ey);let _f2=select(_et,0.0h,_ey);let _f3=(vec4h(_ek,_eo,_er,_f2)+vec4h(0.0001220703125h,0.0001220703125h,0.0001220703125h,0.0h));let _f4=vec4h((vec4f(_f3)*(1.0f/f32(max(max(_f3.x,_f3.y),max(_f3.z,_f3.w))))));let _f5=_f4.x;_g=_f5;if((_ez<0.0h)){_f=-(_f5);_g=_f;}let _f6=_f4.y;_i=_f6;if((_f0<0.0h)){_h=-(_f6);_i=_h;}let _f7=_f4.z;_k=_f7;if((_f1<0.0h)){_j=-(_f7);_k=_j;}let _f8=_f4.w;let _f9=((((_g*_ek)+(_i*_el))+(_k*_em))+(_f8*_ez));let _fa=((((_g*_el)+(_i*_eo))+(_k*_ep))+(_f8*_f0));let _fb=((((_g*_em)+(_i*_ep))+(_k*_er))+(_f8*_f1));let _fc=((((_g*_ez)+(_i*_f0))+(_k*_f1))+(_f8*_f2));let _fd=max(max(abs(_f9),abs(_fa)),max(abs(_fb),abs(_fc)));let _fe=vec4h((vec4f(f32(_f9),f32(_fa),f32(_fb),f32(_fc))*(1.0f/f32(select(_fd,1.0h,(_fd==0.0h))))));let _ff=_fe.x;let _fg=_fe.y;let _fh=_fe.z;let _fi=_fe.w;let _fj=((((_ff*_ek)+(_fg*_el))+(_fh*_em))+(_fi*_ez));let _fk=((((_ff*_el)+(_fg*_eo))+(_fh*_ep))+(_fi*_f0));let _fl=((((_ff*_em)+(_fg*_ep))+(_fh*_er))+(_fi*_f1));let _fm=((((_ff*_ez)+(_fg*_f0))+(_fh*_f1))+(_fi*_f2));let _fn=max(max(abs(_fj),abs(_fk)),max(abs(_fl),abs(_fm)));let _fo=(_fn==0.0h);let _fp=select(vec4h((vec4f(f32(_fj),f32(_fk),f32(_fl),f32(_fm))*(1.0f/f32(select(_fn,1.0h,_fo))))),_7,vec4<bool>(_fo));let _fq=(_bz*0.0625h);let _fr=(_fp*_8);let _fs=(1.0h/dot(_fr,_fr));let _ft=((_fr*_fs)*_8);let _fu=dot(_8s,_ft);let _fv=!(_ey);let _fw=!(_fv);_m=_fv;if(_fw){_l=(f32(_8r)>0.0f);_m=_l;}_r=-65504.0h;_s=65504.0h;_t=0u;_u=0u;if(_m){_n=select(65504.0h,_fu,(_fu<65504.0h));_o=select(-65504.0h,_fu,(_fu>-65504.0h));_p=select(0u,1u,(_fu==_n));_q=select(0u,1u,(_fu==_o));_r=_o;_s=_n;_t=_q;_u=_p;}let _fx=select(0u,1u,_m);let _fy=dot(_8u,_ft);_w=_fv;if(_fw){_v=(f32(_8t)>0.0f);_w=_v;}_12=_r;_13=_s;_14=_fx;_15=_t;_16=_u;if(_w){_x=(_fx+bitcast<u32>(1i));let _fz=(_fy<_s);let _g0=select(_u,0u,_fz);_y=select(_s,_fy,_fz);let _g1=(_fy>_r);let _g2=select(_t,0u,_g1);_z=select(_r,_fy,_g1);_10=select(_g0,(_g0+1u),(_fy==_y));_11=select(_g2,(_g2+1u),(_fy==_z));_12=_z;_13=_y;_14=_x;_15=_11;_16=_10;}let _g3=dot(_8w,_ft);_18=_fv;if(_fw){_17=(f32(_8v)>0.0f);_18=_17;}_1e=_12;_1f=_13;_1g=_14;_1h=_15;_1i=_16;if(_18){_19=(_14+bitcast<u32>(1i));let _g4=(_g3<_13);let _g5=select(_16,0u,_g4);_1a=select(_13,_g3,_g4);let _g6=(_g3>_12);let _g7=select(_15,0u,_g6);_1b=select(_12,_g3,_g6);_1c=select(_g5,(_g5+1u),(_g3==_1a));_1d=select(_g7,(_g7+1u),(_g3==_1b));_1e=_1b;_1f=_1a;_1g=_19;_1h=_1d;_1i=_1c;}let _g8=dot(_8y,_ft);_1k=_fv;if(_fw){_1j=(f32(_8x)>0.0f);_1k=_1j;}_1q=_1e;_1r=_1f;_1s=_1g;_1t=_1h;_1u=_1i;if(_1k){_1l=(_1g+bitcast<u32>(1i));let _g9=(_g8<_1f);let _ga=select(_1i,0u,_g9);_1m=select(_1f,_g8,_g9);let _gb=(_g8>_1e);let _gc=select(_1h,0u,_gb);_1n=select(_1e,_g8,_gb);_1o=select(_ga,(_ga+1u),(_g8==_1m));_1p=select(_gc,(_gc+1u),(_g8==_1n));_1q=_1n;_1r=_1m;_1s=_1l;_1t=_1p;_1u=_1o;}let _gd=dot(_90,_ft);_1w=_fv;if(_fw){_1v=(f32(_8z)>0.0f);_1w=_1v;}_22=_1q;_23=_1r;_24=_1s;_25=_1t;_26=_1u;if(_1w){_1x=(_1s+bitcast<u32>(1i));let _ge=(_gd<_1r);let _gf=select(_1u,0u,_ge);_1y=select(_1r,_gd,_ge);let _gg=(_gd>_1q);let _gh=select(_1t,0u,_gg);_1z=select(_1q,_gd,_gg);_20=select(_gf,(_gf+1u),(_gd==_1y));_21=select(_gh,(_gh+1u),(_gd==_1z));_22=_1z;_23=_1y;_24=_1x;_25=_21;_26=_20;}let _gi=dot(_92,_ft);_28=_fv;if(_fw){_27=(f32(_91)>0.0f);_28=_27;}_2e=_22;_2f=_23;_2g=_24;_2h=_25;_2i=_26;if(_28){_29=(_24+bitcast<u32>(1i));let _gj=(_gi<_23);let _gk=select(_26,0u,_gj);_2a=select(_23,_gi,_gj);let _gl=(_gi>_22);let _gm=select(_25,0u,_gl);_2b=select(_22,_gi,_gl);_2c=select(_gk,(_gk+1u),(_gi==_2a));_2d=select(_gm,(_gm+1u),(_gi==_2b));_2e=_2b;_2f=_2a;_2g=_29;_2h=_2d;_2i=_2c;}let _gn=dot(_94,_ft);_2k=_fv;if(_fw){_2j=(f32(_93)>0.0f);_2k=_2j;}_2q=_2e;_2r=_2f;_2s=_2g;_2t=_2h;_2u=_2i;if(_2k){_2l=(_2g+bitcast<u32>(1i));let _go=(_gn<_2f);let _gp=select(_2i,0u,_go);_2m=select(_2f,_gn,_go);let _gq=(_gn>_2e);let _gr=select(_2h,0u,_gq);_2n=select(_2e,_gn,_gq);_2o=select(_gp,(_gp+1u),(_gn==_2m));_2p=select(_gr,(_gr+1u),(_gn==_2n));_2q=_2n;_2r=_2m;_2s=_2l;_2t=_2p;_2u=_2o;}let _gs=dot(_96,_ft);_2w=_fv;if(_fw){_2v=(f32(_95)>0.0f);_2w=_2v;}_32=_2q;_33=_2r;_34=_2s;_35=_2t;_36=_2u;if(_2w){_2x=(_2s+bitcast<u32>(1i));let _gt=(_gs<_2r);let _gu=select(_2u,0u,_gt);_2y=select(_2r,_gs,_gt);let _gv=(_gs>_2q);let _gw=select(_2t,0u,_gv);_2z=select(_2q,_gs,_gv);_30=select(_gu,(_gu+1u),(_gs==_2y));_31=select(_gw,(_gw+1u),(_gs==_2z));_32=_2z;_33=_2y;_34=_2x;_35=_31;_36=_30;}let _gx=dot(_98,_ft);_38=_fv;if(_fw){_37=(f32(_97)>0.0f);_38=_37;}_3e=_32;_3f=_33;_3g=_34;_3h=_35;_3i=_36;if(_38){_39=(_34+bitcast<u32>(1i));let _gy=(_gx<_33);let _gz=select(_36,0u,_gy);_3a=select(_33,_gx,_gy);let _h0=(_gx>_32);let _h1=select(_35,0u,_h0);_3b=select(_32,_gx,_h0);_3c=select(_gz,(_gz+1u),(_gx==_3a));_3d=select(_h1,(_h1+1u),(_gx==_3b));_3e=_3b;_3f=_3a;_3g=_39;_3h=_3d;_3i=_3c;}let _h2=dot(_9a,_ft);_3k=_fv;if(_fw){_3j=(f32(_99)>0.0f);_3k=_3j;}_3q=_3e;_3r=_3f;_3s=_3g;_3t=_3h;_3u=_3i;if(_3k){_3l=(_3g+bitcast<u32>(1i));let _h3=(_h2<_3f);let _h4=select(_3i,0u,_h3);_3m=select(_3f,_h2,_h3);let _h5=(_h2>_3e);let _h6=select(_3h,0u,_h5);_3n=select(_3e,_h2,_h5);_3o=select(_h4,(_h4+1u),(_h2==_3m));_3p=select(_h6,(_h6+1u),(_h2==_3n));_3q=_3n;_3r=_3m;_3s=_3l;_3t=_3p;_3u=_3o;}let _h7=dot(_9c,_ft);_3w=_fv;if(_fw){_3v=(f32(_9b)>0.0f);_3w=_3v;}_42=_3q;_43=_3r;_44=_3s;_45=_3t;_46=_3u;if(_3w){_3x=(_3s+bitcast<u32>(1i));let _h8=(_h7<_3r);let _h9=select(_3u,0u,_h8);_3y=select(_3r,_h7,_h8);let _ha=(_h7>_3q);let _hb=select(_3t,0u,_ha);_3z=select(_3q,_h7,_ha);_40=select(_h9,(_h9+1u),(_h7==_3y));_41=select(_hb,(_hb+1u),(_h7==_3z));_42=_3z;_43=_3y;_44=_3x;_45=_41;_46=_40;}let _hc=dot(_9e,_ft);_48=_fv;if(_fw){_47=(f32(_9d)>0.0f);_48=_47;}_4e=_42;_4f=_43;_4g=_44;_4h=_45;_4i=_46;if(_48){_49=(_44+bitcast<u32>(1i));let _hd=(_hc<_43);let _he=select(_46,0u,_hd);_4a=select(_43,_hc,_hd);let _hf=(_hc>_42);let _hg=select(_45,0u,_hf);_4b=select(_42,_hc,_hf);_4c=select(_he,(_he+1u),(_hc==_4a));_4d=select(_hg,(_hg+1u),(_hc==_4b));_4e=_4b;_4f=_4a;_4g=_49;_4h=_4d;_4i=_4c;}let _hh=dot(_9g,_ft);_4k=_fv;if(_fw){_4j=(f32(_9f)>0.0f);_4k=_4j;}_4q=_4e;_4r=_4f;_4s=_4g;_4t=_4h;_4u=_4i;if(_4k){_4l=(_4g+bitcast<u32>(1i));let _hi=(_hh<_4f);let _hj=select(_4i,0u,_hi);_4m=select(_4f,_hh,_hi);let _hk=(_hh>_4e);let _hl=select(_4h,0u,_hk);_4n=select(_4e,_hh,_hk);_4o=select(_hj,(_hj+1u),(_hh==_4m));_4p=select(_hl,(_hl+1u),(_hh==_4n));_4q=_4n;_4r=_4m;_4s=_4l;_4t=_4p;_4u=_4o;}let _hm=dot(_9i,_ft);_4w=_fv;if(_fw){_4v=(f32(_9h)>0.0f);_4w=_4v;}_52=_4q;_53=_4r;_54=_4s;_55=_4t;_56=_4u;if(_4w){_4x=(_4s+bitcast<u32>(1i));let _hn=(_hm<_4r);let _ho=select(_4u,0u,_hn);_4y=select(_4r,_hm,_hn);let _hp=(_hm>_4q);let _hq=select(_4t,0u,_hp);_4z=select(_4q,_hm,_hp);_50=select(_ho,(_ho+1u),(_hm==_4y));_51=select(_hq,(_hq+1u),(_hm==_4z));_52=_4z;_53=_4y;_54=_4x;_55=_51;_56=_50;}let _hr=dot(_9k,_ft);_58=_fv;if(_fw){_57=(f32(_9j)>0.0f);_58=_57;}_5e=_52;_5f=_53;_5g=_54;_5h=_55;_5i=_56;if(_58){_59=(_54+bitcast<u32>(1i));let _hs=(_hr<_53);let _ht=select(_56,0u,_hs);_5a=select(_53,_hr,_hs);let _hu=(_hr>_52);let _hv=select(_55,0u,_hu);_5b=select(_52,_hr,_hu);_5c=select(_ht,(_ht+1u),(_hr==_5a));_5d=select(_hv,(_hv+1u),(_hr==_5b));_5e=_5b;_5f=_5a;_5g=_59;_5h=_5d;_5i=_5c;}let _hw=dot(_9m,_ft);_5k=_fv;if(_fw){_5j=(f32(_9l)>0.0f);_5k=_5j;}_5q=_5e;_5r=_5f;_5s=_5g;_5t=_5h;_5u=_5i;if(_5k){_5l=(_5g+bitcast<u32>(1i));let _hx=(_hw<_5f);let _hy=select(_5i,0u,_hx);_5m=select(_5f,_hw,_hx);let _hz=(_hw>_5e);let _i0=select(_5h,0u,_hz);_5n=select(_5e,_hw,_hz);_5o=select(_hy,(_hy+1u),(_hw==_5m));_5p=select(_i0,(_i0+1u),(_hw==_5n));_5q=_5n;_5r=_5m;_5s=_5l;_5t=_5p;_5u=_5o;}var _i1:f16;var _i2:f16;var _i3:f16;let _i4=dot(_fq,_ft);let _i5=(_5r-_i4);let _i6=(_5q-_i4);let _i7=select(3i,2i,_ey);let _i8=select(192i,48i,_ey);_i1=((_i6-_i5)*clamp((1.0h-clamp((f16((_5u+_5t))/f16(_5s)),0.0h,1.0h)),0.0h,1.0h));let _i9=(_i7==2i);if(_i9){_5v=(_i1*0.0625h);_5x=_5v;}else{var _ia:f16;if((_i7==3i)){_i2=(_i1*0.03125h);_5w=_i2;}else{_i3=_i1;if((_i7==4i)){_ia=(_i1*0.015625h);_i3=_ia;}_5w=_i3;}_5x=_5w;}var _ib:f16;var _ic:f16;var _id:f16;let _ie=(_i5+_5x);let _if=(_i6-_5x);_60=_if;_61=_ie;if((_i8<256i)){var _ig:f16;var _ih:f16;var _ii:f16;_ig=(1.0h/f16(_i8));if(_i9){_ib=(_ig*1.0h);_id=_ib;}else{var _ij:f16;if((_i7==3i)){_ih=(_ig*2.0h);_ic=_ih;}else{_ii=_ig;if((_i7==4i)){_ij=(_ig*4.0h);_ii=_ij;}_ic=_ii;}_id=_ic;}let _ik=max(0.0h,(((((0.6357421875h*_id)*_fs)+(0.36376953125h*_id))-(_if-_ie))*0.5h));_5y=(_ie-_ik);_5z=(_if+_ik);_60=_5z;_61=_5y;}var _il:f16;var _im:f16;var _in:f16;var _io:f16;let _ip=clamp(((_fp*_61)+_fq),vec4h(),_7);let _iq=clamp(((_fp*_60)+_fq),vec4h(),_7);_64=_iq;_65=_ip;if(_ey){let _ir=((_eu*clamp((1.0h-_c6),0.0h,1.0h))*0.0625h);_im=_c2;if((_c2>0.0h)){_il=(_c2+_ir);_im=_il;}_io=_c5;if((_c5<1.0h)){_in=(_c5-_ir);_io=_in;}let _is=max(0.0h,(((1.0h/f16(48i))-(_io-_im))*0.5h));_62=_ip;_62.w=clamp((_im-_is),0.0h,1.0h);_63=_iq;_63.w=clamp((_io+_is),0.0h,1.0h);_64=_63;_65=_62;}let _it=f16((_i8-1i));let _iu=trunc((_65*_it));let _iv=trunc((_64*_it));let _iw=(_iu+_7);let _ix=(_iv+_7);if((_i8==48i)){let _iy=_iu.xy;let _iz=(_iy*5.0h);let _j0=((_iz+trunc((abs((_iz+_9))*0.08331298828125h)))+select(vec2h(),_b,(_iy>_a)));let _j1=_iu.zw;let _j2=(_j1*5.0h);let _j3=((_j2+trunc((abs((_j2+_9))*0.08331298828125h)))+select(vec2h(),_b,(_j1>_a)));_66=vec4h(_j0.x,_j0.y,_j3.x,_j3.y);let _j4=_iw.xy;let _j5=(_j4*5.0h);let _j6=((_j5+trunc((abs((_j5+_9))*0.08331298828125h)))+select(vec2h(),_b,(_j4>_a)));let _j7=_iw.zw;let _j8=(_j7*5.0h);let _j9=((_j8+trunc((abs((_j8+_9))*0.08331298828125h)))+select(vec2h(),_b,(_j7>_a)));_67=vec4h(_j6.x,_j6.y,_j9.x,_j9.y);let _ja=_iv.xy;let _jb=(_ja*5.0h);let _jc=((_jb+trunc((abs((_jb+_9))*0.08331298828125h)))+select(vec2h(),_b,(_ja>_a)));let _jd=_iv.zw;let _je=(_jd*5.0h);let _jf=((_je+trunc((abs((_je+_9))*0.08331298828125h)))+select(vec2h(),_b,(_jd>_a)));_68=vec4h(_jc.x,_jc.y,_jf.x,_jf.y);let _jg=_ix.xy;let _jh=(_jg*5.0h);let _ji=((_jh+trunc((abs((_jh+_9))*0.08331298828125h)))+select(vec2h(),_b,(_jg>_a)));let _jj=_ix.zw;let _jk=(_jj*5.0h);let _jl=((_jk+trunc((abs((_jk+_9))*0.08331298828125h)))+select(vec2h(),_b,(_jj>_a)));_69=vec4h(_ji.x,_ji.y,_jl.x,_jl.y);_6e=_69;_6f=_68;_6g=_67;_6h=_66;}else{let _jm=_iu.xy;let _jn=trunc((trunc((_jm*0.01041412353515625h))+(_jm*1.3330078125h)));let _jo=_iu.zw;let _jp=trunc((trunc((_jo*0.01041412353515625h))+(_jo*1.3330078125h)));_6a=vec4h(_jn.x,_jn.y,_jp.x,_jp.y);let _jq=_iw.xy;let _jr=trunc((trunc((_jq*0.01041412353515625h))+(_jq*1.3330078125h)));let _js=_iw.zw;let _jt=trunc((trunc((_js*0.01041412353515625h))+(_js*1.3330078125h)));_6b=vec4h(_jr.x,_jr.y,_jt.x,_jt.y);let _ju=_iv.xy;let _jv=trunc((trunc((_ju*0.01041412353515625h))+(_ju*1.3330078125h)));let _jw=_iv.zw;let _jx=trunc((trunc((_jw*0.01041412353515625h))+(_jw*1.3330078125h)));_6c=vec4h(_jv.x,_jv.y,_jx.x,_jx.y);let _jy=_ix.xy;let _jz=trunc((trunc((_jy*0.01041412353515625h))+(_jy*1.3330078125h)));let _k0=_ix.zw;let _k1=trunc((trunc((_k0*0.01041412353515625h))+(_k0*1.3330078125h)));_6d=vec4h(_jz.x,_jz.y,_k1.x,_k1.y);_6e=_6d;_6f=_6c;_6g=_6b;_6h=_6a;}var _k2:f16;var _k3:f16;let _k4=select(_6h,_6g,((_65*510.0h)>(_6h+_6g)));let _k5=select(_6f,_6e,((_64*510.0h)>(_6f+_6e)));let _k6=vec4<bool>((((_k5.x+_k5.y)+_k5.z)<((_k4.x+_k4.y)+_k4.z)));let _k7=select(_k5,_k4,_k6);let _k8=select(_k4,_k5,_k6);let _k9=(((_k7-_k8)*_8)*0.0039215087890625h);_6l=0u;_6m=0u;_6n=_k9;if(_ey){let _ka=_k8.w;let _kb=((_k7.w-_ka)*0.0039215087890625h);if(!((_kb==0.0h))){_k2=(1.0h/_kb);_k3=_k2;}else{_k3=1.0h;}let _kc=((_ka*_k3)*0.0039215087890625h);_6i=((((((((0u|(u32(((3.0h*clamp(((_8r*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp(((_8t*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp(((_8v*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp(((_8x*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp(((_8z*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp(((_91*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp(((_93*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp(((_95*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_6j=((((((((0u|(u32(((3.0h*clamp(((_97*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp(((_99*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp(((_9b*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp(((_9d*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp(((_9f*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp(((_9h*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp(((_9j*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp(((_9l*_k3)-_kc),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_6k=_k9;_6k.w=0.0h;_6l=_6j;_6m=_6i;_6n=_6k;}let _kd=((_6n*(1.0h/dot(_6n,_6n)))*_8);let _ke=(dot(_k8,_kd)*0.0039215087890625h);let _kf=select(3i,4i,_ey);let _kg=select(7.0h,3.0h,_ey);let _kh=(_kf*2i);let _ki=(_kf*3i);let _kj=(_kf*4i);let _kk=(_kf*5i);let _kl=(_kf*6i);let _km=(_kf*7i);let _kn=((((((((_6m|(u32(((_kg*clamp((dot(_8s,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_kg*clamp((dot(_8u,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kf)))|(u32(((_kg*clamp((dot(_8w,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kh)))|(u32(((_kg*clamp((dot(_8y,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ki)))|(u32(((_kg*clamp((dot(_90,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kj)))|(u32(((_kg*clamp((dot(_92,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kk)))|(u32(((_kg*clamp((dot(_94,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kl)))|(u32(((_kg*clamp((dot(_96,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_km)));let _ko=((((((((_6l|(u32(((_kg*clamp((dot(_98,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_kg*clamp((dot(_9a,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kf)))|(u32(((_kg*clamp((dot(_9c,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kh)))|(u32(((_kg*clamp((dot(_9e,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ki)))|(u32(((_kg*clamp((dot(_9g,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kj)))|(u32(((_kg*clamp((dot(_9i,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kk)))|(u32(((_kg*clamp((dot(_9k,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_kl)))|(u32(((_kg*clamp((dot(_9m,_kd)-_ke),0.0h,1.0h))+0.5h))<<bitcast<u32>(_km)));_6p=vec2u(_kn,_ko);if(_fv){_6o=vec2u((_kn|(_ko<<bitcast<u32>(24i))),(_ko>>bitcast<u32>(8i)));_6p=_6o;}var _kp=vec4u();_kp.x=select(98387u,99394u,_ey);let _kq=_kp;_6r=_kp;if(_ey){_6q=_kq;_6q.y=3221225472u;_6r=_6q;}let _kr=u32(_k8.x);let _ks=(_i8==192i);let _kt=select(4u,2u,_ks);let _ku=(((_kr+select(0u,1u,(_kr<128u)))*3u)>>_kt);let _kv=select(1u,4u,_ks);let _kw=(_kv*16u);let _kx=((_kv*48u)-2u);let _ky=((_kw*_ku)-(_kx*((_ku*1366u)>>bitcast<u32>(12i))));let _kz=(_kv*24u);_6t=_ky;if((_ku>=_kz)){_6s=(((_kv*64u)-1u)-_ky);_6t=_6s;}let _l0=u32(_k7.x);let _l1=(((_l0+select(0u,1u,(_l0<128u)))*3u)>>_kt);let _l2=((_kw*_l1)-(_kx*((_l1*1366u)>>bitcast<u32>(12i))));_6v=_l2;if((_l1>=_kz)){_6u=(((_kv*64u)-1u)-_l2);_6v=_6u;}let _l3=u32(_k8.y);let _l4=(((_l3+select(0u,1u,(_l3<128u)))*3u)>>_kt);let _l5=((_kw*_l4)-(_kx*((_l4*1366u)>>bitcast<u32>(12i))));_6x=_l5;if((_l4>=_kz)){_6w=(((_kv*64u)-1u)-_l5);_6x=_6w;}let _l6=u32(_k7.y);let _l7=(((_l6+select(0u,1u,(_l6<128u)))*3u)>>_kt);let _l8=((_kw*_l7)-(_kx*((_l7*1366u)>>bitcast<u32>(12i))));_6z=_l8;if((_l7>=_kz)){_6y=(((_kv*64u)-1u)-_l8);_6z=_6y;}let _l9=u32(_k8.z);let _la=(((_l9+select(0u,1u,(_l9<128u)))*3u)>>_kt);let _lb=((_kw*_la)-(_kx*((_la*1366u)>>bitcast<u32>(12i))));_71=_lb;if((_la>=_kz)){_70=(((_kv*64u)-1u)-_lb);_71=_70;}let _lc=u32(_k7.z);let _ld=(((_lc+select(0u,1u,(_lc<128u)))*3u)>>_kt);let _le=((_kw*_ld)-(_kx*((_ld*1366u)>>bitcast<u32>(12i))));_73=_le;if((_ld>=_kz)){_72=(((_kv*64u)-1u)-_le);_73=_72;}let _lf=u32(_k8.w);let _lg=(((_lf+select(0u,1u,(_lf<128u)))*3u)>>_kt);let _lh=((_kw*_lg)-(_kx*((_lg*1366u)>>bitcast<u32>(12i))));_75=_lh;if((_lg>=_kz)){_74=(((_kv*64u)-1u)-_lh);_75=_74;}let _li=u32(_k7.w);let _lj=(((_li+select(0u,1u,(_li<128u)))*3u)>>_kt);let _lk=((_kw*_lj)-(_kx*((_lj*1366u)>>bitcast<u32>(12i))));_77=_lk;if((_lj>=_kz)){_76=(((_kv*64u)-1u)-_lk);_77=_76;}var _ll:u32;var _lm:u32;var _ln:u32;var _lo:u32;var _lp:u32;var _lq:u32;var _lr:u32;var _ls:u32;var _lt:u32;var _lu:u32;var _lv:u32;var _lw:u32;var _lx:u32;var _ly:u32;var _lz:u32;var _m0:u32;var _m1:u32;var _m2:u32;var _m3:u32;var _m4:u32;var _m5:u32;var _m6:u32;var _m7:u32;let _m8=select(4i,6i,_ks);_ll=(_6t>>bitcast<u32>(_m8));_lm=(_6v>>bitcast<u32>(_m8));_ln=(_6x>>bitcast<u32>(_m8));_lo=(_6z>>bitcast<u32>(_m8));_lp=(_71>>bitcast<u32>(_m8));switch(0u){default:{_lv=_ll;_lw=_lm;_lx=_ln;_ly=_lo;_lz=_lp;if((_ln==2u)){var _m9:bool;var _ma:u32;var _mb:u32;var _mc:u32;_m9=((_lp==2u)&(_lo==2u));if(((_m9&(_lm==1u))&(_ll==2u))){_79=255u;break;}else{var _md:u32;var _me:u32;let _mf=(_m9&(_lm==2u));_lq=select(_lo,3u,_mf);_lr=select(_lp,1u,_mf);_md=select(_lm,3u,_mf);_ls=(_md&1u);if((_md==0u)){_ma=(_ll+(_ll>>1u));_lt=3u;_lu=_ma;}else{let _mg=(_md==1u);if(_mg){_mb=_ll;}else{_me=select(_md,3u,(_md==2u));_mb=_me;}_mc=select(_ll,3u,_mg);_lt=_mc;_lu=_mb;}}_lv=_lt;_lw=_lu;_lx=_ls;_ly=_lq;_lz=_lr;}_m4=_lz;_m5=_ly;_m6=_lx;_m7=_lw;if((_lz==2u)){let _mh=(_ly==2u);_m0=select(_ly,_lx,_mh);_m1=select(3u,_lw,_mh);_m2=select(_lx,1u,_mh);_m3=select(_lw,3u,_mh);_m4=_m0;_m5=_m1;_m6=_m2;_m7=_m3;}_78=((((_lv+(4u*_m7))+(16u*_m6))+(32u*_m5))+(128u*_m4));_79=_78;}}let _mi=((1u<<bitcast<u32>(_m8))-1u);let _mj=((_6t&_mi)|(((_79>>0u)&3u)<<bitcast<u32>(_m8)));let _mk=(_m8+2i);var _ml=_6r;_ml.x=(_6r.x|(_mj<<17u));let _mm=_ml;let _mn=(_m8+19i);_7b=_ml;if((_mn>32i)){_7a=_mm;_7a.y=(_6r.y|(_mj>>15u));_7b=_7a;}var _mo:u32;var _mp:vec4u;var _mq:vec4u;var _mr:vec4u;_mo=((_6v&_mi)|(((_79>>2u)&3u)<<bitcast<u32>(_m8)));if((_mn<32i)){var _ms=_7b;_ms.x=(_7b.x|(_mo<<bitcast<u32>(_mn)));let _mt=_ms;_7c=_ms;if(((_mn+_mk)>32i)){_mp=_mt;_mp.y=(_7b.y|(_mo>>bitcast<u32>((13i-_m8))));_7c=_mp;}_7e=_7c;}else{var _mu:vec4u;var _mv:vec4u;if((_mn<64i)){var _mw=_7b;_mw.y=(_7b.y|(_mo<<bitcast<u32>((_m8+-13i))));let _mx=_mw;_mq=_mw;if(((_mn+_mk)>64i)){_mu=_mx;_mu.z=(_7b.z|(_mo>>bitcast<u32>((45i-_m8))));_mq=_mu;}_7d=_mq;}else{if((_mn<96i)){_mv=_7b;_mv.z=(_7b.z|(_mo<<bitcast<u32>((_m8+-45i))));_mr=_mv;}else{_mr=_7b;}_7d=_mr;}_7e=_7d;}var _my:u32;var _mz:vec4u;var _n0:vec4u;var _n1:vec4u;let _n2=(_mn+_mk);_my=((_6x&_mi)|(((_79>>4u)&1u)<<bitcast<u32>(_m8)));let _n3=(_m8+1i);if((_n2<32i)){var _n4=_7e;_n4.x=(_7e.x|(_my<<bitcast<u32>(_n2)));let _n5=_n4;_7f=_n4;if(((_n2+_n3)>32i)){_mz=_n5;_mz.y=(_7e.y|(_my>>bitcast<u32>((32i-_n2))));_7f=_mz;}_7h=_7f;}else{var _n6:vec4u;var _n7:vec4u;if((_n2<64i)){var _n8=_7e;_n8.y=(_7e.y|(_my<<bitcast<u32>((_n2-32i))));let _n9=_n8;_n0=_n8;if(((_n2+_n3)>64i)){_n6=_n9;_n6.z=(_7e.z|(_my>>bitcast<u32>((64i-_n2))));_n0=_n6;}_7g=_n0;}else{if((_n2<96i)){_n7=_7e;_n7.z=(_7e.z|(_my<<bitcast<u32>((_n2-64i))));_n1=_n7;}else{_n1=_7e;}_7g=_n1;}_7h=_7g;}var _na:u32;var _nb:vec4u;var _nc:vec4u;var _nd:vec4u;let _ne=(_n2+_n3);_na=((_6z&_mi)|(((_79>>5u)&3u)<<bitcast<u32>(_m8)));if((_ne<32i)){var _nf=_7h;_nf.x=(_7h.x|(_na<<bitcast<u32>(_ne)));let _ng=_nf;_7i=_nf;if(((_ne+_mk)>32i)){_nb=_ng;_nb.y=(_7h.y|(_na>>bitcast<u32>((32i-_ne))));_7i=_nb;}_7k=_7i;}else{var _nh:vec4u;var _ni:vec4u;if((_ne<64i)){var _nj=_7h;_nj.y=(_7h.y|(_na<<bitcast<u32>((_ne-32i))));let _nk=_nj;_nc=_nj;if(((_ne+_mk)>64i)){_nh=_nk;_nh.z=(_7h.z|(_na>>bitcast<u32>((64i-_ne))));_nc=_nh;}_7j=_nc;}else{if((_ne<96i)){_ni=_7h;_ni.z=(_7h.z|(_na<<bitcast<u32>((_ne-64i))));_nd=_ni;}else{_nd=_7h;}_7j=_nd;}_7k=_7j;}var _nl:u32;var _nm:vec4u;var _nn:vec4u;var _no:vec4u;let _np=(_ne+_mk);_nl=((_71&_mi)|(((_79>>7u)&1u)<<bitcast<u32>(_m8)));if((_np<32i)){var _nq=_7k;_nq.x=(_7k.x|(_nl<<bitcast<u32>(_np)));let _nr=_nq;_7l=_nq;if(((_np+_n3)>32i)){_nm=_nr;_nm.y=(_7k.y|(_nl>>bitcast<u32>((32i-_np))));_7l=_nm;}_7n=_7l;}else{var _ns:vec4u;var _nt:vec4u;if((_np<64i)){var _nu=_7k;_nu.y=(_7k.y|(_nl<<bitcast<u32>((_np-32i))));let _nv=_nu;_nn=_nu;if(((_np+_n3)>64i)){_ns=_nv;_ns.z=(_7k.z|(_nl>>bitcast<u32>((64i-_np))));_nn=_ns;}_7m=_nn;}else{if((_np<96i)){_nt=_7k;_nt.z=(_7k.z|(_nl<<bitcast<u32>((_np-64i))));_no=_nt;}else{_no=_7k;}_7m=_no;}_7n=_7m;}var _nw:u32;var _nx:u32;var _ny:u32;let _nz=(_np+_n3);let _o0=(_73>>bitcast<u32>(_m8));let _o1=(_75>>bitcast<u32>(_m8));let _o2=(_77>>bitcast<u32>(_m8));_7r=_o0;_7s=_o1;_7t=_o2;if((_o2==2u)){var _o3:u32;_7o=(_o1&1u);if((_o1==0u)){_nw=(_o0+(_o0>>1u));_7p=3u;_7q=_nw;}else{let _o4=(_o1==1u);if(_o4){_nx=_o0;}else{_o3=select(_o1,3u,(_o1==2u));_nx=_o3;}_ny=select(_o0,3u,_o4);_7p=_ny;_7q=_nx;}_7r=_7p;_7s=_7q;_7t=_7o;}var _o5:u32;var _o6:vec4u;var _o7:vec4u;var _o8:vec4u;let _o9=((_7r+(4u*_7s))+(16u*_7t));_o5=((_73&_mi)|(((_o9>>0u)&3u)<<bitcast<u32>(_m8)));if((_nz<32i)){var _oa=_7n;_oa.x=(_7n.x|(_o5<<bitcast<u32>(_nz)));let _ob=_oa;_7u=_oa;if(((_nz+_mk)>32i)){_o6=_ob;_o6.y=(_7n.y|(_o5>>bitcast<u32>((32i-_nz))));_7u=_o6;}_7w=_7u;}else{var _oc:vec4u;var _od:vec4u;if((_nz<64i)){var _oe=_7n;_oe.y=(_7n.y|(_o5<<bitcast<u32>((_nz-32i))));let _of=_oe;_o7=_oe;if(((_nz+_mk)>64i)){_oc=_of;_oc.z=(_7n.z|(_o5>>bitcast<u32>((64i-_nz))));_o7=_oc;}_7v=_o7;}else{if((_nz<96i)){_od=_7n;_od.z=(_7n.z|(_o5<<bitcast<u32>((_nz-64i))));_o8=_od;}else{_o8=_7n;}_7v=_o8;}_7w=_7v;}var _og:u32;var _oh:vec4u;var _oi:vec4u;var _oj:vec4u;let _ok=(_nz+_mk);_og=((_75&_mi)|(((_o9>>2u)&3u)<<bitcast<u32>(_m8)));if((_ok<32i)){var _ol=_7w;_ol.x=(_7w.x|(_og<<bitcast<u32>(_ok)));let _om=_ol;_7x=_ol;if(((_ok+_mk)>32i)){_oh=_om;_oh.y=(_7w.y|(_og>>bitcast<u32>((32i-_ok))));_7x=_oh;}_7z=_7x;}else{var _on:vec4u;var _oo:vec4u;if((_ok<64i)){var _op=_7w;_op.y=(_7w.y|(_og<<bitcast<u32>((_ok-32i))));let _oq=_op;_oi=_op;if(((_ok+_mk)>64i)){_on=_oq;_on.z=(_7w.z|(_og>>bitcast<u32>((64i-_ok))));_oi=_on;}_7y=_oi;}else{if((_ok<96i)){_oo=_7w;_oo.z=(_7w.z|(_og<<bitcast<u32>((_ok-64i))));_oj=_oo;}else{_oj=_7w;}_7y=_oj;}_7z=_7y;}var _or:i32;var _os:u32;var _ot:vec4u;var _ou:vec4u;var _ov:vec4u;_or=(_ok+_mk);_os=((_77&_mi)|(((_o9>>4u)&1u)<<bitcast<u32>(_m8)));if((_or<32i)){var _ow=_7z;_ow.x=(_7z.x|(_os<<bitcast<u32>(_or)));let _ox=_ow;_80=_ow;if(((_or+_n3)>32i)){_ot=_ox;_ot.y=(_7z.y|(_os>>bitcast<u32>((32i-_or))));_80=_ot;}_82=_80;}else{var _oy:vec4u;var _oz:vec4u;if((_or<64i)){var _p0=_7z;_p0.y=(_7z.y|(_os<<bitcast<u32>((_or-32i))));let _p1=_p0;_ou=_p0;if(((_or+_n3)>64i)){_oy=_p1;_oy.z=(_7z.z|(_os>>bitcast<u32>((64i-_or))));_ou=_oy;}_81=_ou;}else{if((_or<96i)){_oz=_7z;_oz.z=(_7z.z|(_os<<bitcast<u32>((_or-64i))));_ov=_oz;}else{_ov=_7z;}_81=_ov;}_82=_81;}let _p2=_6p.y;let _p3=(((_p2&2863311530u)>>1u)|((_p2&1431655765u)<<1u));let _p4=(((_p3&3435973836u)>>2u)|((_p3&858993459u)<<2u));let _p5=(((_p4&4042322160u)>>4u)|((_p4&252645135u)<<4u));let _p6=(((_p5&4278255360u)>>8u)|((_p5&16711935u)<<8u));var _p7=_82;_p7.z=(_82.z|((_p6>>16u)|(_p6<<16u)));let _p8=_p7;let _p9=_6p.x;let _pa=(((_p9&2863311530u)>>1u)|((_p9&1431655765u)<<1u));let _pb=(((_pa&3435973836u)>>2u)|((_pa&858993459u)<<2u));let _pc=(((_pb&4042322160u)>>4u)|((_pb&252645135u)<<4u));let _pd=(((_pc&4278255360u)>>8u)|((_pc&16711935u)<<8u));var _pe=_p8;_pe.w=((_pd>>16u)|(_pd<<16u));x_5372._0[((_85.y*((_84+15u)&4294967280u))+_87)]=_pe;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _pf:vec3u,@builtin(local_invocation_id) _pg:vec3u,@builtin(workgroup_id) _ph:vec3u){x_5276=_pf;x_5282=_pg;_c();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_astc_rgba as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_bc1_rgb = "enable f16;alias RTArr=array<vec2u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_2118:vec3u;var<private>x_2124:vec3u;@binding(2) @group(0) var<storage,read_write>x_2214:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec3h(1.0h);const _8=vec3h(0.85986328125h,1.7099609375h,0.429931640625h);const _9=array<u32,256u>(0u,0u,134283264u,134283264u,2049u,2049u,2049u,134285313u,134285313u,134285313u,268568577u,268568577u,134287362u,134287362u,134287362u,268570626u,268570626u,268570626u,402853890u,402853890u,402853890u,268572675u,537137154u,402855939u,402855939u,402855939u,537139203u,537139203u,537139203u,402857988u,402857988u,402857988u,537141252u,537141252u,537141252u,402860037u,671424516u,537143301u,537143301u,537143301u,671426565u,671426565u,671426565u,805709829u,805709829u,671428614u,671428614u,671428614u,805711878u,805711878u,805711878u,939995142u,939995142u,939995142u,805713927u,1074278406u,939997191u,939997191u,939997191u,1074280455u,1074280455u,1074280455u,939999240u,939999240u,939999240u,1074282504u,1074282504u,1074282504u,940001289u,1208565768u,1074284553u,1074284553u,1074284553u,1208567817u,1208567817u,1208567817u,1342851081u,1342851081u,1208569866u,1208569866u,1208569866u,1342853130u,1342853130u,1342853130u,1477136394u,1477136394u,1477136394u,1342855179u,1611419658u,1477138443u,1477138443u,1477138443u,1611421707u,1611421707u,1611421707u,1477140492u,1477140492u,1477140492u,1611423756u,1611423756u,1611423756u,1477142541u,1745707020u,1611425805u,1611425805u,1611425805u,1745709069u,1745709069u,1745709069u,1879992333u,1879992333u,1745711118u,1745711118u,1745711118u,1879994382u,1879994382u,1879994382u,2014277646u,2014277646u,2014277646u,1879996431u,2148560910u,2014279695u,2014279695u,2014279695u,2148562959u,2148562959u,2148562959u,2014281744u,2014281744u,2014281744u,2148565008u,2148565008u,2148565008u,2014283793u,2282848272u,2148567057u,2148567057u,2148567057u,2282850321u,2282850321u,2282850321u,2417133585u,2417133585u,2282852370u,2282852370u,2282852370u,2417135634u,2417135634u,2417135634u,2551418898u,2551418898u,2551418898u,2417137683u,2685702162u,2551420947u,2551420947u,2551420947u,2685704211u,2685704211u,2685704211u,2551422996u,2551422996u,2551422996u,2685706260u,2685706260u,2685706260u,2551425045u,2819989524u,2685708309u,2685708309u,2685708309u,2819991573u,2819991573u,2819991573u,2954274837u,2954274837u,2819993622u,2819993622u,2819993622u,2954276886u,2954276886u,2954276886u,3088560150u,3088560150u,3088560150u,2954278935u,3222843414u,3088562199u,3088562199u,3088562199u,3222845463u,3222845463u,3222845463u,3088564248u,3088564248u,3088564248u,3222847512u,3222847512u,3222847512u,3088566297u,3357130776u,3222849561u,3222849561u,3222849561u,3357132825u,3357132825u,3357132825u,3491416089u,3491416089u,3357134874u,3357134874u,3357134874u,3491418138u,3491418138u,3491418138u,3625701402u,3625701402u,3625701402u,3491420187u,3759984666u,3625703451u,3625703451u,3625703451u,3759986715u,3759986715u,3759986715u,3625705500u,3625705500u,3625705500u,3759988764u,3759988764u,3759988764u,3625707549u,3894272028u,3759990813u,3759990813u,3759990813u,3894274077u,3894274077u,3894274077u,4028557341u,4028557341u,3894276126u,3894276126u,3894276126u,4028559390u,4028559390u,4028559390u,4162842654u,4162842654u,4162842654u,4028561439u,4028561439u,4162844703u,4162844703u);fn _a(){var _b:array<u32,256u>;var _c:array<u32,256u>;var _d:array<u32,256u>;var _e:bool;var _f:bool;var _g:vec2u;var _h:vec2u;var _i:vec2u;switch(0u){default:{let _j=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _k=((_j.x+3u)/4u);let _l=x_2118;let _m=x_2118.xy;let _n=x_2118.x;let _o=(_n>=_k);_f=_o;if(!(_o)){_e=(_l.y>=((_j.y+3u)/4u));_f=_e;}if(_f){break;}var _p:vec3h;var _q:vec3h;var _r:vec3h;var _s:vec3h;var _t:vec3h;var _u:vec3h;var _v:vec3h;var _w:vec3h;var _x:vec3h;var _y:vec3h;var _z:vec3h;var _10:vec3h;var _11:vec3h;var _12:vec3h;var _13:vec3h;var _14:vec3h;var _15:f16;var _16:f16;var _17:f16;var _18:f16;var _19:vec3h;var _1a:vec3h;var _1b:vec3h;var _1c:vec3h;var _1d:bool;var _1e:u32;var _1f:u32;var _1g:u32;var _1h:u32;let _1i=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _1j=((vec2f(bitcast<vec2i>((_m*vec2u(4u))))*_1i)+_1i);let _1k=vec4h(textureGather(0i,_3,_2,_1j,vec2i()));let _1l=vec4h(textureGather(0i,_3,_2,_1j,_4));let _1m=vec4h(textureGather(0i,_3,_2,_1j,_5));let _1n=vec4h(textureGather(0i,_3,_2,_1j,_6));let _1o=vec4h(textureGather(1i,_3,_2,_1j,vec2i()));let _1p=vec4h(textureGather(1i,_3,_2,_1j,_4));let _1q=vec4h(textureGather(1i,_3,_2,_1j,_5));let _1r=vec4h(textureGather(1i,_3,_2,_1j,_6));let _1s=vec4h(textureGather(2i,_3,_2,_1j,vec2i()));let _1t=vec4h(textureGather(2i,_3,_2,_1j,_4));let _1u=vec4h(textureGather(2i,_3,_2,_1j,_5));let _1v=vec4h(textureGather(2i,_3,_2,_1j,_6));_p=vec3h(_1k.w,_1o.w,_1s.w);_q=vec3h(_1k.z,_1o.z,_1s.z);_r=vec3h(_1l.w,_1p.w,_1t.w);_s=vec3h(_1l.z,_1p.z,_1t.z);_t=vec3h(_1k.x,_1o.x,_1s.x);_u=vec3h(_1k.y,_1o.y,_1s.y);_v=vec3h(_1l.x,_1p.x,_1t.x);_w=vec3h(_1l.y,_1p.y,_1t.y);_x=vec3h(_1m.w,_1q.w,_1u.w);_y=vec3h(_1m.z,_1q.z,_1u.z);_z=vec3h(_1n.w,_1r.w,_1v.w);_10=vec3h(_1n.z,_1r.z,_1v.z);_11=vec3h(_1m.x,_1q.x,_1u.x);_12=vec3h(_1m.y,_1q.y,_1u.y);_13=vec3h(_1n.x,_1r.x,_1v.x);_14=vec3h(_1n.y,_1r.y,_1v.y);switch(0u){default:{let _1w=(((((((((((((((_p+_q)+_r)+_s)+_t)+_u)+_v)+_w)+_x)+_y)+_z)+_10)+_11)+_12)+_13)+_14);let _1x=((_p*16.0h)-_1w);let _1y=_1x.x;let _1z=_1x.y;let _20=_1x.z;let _21=((_q*16.0h)-_1w);let _22=_21.x;let _23=_21.y;let _24=_21.z;let _25=((_r*16.0h)-_1w);let _26=_25.x;let _27=_25.y;let _28=_25.z;let _29=((_s*16.0h)-_1w);let _2a=_29.x;let _2b=_29.y;let _2c=_29.z;let _2d=((_t*16.0h)-_1w);let _2e=_2d.x;let _2f=_2d.y;let _2g=_2d.z;let _2h=((_u*16.0h)-_1w);let _2i=_2h.x;let _2j=_2h.y;let _2k=_2h.z;let _2l=((_v*16.0h)-_1w);let _2m=_2l.x;let _2n=_2l.y;let _2o=_2l.z;let _2p=((_w*16.0h)-_1w);let _2q=_2p.x;let _2r=_2p.y;let _2s=_2p.z;let _2t=((_x*16.0h)-_1w);let _2u=_2t.x;let _2v=_2t.y;let _2w=_2t.z;let _2x=((_y*16.0h)-_1w);let _2y=_2x.x;let _2z=_2x.y;let _30=_2x.z;let _31=((_z*16.0h)-_1w);let _32=_31.x;let _33=_31.y;let _34=_31.z;let _35=((_10*16.0h)-_1w);let _36=_35.x;let _37=_35.y;let _38=_35.z;let _39=((_11*16.0h)-_1w);let _3a=_39.x;let _3b=_39.y;let _3c=_39.z;let _3d=((_12*16.0h)-_1w);let _3e=_3d.x;let _3f=_3d.y;let _3g=_3d.z;let _3h=((_13*16.0h)-_1w);let _3i=_3h.x;let _3j=_3h.y;let _3k=_3h.z;let _3l=((_14*16.0h)-_1w);let _3m=_3l.x;let _3n=((((((((((((((((_1y*_1y)+(_22*_22))+(_26*_26))+(_2a*_2a))+(_2e*_2e))+(_2i*_2i))+(_2m*_2m))+(_2q*_2q))+(_2u*_2u))+(_2y*_2y))+(_32*_32))+(_36*_36))+(_3a*_3a))+(_3e*_3e))+(_3i*_3i))+(_3m*_3m));let _3o=_3l.y;let _3p=_3l.z;let _3q=((((((((((((((((_1z*_1z)+(_23*_23))+(_27*_27))+(_2b*_2b))+(_2f*_2f))+(_2j*_2j))+(_2n*_2n))+(_2r*_2r))+(_2v*_2v))+(_2z*_2z))+(_33*_33))+(_37*_37))+(_3b*_3b))+(_3f*_3f))+(_3j*_3j))+(_3o*_3o));let _3r=((((((((((((((((_20*_20)+(_24*_24))+(_28*_28))+(_2c*_2c))+(_2g*_2g))+(_2k*_2k))+(_2o*_2o))+(_2s*_2s))+(_2w*_2w))+(_30*_30))+(_34*_34))+(_38*_38))+(_3c*_3c))+(_3g*_3g))+(_3k*_3k))+(_3p*_3p));let _3s=select(1.0h,0.015625h,(max(max(_3n,_3q),_3r)>64.0h));let _3t=(_3n*_3s);let _3u=(((((((((((((((((_1y*_1z)+(_22*_23))+(_26*_27))+(_2a*_2b))+(_2e*_2f))+(_2i*_2j))+(_2m*_2n))+(_2q*_2r))+(_2u*_2v))+(_2y*_2z))+(_32*_33))+(_36*_37))+(_3a*_3b))+(_3e*_3f))+(_3i*_3j))+(_3m*_3o))*_3s);let _3v=(((((((((((((((((_1y*_20)+(_22*_24))+(_26*_28))+(_2a*_2c))+(_2e*_2g))+(_2i*_2k))+(_2m*_2o))+(_2q*_2s))+(_2u*_2w))+(_2y*_30))+(_32*_34))+(_36*_38))+(_3a*_3c))+(_3e*_3g))+(_3i*_3k))+(_3m*_3p))*_3s);let _3w=(_3q*_3s);let _3x=(((((((((((((((((_1z*_20)+(_23*_24))+(_27*_28))+(_2b*_2c))+(_2f*_2g))+(_2j*_2k))+(_2n*_2o))+(_2r*_2s))+(_2v*_2w))+(_2z*_30))+(_33*_34))+(_37*_38))+(_3b*_3c))+(_3f*_3g))+(_3j*_3k))+(_3o*_3p))*_3s);let _3y=(_3r*_3s);let _3z=(vec3h(_3t,_3w,_3y)+vec3h(0.0001220703125h));let _40=vec3h((vec3f(_3z)*(1.0f/f32(max(max(_3z.x,_3z.y),_3z.z)))));let _41=_40.x;_16=_41;if((_3u<0.0h)){_15=-(_41);_16=_15;}let _42=_40.z;_18=_42;if((_3x<0.0h)){_17=-(_42);_18=_17;}let _43=_40.y;let _44=(((_16*_3t)+(_43*_3u))+(_18*_3v));let _45=(((_16*_3u)+(_43*_3w))+(_18*_3x));let _46=(((_16*_3v)+(_43*_3x))+(_18*_3y));let _47=max(max(abs(_44),abs(_45)),abs(_46));let _48=vec3h((vec3f(f32(_44),f32(_45),f32(_46))*(1.0f/f32(select(_47,1.0h,(_47==0.0h))))));let _49=_48.x;let _4a=_48.y;let _4b=_48.z;let _4c=(((_49*_3t)+(_4a*_3u))+(_4b*_3v));let _4d=(((_49*_3u)+(_4a*_3w))+(_4b*_3x));let _4e=(((_49*_3v)+(_4a*_3x))+(_4b*_3y));let _4f=max(max(abs(_4c),abs(_4d)),abs(_4e));let _4g=(_4f==0.0h);let _4h=select(vec3h((vec3f(f32(_4c),f32(_4d),f32(_4e))*(1.0f/f32(select(_4f,1.0h,_4g))))),_7,vec3<bool>(_4g));let _4i=(_1w*0.0625h);let _4j=(_4h*_8);let _4k=(1.0h/dot(_4j,_4j));let _4l=((_4j*_4k)*_8);let _4m=dot(_p,_4l);let _4n=dot(_q,_4l);let _4o=(_4n<_4m);let _4p=select(1u,0u,_4o);let _4q=select(_4m,_4n,_4o);let _4r=(_4n>_4m);let _4s=select(1u,0u,_4r);let _4t=select(_4m,_4n,_4r);let _4u=dot(_r,_4l);let _4v=(_4u<_4q);let _4w=select(select(_4p,(_4p+1u),(_4n==_4q)),0u,_4v);let _4x=select(_4q,_4u,_4v);let _4y=(_4u>_4t);let _4z=select(select(_4s,(_4s+1u),(_4n==_4t)),0u,_4y);let _50=select(_4t,_4u,_4y);let _51=dot(_s,_4l);let _52=(_51<_4x);let _53=select(select(_4w,(_4w+1u),(_4u==_4x)),0u,_52);let _54=select(_4x,_51,_52);let _55=(_51>_50);let _56=select(select(_4z,(_4z+1u),(_4u==_50)),0u,_55);let _57=select(_50,_51,_55);let _58=dot(_t,_4l);let _59=(_58<_54);let _5a=select(select(_53,(_53+1u),(_51==_54)),0u,_59);let _5b=select(_54,_58,_59);let _5c=(_58>_57);let _5d=select(select(_56,(_56+1u),(_51==_57)),0u,_5c);let _5e=select(_57,_58,_5c);let _5f=dot(_u,_4l);let _5g=(_5f<_5b);let _5h=select(select(_5a,(_5a+1u),(_58==_5b)),0u,_5g);let _5i=select(_5b,_5f,_5g);let _5j=(_5f>_5e);let _5k=select(select(_5d,(_5d+1u),(_58==_5e)),0u,_5j);let _5l=select(_5e,_5f,_5j);let _5m=dot(_v,_4l);let _5n=(_5m<_5i);let _5o=select(select(_5h,(_5h+1u),(_5f==_5i)),0u,_5n);let _5p=select(_5i,_5m,_5n);let _5q=(_5m>_5l);let _5r=select(select(_5k,(_5k+1u),(_5f==_5l)),0u,_5q);let _5s=select(_5l,_5m,_5q);let _5t=dot(_w,_4l);let _5u=(_5t<_5p);let _5v=select(select(_5o,(_5o+1u),(_5m==_5p)),0u,_5u);let _5w=select(_5p,_5t,_5u);let _5x=(_5t>_5s);let _5y=select(select(_5r,(_5r+1u),(_5m==_5s)),0u,_5x);let _5z=select(_5s,_5t,_5x);let _60=dot(_x,_4l);let _61=(_60<_5w);let _62=select(select(_5v,(_5v+1u),(_5t==_5w)),0u,_61);let _63=select(_5w,_60,_61);let _64=(_60>_5z);let _65=select(select(_5y,(_5y+1u),(_5t==_5z)),0u,_64);let _66=select(_5z,_60,_64);let _67=dot(_y,_4l);let _68=(_67<_63);let _69=select(select(_62,(_62+1u),(_60==_63)),0u,_68);let _6a=select(_63,_67,_68);let _6b=(_67>_66);let _6c=select(select(_65,(_65+1u),(_60==_66)),0u,_6b);let _6d=select(_66,_67,_6b);let _6e=dot(_z,_4l);let _6f=(_6e<_6a);let _6g=select(select(_69,(_69+1u),(_67==_6a)),0u,_6f);let _6h=select(_6a,_6e,_6f);let _6i=(_6e>_6d);let _6j=select(select(_6c,(_6c+1u),(_67==_6d)),0u,_6i);let _6k=select(_6d,_6e,_6i);let _6l=dot(_10,_4l);let _6m=(_6l<_6h);let _6n=select(select(_6g,(_6g+1u),(_6e==_6h)),0u,_6m);let _6o=select(_6h,_6l,_6m);let _6p=(_6l>_6k);let _6q=select(select(_6j,(_6j+1u),(_6e==_6k)),0u,_6p);let _6r=select(_6k,_6l,_6p);let _6s=dot(_11,_4l);let _6t=(_6s<_6o);let _6u=select(select(_6n,(_6n+1u),(_6l==_6o)),0u,_6t);let _6v=select(_6o,_6s,_6t);let _6w=(_6s>_6r);let _6x=select(select(_6q,(_6q+1u),(_6l==_6r)),0u,_6w);let _6y=select(_6r,_6s,_6w);let _6z=dot(_12,_4l);let _70=(_6z<_6v);let _71=select(select(_6u,(_6u+1u),(_6s==_6v)),0u,_70);let _72=select(_6v,_6z,_70);let _73=(_6z>_6y);let _74=select(select(_6x,(_6x+1u),(_6s==_6y)),0u,_73);let _75=select(_6y,_6z,_73);let _76=dot(_13,_4l);let _77=(_76<_72);let _78=select(select(_71,(_71+1u),(_6z==_72)),0u,_77);let _79=select(_72,_76,_77);let _7a=(_76>_75);let _7b=select(select(_74,(_74+1u),(_6z==_75)),0u,_7a);let _7c=select(_75,_76,_7a);let _7d=dot(_14,_4l);let _7e=(_7d<_79);let _7f=select(select(_78,(_78+1u),(_76==_79)),0u,_7e);let _7g=select(_79,_7d,_7e);let _7h=(_7d>_7c);let _7i=select(select(_7b,(_7b+1u),(_76==_7c)),0u,_7h);let _7j=select(_7c,_7d,_7h);let _7k=dot(_4i,_4l);let _7l=(_7g-_7k);let _7m=(_7j-_7k);let _7n=(((_7m-_7l)*0.0625h)*(1.0h-clamp((f16(((select(_7f,(_7f+1u),(_7d==_7g))+select(_7i,(_7i+1u),(_7d==_7j)))-2u))*0.0714111328125h),0.0h,1.0h)));let _7o=(_7l+_7n);let _7p=(_7m-_7n);let _7q=max(0.0h,(((((0.6357421875h*0.03125h)*_4k)+(0.36376953125h*0.03125h))-(_7p-_7o))*0.5h));let _7r=clamp(((_4h*(_7o-_7q))+_4i),vec3h(),_7);let _7s=clamp(((_4h*(_7p+_7q))+_4i),vec3h(),_7);let _7t=_7r.x;let _7u=(trunc((_7t*31.0h))*8.25h);let _7v=trunc(_7u);let _7w=min(255.0h,trunc((_7u+8.25h)));let _7x=_7r.y;let _7y=(trunc((_7x*63.0h))*4.0625h);let _7z=min(255.0h,trunc(_7y));let _80=min(255.0h,trunc((_7y+4.0625h)));let _81=_7r.z;let _82=(trunc((_81*31.0h))*8.25h);let _83=trunc(_82);let _84=min(255.0h,trunc((_82+8.25h)));let _85=vec3h(select(_7v,_7w,((255.0h*_7t)>(0.5h*(_7v+_7w)))),select(_7z,_80,((255.0h*_7x)>(0.5h*(_7z+_80)))),select(_83,_84,((255.0h*_81)>(0.5h*(_83+_84)))));let _86=_7s.x;let _87=(trunc((_86*31.0h))*8.25h);let _88=trunc(_87);let _89=min(255.0h,trunc((_87+8.25h)));let _8a=_7s.y;let _8b=(trunc((_8a*63.0h))*4.0625h);let _8c=min(255.0h,trunc(_8b));let _8d=min(255.0h,trunc((_8b+4.0625h)));let _8e=_7s.z;let _8f=(trunc((_8e*31.0h))*8.25h);let _8g=trunc(_8f);let _8h=min(255.0h,trunc((_8f+8.25h)));let _8i=vec3h(select(_88,_89,((255.0h*_86)>(0.5h*(_88+_89)))),select(_8c,_8d,((255.0h*_8a)>(0.5h*(_8c+_8d)))),select(_8g,_8h,((255.0h*_8e)>(0.5h*(_8g+_8h)))));let _8j=(((_8i-_85)*_8)*0.0039215087890625h);let _8k=((_8j*(1.0h/dot(_8j,_8j)))*_8);let _8l=(dot(_85,_8k)*0.0039215087890625h);let _8m=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_p,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_q,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_r,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_s,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_t,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_u,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_v,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_w,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_x,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_y,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_z,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_10,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_11,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_12,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_13,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_14,_8k)-_8l),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));switch(0u){default:{if(((_8m^(_8m<<bitcast<u32>(2i)))<4u)){_1b=_8i;_1c=_85;_1d=false;break;}let _8n=(_8m>>bitcast<u32>(1i));let _8o=f16(bitcast<i32>(countOneBits(((1431655765u&~(_8n))&_8m))));let _8p=(1431655765u&_8n);let _8q=f16(bitcast<i32>(countOneBits((_8p&~(_8m)))));let _8r=f16(bitcast<i32>(countOneBits((_8p&_8m))));let _8s=(((3.0h*_8r)+(2.0h*_8q))+_8o);let _8t=(((9.0h*_8r)+(4.0h*_8q))+_8o);let _8u=((144.0h-(6.0h*_8s))+_8t);let _8v=((3.0h*_8s)-_8t);let _8w=(((((((((((((((((_p*f16(((_8m>>bitcast<u32>(0i))&3u)))+(_q*f16(((_8m>>bitcast<u32>(2i))&3u))))+(_r*f16(((_8m>>bitcast<u32>(4i))&3u))))+(_s*f16(((_8m>>bitcast<u32>(6i))&3u))))+(_t*f16(((_8m>>bitcast<u32>(8i))&3u))))+(_u*f16(((_8m>>bitcast<u32>(10i))&3u))))+(_v*f16(((_8m>>bitcast<u32>(12i))&3u))))+(_w*f16(((_8m>>bitcast<u32>(14i))&3u))))+(_x*f16(((_8m>>bitcast<u32>(16i))&3u))))+(_y*f16(((_8m>>bitcast<u32>(18i))&3u))))+(_z*f16(((_8m>>bitcast<u32>(20i))&3u))))+(_10*f16(((_8m>>bitcast<u32>(22i))&3u))))+(_11*f16(((_8m>>bitcast<u32>(24i))&3u))))+(_12*f16(((_8m>>bitcast<u32>(26i))&3u))))+(_13*f16(((_8m>>bitcast<u32>(28i))&3u))))+(_14*f16(((_8m>>bitcast<u32>(30i))&3u))))*3.0h);let _8x=((_1w*9.0h)-_8w);let _8y=(1.0f/f32(((_8u*_8t)-(_8v*_8v))));let _8z=f16((f32(_8v)*_8y));let _90=clamp(((_8x*f16((f32(_8t)*_8y)))-(_8w*_8z)),vec3h(),_7);let _91=clamp(((_8w*f16((f32(_8u)*_8y)))-(_8x*_8z)),vec3h(),_7);let _92=_90.x;let _93=(trunc((_92*31.0h))*8.25h);let _94=trunc(_93);let _95=min(255.0h,trunc((_93+8.25h)));let _96=_90.y;let _97=(trunc((_96*63.0h))*4.0625h);let _98=min(255.0h,trunc(_97));let _99=min(255.0h,trunc((_97+4.0625h)));let _9a=_90.z;let _9b=(trunc((_9a*31.0h))*8.25h);let _9c=trunc(_9b);let _9d=min(255.0h,trunc((_9b+8.25h)));_19=vec3h(select(_94,_95,((255.0h*_92)>(0.5h*(_94+_95)))),select(_98,_99,((255.0h*_96)>(0.5h*(_98+_99)))),select(_9c,_9d,((255.0h*_9a)>(0.5h*(_9c+_9d)))));let _9e=_91.x;let _9f=(trunc((_9e*31.0h))*8.25h);let _9g=trunc(_9f);let _9h=min(255.0h,trunc((_9f+8.25h)));let _9i=_91.y;let _9j=(trunc((_9i*63.0h))*4.0625h);let _9k=min(255.0h,trunc(_9j));let _9l=min(255.0h,trunc((_9j+4.0625h)));let _9m=_91.z;let _9n=(trunc((_9m*31.0h))*8.25h);let _9o=trunc(_9n);let _9p=min(255.0h,trunc((_9n+8.25h)));_1a=vec3h(select(_9g,_9h,((255.0h*_9e)>(0.5h*(_9g+_9h)))),select(_9k,_9l,((255.0h*_9i)>(0.5h*(_9k+_9l)))),select(_9o,_9p,((255.0h*_9m)>(0.5h*(_9o+_9p)))));_1b=_1a;_1c=_19;_1d=true;}}_1f=_8m;if(_1d){let _9q=(((_1b-_1c)*_8)*0.0039215087890625h);let _9r=((_9q*(1.0h/dot(_9q,_9q)))*_8);let _9s=(dot(_1c,_9r)*0.0039215087890625h);_1e=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_p,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_q,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_r,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_s,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_t,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_u,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_v,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_w,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_x,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_y,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_z,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_10,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_11,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_12,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_13,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_14,_9r)-_9s),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_1f=_1e;}if(((_1f^(_1f<<bitcast<u32>(2i)))<4u)){let _9t=(_1w*15.9375h);_b=_9;let _9u=_b[i32(_9t.x)];_c=_9;let _9v=_c[i32(_9t.z)];_d=array<u32,256u>(0u,0u,32u,2097184u,2097184u,2097184u,2097216u,4194368u,4194368u,4194368u,4194400u,6291552u,6291552u,6291552u,6291584u,8388736u,8388736u,8388736u,8388768u,10485920u,10485920u,10485920u,10485952u,12583104u,12583104u,12583104u,12583136u,14680288u,14680288u,14680288u,14680320u,16777472u,16777472u,16777472u,16777504u,18874656u,18874656u,18874656u,18874688u,20971840u,20971840u,20971840u,20971872u,23069024u,23069024u,23069024u,23069056u,25166208u,25166208u,25166208u,25166240u,27263392u,27263392u,27263392u,27263424u,29360576u,29360576u,29360576u,29360608u,31457760u,31457760u,31457760u,31457792u,31457792u,33554944u,33554944u,33554944u,33554976u,35652128u,35652128u,35652128u,35652160u,37749312u,37749312u,37749312u,37749344u,39846496u,39846496u,39846496u,39846528u,41943680u,41943680u,41943680u,41943712u,44040864u,44040864u,44040864u,44040896u,46138048u,46138048u,46138048u,46138080u,48235232u,48235232u,48235232u,48235264u,50332416u,50332416u,50332416u,50332448u,52429600u,52429600u,52429600u,52429632u,54526784u,54526784u,54526784u,54526816u,56623968u,56623968u,56623968u,56624000u,58721152u,58721152u,58721152u,58721184u,60818336u,60818336u,60818336u,60818368u,62915520u,62915520u,62915520u,62915552u,65012704u,65012704u,65012704u,65012736u,65012736u,67109888u,67109888u,67109888u,67109920u,69207072u,69207072u,69207072u,69207104u,71304256u,71304256u,71304256u,71304288u,73401440u,73401440u,73401440u,73401472u,75498624u,75498624u,75498624u,75498656u,77595808u,77595808u,77595808u,77595840u,79692992u,79692992u,79692992u,79693024u,81790176u,81790176u,81790176u,81790208u,83887360u,83887360u,83887360u,83887392u,85984544u,85984544u,85984544u,85984576u,88081728u,88081728u,88081728u,88081760u,90178912u,90178912u,90178912u,90178944u,92276096u,92276096u,92276096u,92276128u,94373280u,94373280u,94373280u,94373312u,96470464u,96470464u,96470464u,96470496u,98567648u,98567648u,98567648u,98567680u,98567680u,100664832u,100664832u,100664832u,100664864u,102762016u,102762016u,102762016u,102762048u,104859200u,104859200u,104859200u,104859232u,106956384u,106956384u,106956384u,106956416u,109053568u,109053568u,109053568u,109053600u,111150752u,111150752u,111150752u,111150784u,113247936u,113247936u,113247936u,113247968u,115345120u,115345120u,115345120u,115345152u,117442304u,117442304u,117442304u,117442336u,119539488u,119539488u,119539488u,119539520u,121636672u,121636672u,121636672u,121636704u,123733856u,123733856u,123733856u,123733888u,125831040u,125831040u,125831040u,125831072u,127928224u,127928224u,127928224u,127928256u,130025408u,130025408u,130025408u,130025440u,132122592u,132122592u);_g=vec2u((((_9u&4160813056u)|(_9v&2031647u))|_d[i32(_9t.y)]),2863311530u);_i=_g;break;}let _9w=((((u32(_1c.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_1c.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_1c.z)>>bitcast<u32>(3i)));let _9x=((((u32(_1b.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_1b.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_1b.z)>>bitcast<u32>(3i)));let _9y=(_9w<_9x);_1h=_1f;if(_9y){_1g=~(_1f);_1h=_1g;}let _9z=((_1h&2863311530u)>>bitcast<u32>(1i));_h=vec2u((select(_9w,_9x,_9y)|(select(_9x,_9w,_9y)<<bitcast<u32>(16i))),((((_1h&1431655765u)^_9z)<<bitcast<u32>(1i))|_9z));_i=_h;}}x_2214._0[((_l.y*((_k+31u)&4294967264u))+_n)]=_i;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _a0:vec3u,@builtin(local_invocation_id) _a1:vec3u,@builtin(workgroup_id) _a2:vec3u){x_2118=_a0;x_2124=_a1;_a();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_bc1_rgb as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_bc4_r = "enable f16;alias RTArr=array<vec2u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_781:vec3u;var<private>x_787:vec3u;@binding(2) @group(0) var<storage,read_write>x_879:_1;const _4=vec2f(1.0f);const _5=array<f32,8u>(0.0f,0.140625f,0.28125f,0.421875f,0.578125f,0.71875f,0.859375f,1.0f);fn _6(){var _7:array<f32,8u>;var _8:array<f32,8u>;var _9:bool;var _a:bool;var _b:f16;var _c:f16;var _d:f16;var _e:f16;var _f:f16;var _g:f16;var _h:vec2u;var _i:vec2u;var _j:f16;var _k:f16;var _l:bool;var _m:f16;var _n:f16;var _o:bool;var _p:vec2u;var _q:vec2u;switch(0u){default:{let _r=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _s=((_r.x+3u)/4u);let _t=x_781;let _u=x_781.xy;let _v=x_781.x;let _w=(_v>=_s);_a=_w;if(!(_w)){_9=(_t.y>=((_r.y+3u)/4u));_a=_9;}if(_a){break;}let _x=((vec2f(bitcast<vec2i>((_u*vec2u(4u))))+_4)*(_4/vec2f(vec2i(textureDimensions(_3,0i)))));let _y=vec4h(textureGather(0i,_3,_2,_x,vec2i()));let _z=vec4h(textureGather(0i,_3,_2,_x,vec2i(2i,0i)));let _10=vec4h(textureGather(0i,_3,_2,_x,vec2i(0i,2i)));let _11=vec4h(textureGather(0i,_3,_2,_x,vec2i(2i)));let _12=_y.w;let _13=_y.z;let _14=_z.w;let _15=_z.z;let _16=_y.x;let _17=_y.y;let _18=_z.x;let _19=_z.y;let _1a=_10.w;let _1b=_10.z;let _1c=_11.w;let _1d=_11.z;let _1e=_10.x;let _1f=_10.y;let _1g=_11.x;let _1h=_11.y;let _1i=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_12),_13),_14),_15),_16),_17),_18),_19),_1a),_1b),_1c),_1d),_1e),_1f),_1g),_1h);let _1j=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_12),_13),_14),_15),_16),_17),_18),_19),_1a),_1b),_1c),_1d),_1e),_1f),_1g),_1h);let _1k=(_1j-_1i);let _1l=(_1k*0.03125h);_c=_1l;if((_1k<0.0625h)){_b=max(0.0h,((2.0h*_1l)-0.0625h));_c=_b;}_e=_1i;if((_1i>0.0h)){_d=(_1i+_c);_e=_d;}_g=_1j;if((_e<1.0h)){_f=(_1j-_c);_g=_f;}let _1m=trunc(((_g*255.0h)+0.5h));let _1n=trunc(((_e*255.0h)+0.5h));let _1o=select(_1n,127.0h,((_1n==128.0h)|(_1n==126.0h)));let _1p=select(_1m,127.0h,((_1m==128.0h)|(_1m==126.0h)));switch(0u){default:{if((_1p==_1o)){_i=vec2u();break;}let _1q=(1.0h/(_1o-_1p));let _1r=(_1p*-(_1q));let _1s=(_1q*255.0h);let _1t=(0u|(u32(((clamp(((_1a*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_h=vec2u(((((((((0u|(u32(((clamp(((_12*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_13*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_14*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_15*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_16*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_17*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_18*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_19*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_1t);_h.y=(((((((_1t|(u32(((clamp(((_1b*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1c*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1d*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1e*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1f*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1g*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1h*_1s)+_1r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_i=_h;}}switch(0u){default:{let _1u=_i.x;_7=_5;let _1v=_7[((_1u>>bitcast<u32>(0i))&7u)];let _1w=(1.0f-_1v);let _1x=f32(_12);_7=_5;let _1y=_7[((_1u>>bitcast<u32>(3i))&7u)];let _1z=(1.0f-_1y);let _20=f32(_13);_7=_5;let _21=_7[((_1u>>bitcast<u32>(6i))&7u)];let _22=(1.0f-_21);let _23=f32(_14);_7=_5;let _24=_7[((_1u>>bitcast<u32>(9i))&7u)];let _25=(1.0f-_24);let _26=f32(_15);_7=_5;let _27=_7[((_1u>>bitcast<u32>(12i))&7u)];let _28=(1.0f-_27);let _29=f32(_16);_7=_5;let _2a=_7[((_1u>>bitcast<u32>(15i))&7u)];let _2b=(1.0f-_2a);let _2c=f32(_17);_7=_5;let _2d=_7[((_1u>>bitcast<u32>(18i))&7u)];let _2e=(1.0f-_2d);let _2f=f32(_18);_7=_5;let _2g=_7[((_1u>>bitcast<u32>(21i))&7u)];let _2h=(1.0f-_2g);let _2i=f32(_19);let _2j=_i.y;_8=_5;let _2k=_8[((_2j>>bitcast<u32>(0i))&7u)];let _2l=(1.0f-_2k);let _2m=f32(_1a);_8=_5;let _2n=_8[((_2j>>bitcast<u32>(3i))&7u)];let _2o=(1.0f-_2n);let _2p=f32(_1b);_8=_5;let _2q=_8[((_2j>>bitcast<u32>(6i))&7u)];let _2r=(1.0f-_2q);let _2s=f32(_1c);_8=_5;let _2t=_8[((_2j>>bitcast<u32>(9i))&7u)];let _2u=(1.0f-_2t);let _2v=f32(_1d);_8=_5;let _2w=_8[((_2j>>bitcast<u32>(12i))&7u)];let _2x=(1.0f-_2w);let _2y=f32(_1e);_8=_5;let _2z=_8[((_2j>>bitcast<u32>(15i))&7u)];let _30=(1.0f-_2z);let _31=f32(_1f);_8=_5;let _32=_8[((_2j>>bitcast<u32>(18i))&7u)];let _33=(1.0f-_32);let _34=f32(_1g);_8=_5;let _35=_8[((_2j>>bitcast<u32>(21i))&7u)];let _36=(1.0f-_35);let _37=((((((((((((((((_1w*_1w)+(_1z*_1z))+(_22*_22))+(_25*_25))+(_28*_28))+(_2b*_2b))+(_2e*_2e))+(_2h*_2h))+(_2l*_2l))+(_2o*_2o))+(_2r*_2r))+(_2u*_2u))+(_2x*_2x))+(_30*_30))+(_33*_33))+(_36*_36));let _38=((((((((((((((((_1v*_1v)+(_1y*_1y))+(_21*_21))+(_24*_24))+(_27*_27))+(_2a*_2a))+(_2d*_2d))+(_2g*_2g))+(_2k*_2k))+(_2n*_2n))+(_2q*_2q))+(_2t*_2t))+(_2w*_2w))+(_2z*_2z))+(_32*_32))+(_35*_35));let _39=((((((((((((((((_1w*_1v)+(_1z*_1y))+(_22*_21))+(_25*_24))+(_28*_27))+(_2b*_2a))+(_2e*_2d))+(_2h*_2g))+(_2l*_2k))+(_2o*_2n))+(_2r*_2q))+(_2u*_2t))+(_2x*_2w))+(_30*_2z))+(_33*_32))+(_36*_35));let _3a=f32(_1h);let _3b=((((((((((((((((_1w*_1x)+(_1z*_20))+(_22*_23))+(_25*_26))+(_28*_29))+(_2b*_2c))+(_2e*_2f))+(_2h*_2i))+(_2l*_2m))+(_2o*_2p))+(_2r*_2s))+(_2u*_2v))+(_2x*_2y))+(_30*_31))+(_33*_34))+(_36*_3a));let _3c=((((((((((((((((_1v*_1x)+(_1y*_20))+(_21*_23))+(_24*_26))+(_27*_29))+(_2a*_2c))+(_2d*_2f))+(_2g*_2i))+(_2k*_2m))+(_2n*_2p))+(_2q*_2s))+(_2t*_2v))+(_2w*_2y))+(_2z*_31))+(_32*_34))+(_35*_3a));let _3d=((_37*_38)-(_39*_39));if((abs(_3d)<0.00009999999747378752f)){_m=_1o;_n=_1p;_o=false;break;}let _3e=(1.0f/_3d);let _3f=trunc(((f16(clamp((((_3b*_38)-(_3c*_39))*_3e),0.0f,1.0f))*255.0h)+0.5h));let _3g=trunc(((f16(clamp((((_3c*_37)-(_3b*_39))*_3e),0.0f,1.0f))*255.0h)+0.5h));_j=select(_3g,127.0h,((_3g==128.0h)|(_3g==126.0h)));_k=select(_3f,127.0h,((_3f==128.0h)|(_3f==126.0h)));_l=(!((_k==_1p))|!((_j==_1o)));_m=_j;_n=_k;_o=_l;}}var _3h:vec2u;_q=_i;if(_o){switch(0u){default:{if((_n==_m)){_p=vec2u();break;}let _3i=(1.0h/(_m-_n));let _3j=(_n*-(_3i));let _3k=(_3i*255.0h);let _3l=(0u|(u32(((clamp(((_1a*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_3h=vec2u(((((((((0u|(u32(((clamp(((_12*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_13*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_14*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_15*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_16*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_17*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_18*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_19*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_3l);_3h.y=(((((((_3l|(u32(((clamp(((_1b*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1c*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1d*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1e*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1f*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1g*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1h*_3k)+_3j),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_p=_3h;}}_q=_p;}let _3m=_q.x;let _3n=(((_3m&7190235u)+2396745u)^(_3m&9586980u));let _3o=(_3n^(((19173960u-(_3n&14380470u))&19173960u)>>bitcast<u32>(3i)));let _3p=_q.y;let _3q=(((_3p&7190235u)+2396745u)^(_3p&9586980u));let _3r=(_3o>>bitcast<u32>(16i));var _3s=vec2u(((u32(_n)|(u32(_m)<<bitcast<u32>(8i)))|(_3o<<bitcast<u32>(16i))),_3r);_3s.y=(_3r|((_3q^(((19173960u-(_3q&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i)));x_879._0[((_t.y*((_s+31u)&4294967264u))+_v)]=_3s;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _3t:vec3u,@builtin(local_invocation_id) _3u:vec3u,@builtin(workgroup_id) _3v:vec3u){x_781=_3t;x_787=_3u;_6();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_bc4_r as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_bc5_rg = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_901:vec3u;var<private>x_907:vec3u;@binding(2) @group(0) var<storage,read_write>x_998:_1;const _4=vec2f(1.0f);const _5=vec2i(2i,0i);const _6=vec2i(0i,2i);const _7=vec2i(2i);const _8=array<f32,8u>(0.0f,0.140625f,0.28125f,0.421875f,0.578125f,0.71875f,0.859375f,1.0f);fn _9(){var _a:array<f32,8u>;var _b:array<f32,8u>;var _c:array<f32,8u>;var _d:array<f32,8u>;var _e:bool;var _f:bool;var _g:f16;var _h:f16;var _i:f16;var _j:f16;var _k:f16;var _l:f16;var _m:vec2u;var _n:vec2u;var _o:f16;var _p:f16;var _q:bool;var _r:f16;var _s:f16;var _t:bool;var _u:vec2u;var _v:vec2u;var _w:f16;var _x:f16;var _y:f16;var _z:f16;var _10:f16;var _11:f16;var _12:vec2u;var _13:vec2u;var _14:f16;var _15:f16;var _16:bool;var _17:f16;var _18:f16;var _19:bool;var _1a:vec2u;var _1b:vec2u;switch(0u){default:{let _1c=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _1d=((_1c.x+3u)/4u);let _1e=x_901;let _1f=x_901.xy;let _1g=x_901.x;let _1h=(_1g>=_1d);_f=_1h;if(!(_1h)){_e=(_1e.y>=((_1c.y+3u)/4u));_f=_e;}if(_f){break;}let _1i=((vec2f(bitcast<vec2i>((_1f*vec2u(4u))))+_4)*(_4/vec2f(vec2i(textureDimensions(_3,0i)))));let _1j=vec4h(textureGather(0i,_3,_2,_1i,vec2i()));let _1k=vec4h(textureGather(0i,_3,_2,_1i,_5));let _1l=vec4h(textureGather(0i,_3,_2,_1i,_6));let _1m=vec4h(textureGather(0i,_3,_2,_1i,_7));let _1n=_1j.w;let _1o=_1j.z;let _1p=_1k.w;let _1q=_1k.z;let _1r=_1j.x;let _1s=_1j.y;let _1t=_1k.x;let _1u=_1k.y;let _1v=_1l.w;let _1w=_1l.z;let _1x=_1m.w;let _1y=_1m.z;let _1z=_1l.x;let _20=_1l.y;let _21=_1m.x;let _22=_1m.y;let _23=vec4h(textureGather(1i,_3,_2,_1i,vec2i()));let _24=vec4h(textureGather(1i,_3,_2,_1i,_5));let _25=vec4h(textureGather(1i,_3,_2,_1i,_6));let _26=vec4h(textureGather(1i,_3,_2,_1i,_7));let _27=_23.w;let _28=_23.z;let _29=_24.w;let _2a=_24.z;let _2b=_23.x;let _2c=_23.y;let _2d=_24.x;let _2e=_24.y;let _2f=_25.w;let _2g=_25.z;let _2h=_26.w;let _2i=_26.z;let _2j=_25.x;let _2k=_25.y;let _2l=_26.x;let _2m=_26.y;let _2n=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_1n),_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _2o=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_1n),_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _2p=(_2o-_2n);let _2q=(_2p*0.03125h);_h=_2q;if((_2p<0.0625h)){_g=max(0.0h,((2.0h*_2q)-0.0625h));_h=_g;}_j=_2n;if((_2n>0.0h)){_i=(_2n+_h);_j=_i;}_l=_2o;if((_j<1.0h)){_k=(_2o-_h);_l=_k;}let _2r=trunc(((_l*255.0h)+0.5h));let _2s=trunc(((_j*255.0h)+0.5h));switch(0u){default:{if((_2r==_2s)){_n=vec2u();break;}let _2t=(1.0h/(_2s-_2r));let _2u=(_2r*-(_2t));let _2v=(_2t*255.0h);let _2w=(0u|(u32(((clamp(((_1v*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_m=vec2u(((((((((0u|(u32(((clamp(((_1n*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_1o*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1p*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1q*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1r*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1s*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1t*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1u*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_2w);_m.y=(((((((_2w|(u32(((clamp(((_1w*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1x*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1y*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1z*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_20*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_21*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_22*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_n=_m;}}switch(0u){default:{let _2x=_n.x;_c=_8;let _2y=_c[((_2x>>bitcast<u32>(0i))&7u)];let _2z=(1.0f-_2y);let _30=f32(_1n);_c=_8;let _31=_c[((_2x>>bitcast<u32>(3i))&7u)];let _32=(1.0f-_31);let _33=f32(_1o);_c=_8;let _34=_c[((_2x>>bitcast<u32>(6i))&7u)];let _35=(1.0f-_34);let _36=f32(_1p);_c=_8;let _37=_c[((_2x>>bitcast<u32>(9i))&7u)];let _38=(1.0f-_37);let _39=f32(_1q);_c=_8;let _3a=_c[((_2x>>bitcast<u32>(12i))&7u)];let _3b=(1.0f-_3a);let _3c=f32(_1r);_c=_8;let _3d=_c[((_2x>>bitcast<u32>(15i))&7u)];let _3e=(1.0f-_3d);let _3f=f32(_1s);_c=_8;let _3g=_c[((_2x>>bitcast<u32>(18i))&7u)];let _3h=(1.0f-_3g);let _3i=f32(_1t);_c=_8;let _3j=_c[((_2x>>bitcast<u32>(21i))&7u)];let _3k=(1.0f-_3j);let _3l=f32(_1u);let _3m=_n.y;_d=_8;let _3n=_d[((_3m>>bitcast<u32>(0i))&7u)];let _3o=(1.0f-_3n);let _3p=f32(_1v);_d=_8;let _3q=_d[((_3m>>bitcast<u32>(3i))&7u)];let _3r=(1.0f-_3q);let _3s=f32(_1w);_d=_8;let _3t=_d[((_3m>>bitcast<u32>(6i))&7u)];let _3u=(1.0f-_3t);let _3v=f32(_1x);_d=_8;let _3w=_d[((_3m>>bitcast<u32>(9i))&7u)];let _3x=(1.0f-_3w);let _3y=f32(_1y);_d=_8;let _3z=_d[((_3m>>bitcast<u32>(12i))&7u)];let _40=(1.0f-_3z);let _41=f32(_1z);_d=_8;let _42=_d[((_3m>>bitcast<u32>(15i))&7u)];let _43=(1.0f-_42);let _44=f32(_20);_d=_8;let _45=_d[((_3m>>bitcast<u32>(18i))&7u)];let _46=(1.0f-_45);let _47=f32(_21);_d=_8;let _48=_d[((_3m>>bitcast<u32>(21i))&7u)];let _49=(1.0f-_48);let _4a=((((((((((((((((_2z*_2z)+(_32*_32))+(_35*_35))+(_38*_38))+(_3b*_3b))+(_3e*_3e))+(_3h*_3h))+(_3k*_3k))+(_3o*_3o))+(_3r*_3r))+(_3u*_3u))+(_3x*_3x))+(_40*_40))+(_43*_43))+(_46*_46))+(_49*_49));let _4b=((((((((((((((((_2y*_2y)+(_31*_31))+(_34*_34))+(_37*_37))+(_3a*_3a))+(_3d*_3d))+(_3g*_3g))+(_3j*_3j))+(_3n*_3n))+(_3q*_3q))+(_3t*_3t))+(_3w*_3w))+(_3z*_3z))+(_42*_42))+(_45*_45))+(_48*_48));let _4c=((((((((((((((((_2z*_2y)+(_32*_31))+(_35*_34))+(_38*_37))+(_3b*_3a))+(_3e*_3d))+(_3h*_3g))+(_3k*_3j))+(_3o*_3n))+(_3r*_3q))+(_3u*_3t))+(_3x*_3w))+(_40*_3z))+(_43*_42))+(_46*_45))+(_49*_48));let _4d=f32(_22);let _4e=((((((((((((((((_2z*_30)+(_32*_33))+(_35*_36))+(_38*_39))+(_3b*_3c))+(_3e*_3f))+(_3h*_3i))+(_3k*_3l))+(_3o*_3p))+(_3r*_3s))+(_3u*_3v))+(_3x*_3y))+(_40*_41))+(_43*_44))+(_46*_47))+(_49*_4d));let _4f=((((((((((((((((_2y*_30)+(_31*_33))+(_34*_36))+(_37*_39))+(_3a*_3c))+(_3d*_3f))+(_3g*_3i))+(_3j*_3l))+(_3n*_3p))+(_3q*_3s))+(_3t*_3v))+(_3w*_3y))+(_3z*_41))+(_42*_44))+(_45*_47))+(_48*_4d));let _4g=((_4a*_4b)-(_4c*_4c));if((abs(_4g)<0.00009999999747378752f)){_r=_2s;_s=_2r;_t=false;break;}let _4h=(1.0f/_4g);_o=trunc(((f16(clamp((((_4e*_4b)-(_4f*_4c))*_4h),0.0f,1.0f))*255.0h)+0.5h));_p=trunc(((f16(clamp((((_4f*_4a)-(_4e*_4c))*_4h),0.0f,1.0f))*255.0h)+0.5h));_q=(!((_o==_2r))|!((_p==_2s)));_r=_p;_s=_o;_t=_q;}}var _4i:vec2u;_v=_n;if(_t){switch(0u){default:{if((_s==_r)){_u=vec2u();break;}let _4j=(1.0h/(_r-_s));let _4k=(_s*-(_4j));let _4l=(_4j*255.0h);let _4m=(0u|(u32(((clamp(((_1v*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_4i=vec2u(((((((((0u|(u32(((clamp(((_1n*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_1o*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1p*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1q*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1r*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1s*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1t*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1u*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_4m);_4i.y=(((((((_4m|(u32(((clamp(((_1w*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1x*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1y*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1z*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_20*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_21*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_22*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_u=_4i;}}_v=_u;}let _4n=_v.x;let _4o=(((_4n&7190235u)+2396745u)^(_4n&9586980u));let _4p=(_4o^(((19173960u-(_4o&14380470u))&19173960u)>>bitcast<u32>(3i)));let _4q=_v.y;let _4r=(((_4q&7190235u)+2396745u)^(_4q&9586980u));let _4s=((u32(_s)|(u32(_r)<<bitcast<u32>(8i)))|(_4p<<bitcast<u32>(16i)));let _4t=((_4p>>bitcast<u32>(16i))|((_4r^(((19173960u-(_4r&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i)));let _4u=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_27),_28),_29),_2a),_2b),_2c),_2d),_2e),_2f),_2g),_2h),_2i),_2j),_2k),_2l),_2m);let _4v=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_27),_28),_29),_2a),_2b),_2c),_2d),_2e),_2f),_2g),_2h),_2i),_2j),_2k),_2l),_2m);let _4w=(_4v-_4u);let _4x=(_4w*0.03125h);_x=_4x;if((_4w<0.0625h)){_w=max(0.0h,((2.0h*_4x)-0.0625h));_x=_w;}_z=_4u;if((_4u>0.0h)){_y=(_4u+_x);_z=_y;}_11=_4v;if((_z<1.0h)){_10=(_4v-_x);_11=_10;}let _4y=trunc(((_11*255.0h)+0.5h));let _4z=trunc(((_z*255.0h)+0.5h));switch(0u){default:{if((_4y==_4z)){_13=vec2u();break;}let _50=(1.0h/(_4z-_4y));let _51=(_4y*-(_50));let _52=(_50*255.0h);let _53=(0u|(u32(((clamp(((_2f*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_12=vec2u(((((((((0u|(u32(((clamp(((_27*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_28*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_29*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2a*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2b*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2c*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2d*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2e*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_53);_12.y=(((((((_53|(u32(((clamp(((_2g*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_2h*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2i*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2j*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2k*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2l*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2m*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_13=_12;}}switch(0u){default:{let _54=_13.x;_a=_8;let _55=_a[((_54>>bitcast<u32>(0i))&7u)];let _56=(1.0f-_55);let _57=f32(_27);_a=_8;let _58=_a[((_54>>bitcast<u32>(3i))&7u)];let _59=(1.0f-_58);let _5a=f32(_28);_a=_8;let _5b=_a[((_54>>bitcast<u32>(6i))&7u)];let _5c=(1.0f-_5b);let _5d=f32(_29);_a=_8;let _5e=_a[((_54>>bitcast<u32>(9i))&7u)];let _5f=(1.0f-_5e);let _5g=f32(_2a);_a=_8;let _5h=_a[((_54>>bitcast<u32>(12i))&7u)];let _5i=(1.0f-_5h);let _5j=f32(_2b);_a=_8;let _5k=_a[((_54>>bitcast<u32>(15i))&7u)];let _5l=(1.0f-_5k);let _5m=f32(_2c);_a=_8;let _5n=_a[((_54>>bitcast<u32>(18i))&7u)];let _5o=(1.0f-_5n);let _5p=f32(_2d);_a=_8;let _5q=_a[((_54>>bitcast<u32>(21i))&7u)];let _5r=(1.0f-_5q);let _5s=f32(_2e);let _5t=_13.y;_b=_8;let _5u=_b[((_5t>>bitcast<u32>(0i))&7u)];let _5v=(1.0f-_5u);let _5w=f32(_2f);_b=_8;let _5x=_b[((_5t>>bitcast<u32>(3i))&7u)];let _5y=(1.0f-_5x);let _5z=f32(_2g);_b=_8;let _60=_b[((_5t>>bitcast<u32>(6i))&7u)];let _61=(1.0f-_60);let _62=f32(_2h);_b=_8;let _63=_b[((_5t>>bitcast<u32>(9i))&7u)];let _64=(1.0f-_63);let _65=f32(_2i);_b=_8;let _66=_b[((_5t>>bitcast<u32>(12i))&7u)];let _67=(1.0f-_66);let _68=f32(_2j);_b=_8;let _69=_b[((_5t>>bitcast<u32>(15i))&7u)];let _6a=(1.0f-_69);let _6b=f32(_2k);_b=_8;let _6c=_b[((_5t>>bitcast<u32>(18i))&7u)];let _6d=(1.0f-_6c);let _6e=f32(_2l);_b=_8;let _6f=_b[((_5t>>bitcast<u32>(21i))&7u)];let _6g=(1.0f-_6f);let _6h=((((((((((((((((_56*_56)+(_59*_59))+(_5c*_5c))+(_5f*_5f))+(_5i*_5i))+(_5l*_5l))+(_5o*_5o))+(_5r*_5r))+(_5v*_5v))+(_5y*_5y))+(_61*_61))+(_64*_64))+(_67*_67))+(_6a*_6a))+(_6d*_6d))+(_6g*_6g));let _6i=((((((((((((((((_55*_55)+(_58*_58))+(_5b*_5b))+(_5e*_5e))+(_5h*_5h))+(_5k*_5k))+(_5n*_5n))+(_5q*_5q))+(_5u*_5u))+(_5x*_5x))+(_60*_60))+(_63*_63))+(_66*_66))+(_69*_69))+(_6c*_6c))+(_6f*_6f));let _6j=((((((((((((((((_56*_55)+(_59*_58))+(_5c*_5b))+(_5f*_5e))+(_5i*_5h))+(_5l*_5k))+(_5o*_5n))+(_5r*_5q))+(_5v*_5u))+(_5y*_5x))+(_61*_60))+(_64*_63))+(_67*_66))+(_6a*_69))+(_6d*_6c))+(_6g*_6f));let _6k=f32(_2m);let _6l=((((((((((((((((_56*_57)+(_59*_5a))+(_5c*_5d))+(_5f*_5g))+(_5i*_5j))+(_5l*_5m))+(_5o*_5p))+(_5r*_5s))+(_5v*_5w))+(_5y*_5z))+(_61*_62))+(_64*_65))+(_67*_68))+(_6a*_6b))+(_6d*_6e))+(_6g*_6k));let _6m=((((((((((((((((_55*_57)+(_58*_5a))+(_5b*_5d))+(_5e*_5g))+(_5h*_5j))+(_5k*_5m))+(_5n*_5p))+(_5q*_5s))+(_5u*_5w))+(_5x*_5z))+(_60*_62))+(_63*_65))+(_66*_68))+(_69*_6b))+(_6c*_6e))+(_6f*_6k));let _6n=((_6h*_6i)-(_6j*_6j));if((abs(_6n)<0.00009999999747378752f)){_17=_4z;_18=_4y;_19=false;break;}let _6o=(1.0f/_6n);_14=trunc(((f16(clamp((((_6l*_6i)-(_6m*_6j))*_6o),0.0f,1.0f))*255.0h)+0.5h));_15=trunc(((f16(clamp((((_6m*_6h)-(_6l*_6j))*_6o),0.0f,1.0f))*255.0h)+0.5h));_16=(!((_14==_4y))|!((_15==_4z)));_17=_15;_18=_14;_19=_16;}}var _6p:vec2u;_1b=_13;if(_19){switch(0u){default:{if((_18==_17)){_1a=vec2u();break;}let _6q=(1.0h/(_17-_18));let _6r=(_18*-(_6q));let _6s=(_6q*255.0h);let _6t=(0u|(u32(((clamp(((_2f*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_6p=vec2u(((((((((0u|(u32(((clamp(((_27*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_28*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_29*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2a*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2b*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2c*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2d*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2e*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_6t);_6p.y=(((((((_6t|(u32(((clamp(((_2g*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_2h*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2i*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2j*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2k*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2l*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2m*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_1a=_6p;}}_1b=_1a;}let _6u=_1b.x;let _6v=(((_6u&7190235u)+2396745u)^(_6u&9586980u));let _6w=(_6v^(((19173960u-(_6v&14380470u))&19173960u)>>bitcast<u32>(3i)));let _6x=_1b.y;let _6y=(((_6x&7190235u)+2396745u)^(_6x&9586980u));x_998._0[((_1e.y*((_1d+15u)&4294967280u))+_1g)]=vec4u(_4s,_4t,((u32(_18)|(u32(_17)<<bitcast<u32>(8i)))|(_6w<<bitcast<u32>(16i))),((_6w>>bitcast<u32>(16i))|((_6y^(((19173960u-(_6y&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i))));}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _6z:vec3u,@builtin(local_invocation_id) _70:vec3u,@builtin(workgroup_id) _71:vec3u){x_901=_6z;x_907=_70;_9();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_bc5_rg as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_bc7_rgb = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_3542:vec3u;var<private>x_3548:vec3u;@binding(2) @group(0) var<storage,read_write>x_3637:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec3h(1.0h);const _8=vec3h(0.85986328125h,1.7099609375h,0.429931640625h);fn _9(){var _a:bool;var _b:bool;var _c:f16;var _d:f16;var _e:f16;var _f:f16;var _g:i32;var _h:i32;var _i:f16;var _j:f16;var _k:vec3h;var _l:vec3h;var _m:vec3h;var _n:vec3h;var _o:vec3h;var _p:vec3h;var _q:f16;var _r:vec3h;var _s:u32;var _t:f16;var _u:vec3h;var _v:u32;var _w:u32;var _x:u32;var _y:u32;var _z:u32;var _10:vec4u;var _11:vec4u;var _12:vec4u;switch(0u){default:{let _13=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _14=((_13.x+3u)/4u);let _15=x_3542;let _16=x_3542.xy;let _17=x_3542.x;let _18=(_17>=_14);_b=_18;if(!(_18)){_a=(_15.y>=((_13.y+3u)/4u));_b=_a;}if(_b){break;}let _19=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _1a=((vec2f(bitcast<vec2i>((_16*vec2u(4u))))*_19)+_19);let _1b=vec4h(textureGather(0i,_3,_2,_1a,vec2i()));let _1c=vec4h(textureGather(0i,_3,_2,_1a,_4));let _1d=vec4h(textureGather(0i,_3,_2,_1a,_5));let _1e=vec4h(textureGather(0i,_3,_2,_1a,_6));let _1f=vec4h(textureGather(1i,_3,_2,_1a,vec2i()));let _1g=vec4h(textureGather(1i,_3,_2,_1a,_4));let _1h=vec4h(textureGather(1i,_3,_2,_1a,_5));let _1i=vec4h(textureGather(1i,_3,_2,_1a,_6));let _1j=vec4h(textureGather(2i,_3,_2,_1a,vec2i()));let _1k=vec4h(textureGather(2i,_3,_2,_1a,_4));let _1l=vec4h(textureGather(2i,_3,_2,_1a,_5));let _1m=vec4h(textureGather(2i,_3,_2,_1a,_6));let _1n=vec3h(_1b.w,_1f.w,_1j.w);let _1o=vec3h(_1b.z,_1f.z,_1j.z);let _1p=vec3h(_1c.w,_1g.w,_1k.w);let _1q=vec3h(_1c.z,_1g.z,_1k.z);let _1r=vec3h(_1b.x,_1f.x,_1j.x);let _1s=vec3h(_1b.y,_1f.y,_1j.y);let _1t=vec3h(_1c.x,_1g.x,_1k.x);let _1u=vec3h(_1c.y,_1g.y,_1k.y);let _1v=vec3h(_1d.w,_1h.w,_1l.w);let _1w=vec3h(_1d.z,_1h.z,_1l.z);let _1x=vec3h(_1e.w,_1i.w,_1m.w);let _1y=vec3h(_1e.z,_1i.z,_1m.z);let _1z=vec3h(_1d.x,_1h.x,_1l.x);let _20=vec3h(_1d.y,_1h.y,_1l.y);let _21=vec3h(_1e.x,_1i.x,_1m.x);let _22=vec3h(_1e.y,_1i.y,_1m.y);let _23=(((((((((((((((_1n+_1o)+_1p)+_1q)+_1r)+_1s)+_1t)+_1u)+_1v)+_1w)+_1x)+_1y)+_1z)+_20)+_21)+_22);let _24=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(_1n,_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _25=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(_1n,_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _26=((_1n*16.0h)-_23);let _27=_26.x;let _28=_26.y;let _29=_26.z;let _2a=((_1o*16.0h)-_23);let _2b=_2a.x;let _2c=_2a.y;let _2d=_2a.z;let _2e=((_1p*16.0h)-_23);let _2f=_2e.x;let _2g=_2e.y;let _2h=_2e.z;let _2i=((_1q*16.0h)-_23);let _2j=_2i.x;let _2k=_2i.y;let _2l=_2i.z;let _2m=((_1r*16.0h)-_23);let _2n=_2m.x;let _2o=_2m.y;let _2p=_2m.z;let _2q=((_1s*16.0h)-_23);let _2r=_2q.x;let _2s=_2q.y;let _2t=_2q.z;let _2u=((_1t*16.0h)-_23);let _2v=_2u.x;let _2w=_2u.y;let _2x=_2u.z;let _2y=((_1u*16.0h)-_23);let _2z=_2y.x;let _30=_2y.y;let _31=_2y.z;let _32=((_1v*16.0h)-_23);let _33=_32.x;let _34=_32.y;let _35=_32.z;let _36=((_1w*16.0h)-_23);let _37=_36.x;let _38=_36.y;let _39=_36.z;let _3a=((_1x*16.0h)-_23);let _3b=_3a.x;let _3c=_3a.y;let _3d=_3a.z;let _3e=((_1y*16.0h)-_23);let _3f=_3e.x;let _3g=_3e.y;let _3h=_3e.z;let _3i=((_1z*16.0h)-_23);let _3j=_3i.x;let _3k=_3i.y;let _3l=_3i.z;let _3m=((_20*16.0h)-_23);let _3n=_3m.x;let _3o=_3m.y;let _3p=_3m.z;let _3q=((_21*16.0h)-_23);let _3r=_3q.x;let _3s=_3q.y;let _3t=_3q.z;let _3u=((_22*16.0h)-_23);let _3v=_3u.x;let _3w=((((((((((((((((_27*_27)+(_2b*_2b))+(_2f*_2f))+(_2j*_2j))+(_2n*_2n))+(_2r*_2r))+(_2v*_2v))+(_2z*_2z))+(_33*_33))+(_37*_37))+(_3b*_3b))+(_3f*_3f))+(_3j*_3j))+(_3n*_3n))+(_3r*_3r))+(_3v*_3v));let _3x=_3u.y;let _3y=_3u.z;let _3z=((((((((((((((((_28*_28)+(_2c*_2c))+(_2g*_2g))+(_2k*_2k))+(_2o*_2o))+(_2s*_2s))+(_2w*_2w))+(_30*_30))+(_34*_34))+(_38*_38))+(_3c*_3c))+(_3g*_3g))+(_3k*_3k))+(_3o*_3o))+(_3s*_3s))+(_3x*_3x));let _40=((((((((((((((((_29*_29)+(_2d*_2d))+(_2h*_2h))+(_2l*_2l))+(_2p*_2p))+(_2t*_2t))+(_2x*_2x))+(_31*_31))+(_35*_35))+(_39*_39))+(_3d*_3d))+(_3h*_3h))+(_3l*_3l))+(_3p*_3p))+(_3t*_3t))+(_3y*_3y));let _41=select(1.0h,0.015625h,(max(max(_3w,_3z),_40)>64.0h));let _42=(_3w*_41);let _43=(((((((((((((((((_27*_28)+(_2b*_2c))+(_2f*_2g))+(_2j*_2k))+(_2n*_2o))+(_2r*_2s))+(_2v*_2w))+(_2z*_30))+(_33*_34))+(_37*_38))+(_3b*_3c))+(_3f*_3g))+(_3j*_3k))+(_3n*_3o))+(_3r*_3s))+(_3v*_3x))*_41);let _44=(((((((((((((((((_27*_29)+(_2b*_2d))+(_2f*_2h))+(_2j*_2l))+(_2n*_2p))+(_2r*_2t))+(_2v*_2x))+(_2z*_31))+(_33*_35))+(_37*_39))+(_3b*_3d))+(_3f*_3h))+(_3j*_3l))+(_3n*_3p))+(_3r*_3t))+(_3v*_3y))*_41);let _45=(_3z*_41);let _46=(((((((((((((((((_28*_29)+(_2c*_2d))+(_2g*_2h))+(_2k*_2l))+(_2o*_2p))+(_2s*_2t))+(_2w*_2x))+(_30*_31))+(_34*_35))+(_38*_39))+(_3c*_3d))+(_3g*_3h))+(_3k*_3l))+(_3o*_3p))+(_3s*_3t))+(_3x*_3y))*_41);let _47=(_40*_41);let _48=(vec3h(_42,_45,_47)+vec3h(0.0001220703125h));let _49=vec3h((vec3f(_48)*(1.0f/f32(max(max(_48.x,_48.y),_48.z)))));let _4a=_49.x;let _4b=(_43<0.0h);_d=_4a;if(_4b){_c=-(_4a);_d=_c;}let _4c=_49.z;let _4d=(_46<0.0h);_f=_4c;if(_4d){_e=-(_4c);_f=_e;}let _4e=_49.y;let _4f=(((_d*_42)+(_4e*_43))+(_f*_44));let _4g=(((_d*_43)+(_4e*_45))+(_f*_46));let _4h=(((_d*_44)+(_4e*_46))+(_f*_47));let _4i=f32(max(max(abs(_4f),abs(_4g)),abs(_4h)));let _4j=vec3h((vec3f(vec3h(_4f,_4g,_4h))*(1.0f/select(_4i,1.0f,(_4i==0.0f)))));let _4k=_4j.x;let _4l=_4j.y;let _4m=_4j.z;let _4n=(((_4k*_42)+(_4l*_43))+(_4m*_44));let _4o=(((_4k*_43)+(_4l*_45))+(_4m*_46));let _4p=(((_4k*_44)+(_4l*_46))+(_4m*_47));let _4q=max(max(abs(_4n),abs(_4o)),abs(_4p));let _4r=f32(_4q);let _4s=vec3h((vec3f(vec3h(_4n,_4o,_4p))*(1.0f/select(_4r,1.0f,(_4r==0.0f)))));let _4t=_4s.x;let _4u=_4s.y;let _4v=_4s.z;let _4w=dot(_4s,_4s);let _4x=((_42+_45)+_47);let _4y=select(_4s,_7,vec3<bool>((_4q==0.0h)));let _4z=abs(((_46+(select(1.0h,-1.0h,_4d)*0.0078125h))*inverseSqrt(((_45*_47)+0.00006103515625h))));let _50=abs(((_44+(select(1.0h,-1.0h,(_44<0.0h))*0.0078125h))*inverseSqrt(((_42*_47)+0.00006103515625h))));let _51=abs(((_43+(select(1.0h,-1.0h,_4b)*0.0078125h))*inverseSqrt(((_42*_45)+0.00006103515625h))));let _52=abs(f16((f32(dot(vec3h((((_4t*_42)+(_4u*_43))+(_4v*_44)),(((_4t*_43)+(_4u*_45))+(_4v*_46)),(((_4t*_44)+(_4u*_46))+(_4v*_47))),_4s))*(1.0f/f32(select(_4w,1.0h,(_4w==0.0h)))))));let _53=select(select(4i,6i,((_4x-_52)<(_41*0.5h))),6i,((_52/_4x)>0.974609375h));let _54=((_25-_24)*_8);let _55=_54.x;let _56=_54.y;let _57=(_55+_56);let _58=_54.z;let _59=((((_57+_58)*0.0625h)+0.01171875h)+(1.0h*(((_57*(1.0h-_51))+((_55+_58)*(1.0h-_50)))+((_56+_58)*(1.0h-_4z)))));if((_4z>max(_51,_50))){_h=1i;}else{_g=select(3i,2i,(_50>_51));_h=_g;}let _5a=(_h==1i);let _5b=(_h==2i);let _5c=(_h==3i);let _5d=vec3h(select(0.0h,1.0h,_5a),select(0.0h,1.0h,_5b),select(0.0h,1.0h,_5c));let _5e=(_7-_5d);let _5f=dot(_5d,_54);let _5g=(_54*_5e);let _5h=((_5g.x+_5g.y)+_5g.z);let _5i=(_5h+(_5f*0.5h));let _5j=((_5h*0.5h)+_5f);let _5k=select(0i,1i,(_5j<_5i));let _5l=select(_53,6i,(_59<((min(_5i,_5j)*0.25h)+0.03125h)));let _5m=(_5l==4i);let _5n=select(vec3h(),_5d,vec3<bool>(_5m));let _5o=(_7-_5n);let _5p=((_23*0.0625h)*_5o);let _5q=(_24*_5n);let _5r=(_25*_5n);let _5s=_5o.x;let _5t=_5o.y;let _5u=(_43*(_5s*_5t));let _5v=_5o.z;let _5w=(_44*(_5s*_5v));let _5x=(_46*(_5t*_5v));let _5y=(_4y*_5o);let _5z=_5y.x;let _60=_5y.y;let _61=_5y.z;let _62=(((_5z*(_42*_5s))+(_60*_5u))+(_61*_5w));let _63=(((_5z*_5u)+(_60*(_45*_5t)))+(_61*_5x));let _64=(((_5z*_5w)+(_60*_5x))+(_61*(_47*_5v)));let _65=max(max(abs(_62),abs(_63)),abs(_64));let _66=(_65==0.0h);let _67=select(vec3h((vec3f(vec3h(_62,_63,_64))*(1.0f/select(f32(_65),1.0f,_66)))),_5o,vec3<bool>(_66));let _68=(_67*_8);let _69=(1.0h/dot(_68,_68));let _6a=((_68*_69)*_8);let _6b=dot(_1n,_6a);let _6c=dot(_1o,_6a);let _6d=(_6c<_6b);let _6e=select(1u,0u,_6d);let _6f=select(_6b,_6c,_6d);let _6g=(_6c>_6b);let _6h=select(1u,0u,_6g);let _6i=select(_6b,_6c,_6g);let _6j=dot(_1p,_6a);let _6k=(_6j<_6f);let _6l=select(select(_6e,(_6e+1u),(_6c==_6f)),0u,_6k);let _6m=select(_6f,_6j,_6k);let _6n=(_6j>_6i);let _6o=select(select(_6h,(_6h+1u),(_6c==_6i)),0u,_6n);let _6p=select(_6i,_6j,_6n);let _6q=dot(_1q,_6a);let _6r=(_6q<_6m);let _6s=select(select(_6l,(_6l+1u),(_6j==_6m)),0u,_6r);let _6t=select(_6m,_6q,_6r);let _6u=(_6q>_6p);let _6v=select(select(_6o,(_6o+1u),(_6j==_6p)),0u,_6u);let _6w=select(_6p,_6q,_6u);let _6x=dot(_1r,_6a);let _6y=(_6x<_6t);let _6z=select(select(_6s,(_6s+1u),(_6q==_6t)),0u,_6y);let _70=select(_6t,_6x,_6y);let _71=(_6x>_6w);let _72=select(select(_6v,(_6v+1u),(_6q==_6w)),0u,_71);let _73=select(_6w,_6x,_71);let _74=dot(_1s,_6a);let _75=(_74<_70);let _76=select(select(_6z,(_6z+1u),(_6x==_70)),0u,_75);let _77=select(_70,_74,_75);let _78=(_74>_73);let _79=select(select(_72,(_72+1u),(_6x==_73)),0u,_78);let _7a=select(_73,_74,_78);let _7b=dot(_1t,_6a);let _7c=(_7b<_77);let _7d=select(select(_76,(_76+1u),(_74==_77)),0u,_7c);let _7e=select(_77,_7b,_7c);let _7f=(_7b>_7a);let _7g=select(select(_79,(_79+1u),(_74==_7a)),0u,_7f);let _7h=select(_7a,_7b,_7f);let _7i=dot(_1u,_6a);let _7j=(_7i<_7e);let _7k=select(select(_7d,(_7d+1u),(_7b==_7e)),0u,_7j);let _7l=select(_7e,_7i,_7j);let _7m=(_7i>_7h);let _7n=select(select(_7g,(_7g+1u),(_7b==_7h)),0u,_7m);let _7o=select(_7h,_7i,_7m);let _7p=dot(_1v,_6a);let _7q=(_7p<_7l);let _7r=select(select(_7k,(_7k+1u),(_7i==_7l)),0u,_7q);let _7s=select(_7l,_7p,_7q);let _7t=(_7p>_7o);let _7u=select(select(_7n,(_7n+1u),(_7i==_7o)),0u,_7t);let _7v=select(_7o,_7p,_7t);let _7w=dot(_1w,_6a);let _7x=(_7w<_7s);let _7y=select(select(_7r,(_7r+1u),(_7p==_7s)),0u,_7x);let _7z=select(_7s,_7w,_7x);let _80=(_7w>_7v);let _81=select(select(_7u,(_7u+1u),(_7p==_7v)),0u,_80);let _82=select(_7v,_7w,_80);let _83=dot(_1x,_6a);let _84=(_83<_7z);let _85=select(select(_7y,(_7y+1u),(_7w==_7z)),0u,_84);let _86=select(_7z,_83,_84);let _87=(_83>_82);let _88=select(select(_81,(_81+1u),(_7w==_82)),0u,_87);let _89=select(_82,_83,_87);let _8a=dot(_1y,_6a);let _8b=(_8a<_86);let _8c=select(select(_85,(_85+1u),(_83==_86)),0u,_8b);let _8d=select(_86,_8a,_8b);let _8e=(_8a>_89);let _8f=select(select(_88,(_88+1u),(_83==_89)),0u,_8e);let _8g=select(_89,_8a,_8e);let _8h=dot(_1z,_6a);let _8i=(_8h<_8d);let _8j=select(select(_8c,(_8c+1u),(_8a==_8d)),0u,_8i);let _8k=select(_8d,_8h,_8i);let _8l=(_8h>_8g);let _8m=select(select(_8f,(_8f+1u),(_8a==_8g)),0u,_8l);let _8n=select(_8g,_8h,_8l);let _8o=dot(_20,_6a);let _8p=(_8o<_8k);let _8q=select(select(_8j,(_8j+1u),(_8h==_8k)),0u,_8p);let _8r=select(_8k,_8o,_8p);let _8s=(_8o>_8n);let _8t=select(select(_8m,(_8m+1u),(_8h==_8n)),0u,_8s);let _8u=select(_8n,_8o,_8s);let _8v=dot(_21,_6a);let _8w=(_8v<_8r);let _8x=select(select(_8q,(_8q+1u),(_8o==_8r)),0u,_8w);let _8y=select(_8r,_8v,_8w);let _8z=(_8v>_8u);let _90=select(select(_8t,(_8t+1u),(_8o==_8u)),0u,_8z);let _91=select(_8u,_8v,_8z);let _92=dot(_22,_6a);let _93=(_92<_8y);let _94=select(select(_8x,(_8x+1u),(_8v==_8y)),0u,_93);let _95=select(_8y,_92,_93);let _96=(_92>_91);let _97=select(select(_90,(_90+1u),(_8v==_91)),0u,_96);let _98=select(_91,_92,_96);let _99=clamp((f16(((select(_94,(_94+1u),(_92==_95))+select(_97,(_97+1u),(_92==_98)))-2u))*0.0714111328125h),0.0h,1.0h);let _9a=dot(_5p,_6a);let _9b=(_95-_9a);let _9c=(_98-_9a);if(_5m){_i=select(0.0625h,0.03125h,(_5k!=0i));_j=_i;}else{_j=0.015625h;}let _9d=(1.0h-_99);let _9e=(((_9c-_9b)*_j)*_9d);let _9f=(_9b+_9e);let _9g=(_9c-_9e);let _9h=select(0.0078125h,0.03125h,_5m);let _9i=max(0.0h,(((((0.6357421875h*_9h)*_69)+(0.36376953125h*_9h))-(_9g-_9f))*0.5h));let _9j=(_5n*(dot((_5r-_5q),_5n)*(select(0.03125h,0.0625h,(_5k!=0i))*_9d)));let _9k=(clamp(((_67*(_9f-_9i))+_5p),vec3h(),_7)+(_5q+_9j));let _9l=(clamp(((_67*(_9g+_9i))+_5p),vec3h(),_7)+(_5r-_9j));if(_5m){let _9m=_9k.x;let _9n=select(31.0h,63.0h,_5a);let _9o=select(8.25h,4.0625h,_5a);let _9p=(trunc((_9m*_9n))*_9o);let _9q=min(255.0h,trunc(_9p));let _9r=min(255.0h,trunc((_9p+_9o)));let _9s=_9k.y;let _9t=select(31.0h,63.0h,_5b);let _9u=select(8.25h,4.0625h,_5b);let _9v=(trunc((_9s*_9t))*_9u);let _9w=min(255.0h,trunc(_9v));let _9x=min(255.0h,trunc((_9v+_9u)));let _9y=_9k.z;let _9z=select(31.0h,63.0h,_5c);let _a0=select(8.25h,4.0625h,_5c);let _a1=(trunc((_9y*_9z))*_a0);let _a2=min(255.0h,trunc(_a1));let _a3=min(255.0h,trunc((_a1+_a0)));_k=vec3h(select(_9q,_9r,((255.0h*_9m)>(0.5h*(_9q+_9r)))),select(_9w,_9x,((255.0h*_9s)>(0.5h*(_9w+_9x)))),select(_a2,_a3,((255.0h*_9y)>(0.5h*(_a2+_a3)))));let _a4=_9l.x;let _a5=(trunc((_a4*_9n))*_9o);let _a6=min(255.0h,trunc(_a5));let _a7=min(255.0h,trunc((_a5+_9o)));let _a8=_9l.y;let _a9=(trunc((_a8*_9t))*_9u);let _aa=min(255.0h,trunc(_a9));let _ab=min(255.0h,trunc((_a9+_9u)));let _ac=_9l.z;let _ad=(trunc((_ac*_9z))*_a0);let _ae=min(255.0h,trunc(_ad));let _af=min(255.0h,trunc((_ad+_a0)));_l=vec3h(select(_a6,_a7,((255.0h*_a4)>(0.5h*(_a6+_a7)))),select(_aa,_ab,((255.0h*_a8)>(0.5h*(_aa+_ab)))),select(_ae,_af,((255.0h*_ac)>(0.5h*(_ae+_af)))));_o=_l;_p=_k;}else{_m=vec3h(((2.0h*trunc((_9k.x*127.5h)))+1.0h),((2.0h*trunc((_9k.y*127.5h)))+1.0h),((2.0h*trunc((_9k.z*127.5h)))+1.0h));_n=vec3h(((2.0h*trunc((_9l.x*127.5h)))+1.0h),((2.0h*trunc((_9l.y*127.5h)))+1.0h),((2.0h*trunc((_9l.z*127.5h)))+1.0h));_o=_n;_p=_m;}let _ag=(_o-_p);let _ah=((_ag*_5o)*(_8*0.0039215087890625h));let _ai=((_ah*(1.0h/dot(_ah,_ah)))*_8);let _aj=(dot(_p,_ai)*0.0039215087890625h);_t=_aj;_u=_ai;_v=0u;if(_5m){let _ak=((_5n*dot(_ag,_5n))*0.0039215087890625h);let _al=(_ak*(1.0h/dot(_ak,_ak)));let _am=(dot(_p,_al)*0.0039215087890625h);let _an=(_5k==1i);let _ao=select(_aj,_am,_an);let _ap=vec3<bool>(_an);let _aq=select(_ai,_al,_ap);_q=select(_am,_aj,_an);_r=select(_al,_ai,_ap);_s=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_1n,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_1o,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_1p,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_1q,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_1r,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_1s,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_1t,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_1u,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_1v,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_1w,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_1x,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_1y,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_1z,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_20,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_21,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_22,_aq)-_ao),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_t=_q;_u=_r;_v=_s;}let _ar=select(15.0h,7.0h,_5m);let _as=select(4i,3i,_5m);let _at=(_as*2i);let _au=(_as*3i);let _av=(_as*4i);let _aw=(_as*5i);let _ax=(_as*6i);let _ay=(_as*7i);let _az=((((((((0u|(u32(((_ar*clamp((dot(_1n,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_ar*clamp((dot(_1o,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_as)))|(u32(((_ar*clamp((dot(_1p,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_at)))|(u32(((_ar*clamp((dot(_1q,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_au)))|(u32(((_ar*clamp((dot(_1r,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_av)))|(u32(((_ar*clamp((dot(_1s,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_aw)))|(u32(((_ar*clamp((dot(_1t,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ax)))|(u32(((_ar*clamp((dot(_1u,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ay)));let _b0=((((((((0u|(u32(((_ar*clamp((dot(_1v,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_ar*clamp((dot(_1w,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_as)))|(u32(((_ar*clamp((dot(_1x,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_at)))|(u32(((_ar*clamp((dot(_1y,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_au)))|(u32(((_ar*clamp((dot(_1z,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_av)))|(u32(((_ar*clamp((dot(_20,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_aw)))|(u32(((_ar*clamp((dot(_21,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ax)))|(u32(((_ar*clamp((dot(_22,_u)-_t),0.0h,1.0h))+0.5h))<<bitcast<u32>(_ay)));if(_5m){_w=(_az|(_b0<<bitcast<u32>(24i)));_x=(_b0>>bitcast<u32>(8i));_y=_x;_z=_w;}else{_y=_b0;_z=_b0;}var _b1:u32;var _b2:vec3u;var _b3:vec2u;var _b4:vec2u;var _b5:u32;var _b6:u32;var _b7:u32;var _b8:u32;var _b9:vec3u;var _ba:u32;var _bb:u32;var _bc:u32;var _bd:u32;var _be:vec3u;var _bf:u32;var _bg:u32;var _bh:u32;var _bi:u32;var _bj:vec3u;var _bk:u32;var _bl:u32;var _bm:u32;var _bn:u32;var _bo:vec3u;_b1=select(_az,_v,_5m);_b2=vec3u(_b1,_z,_y);let _bp=(0u|((1u<<bitcast<u32>(_5l))<<0u));if((_5l==6i)){let _bq=((_b1&8u)!=0u);_b4=_b2.xy;if(_bq){_b3=vec2u(~(_b1),~(_z));_b4=_b3;}let _br=vec3<bool>(_bq);let _bs=select(_o,_p,_br);let _bt=select(_p,_o,_br);let _bu=_b4.x;let _bv=(((_bu&7u)<<bitcast<u32>(1i))|(_bu&4294967280u));let _bw=(u32(_bs.y)>>bitcast<u32>(1i));_10=vec4u(((((_bp|((u32(_bt.x)>>bitcast<u32>(1i))<<7u))|((u32(_bs.x)>>bitcast<u32>(1i))<<14u))|((u32(_bt.y)>>bitcast<u32>(1i))<<21u))|(_bw<<28u)),((((0u|(_bw>>4u))|((u32(_bt.z)>>bitcast<u32>(1i))<<3u))|((u32(_bs.z)>>bitcast<u32>(1i))<<10u))|4294836224u),_bv,_b4.y);_10.z=(_bv|1u);_12=_10;}else{let _bx=(u32(dot(_p,_5d))>>bitcast<u32>(2i));let _by=(u32(dot(_o,_5d))>>bitcast<u32>(2i));let _bz=(_5d*255.0h);let _c0=((_p*_5e)+_bz);let _c1=((_o*_5e)+_bz);let _c2=(((u32(_c0.x)>>bitcast<u32>(3i))|((u32(_c0.y)&248u)<<bitcast<u32>(7i)))|((u32(_c0.z)&248u)<<bitcast<u32>(17i)));let _c3=(((u32(_c1.x)>>bitcast<u32>(3i))|((u32(_c1.y)&248u)<<bitcast<u32>(7i)))|((u32(_c1.z)&248u)<<bitcast<u32>(17i)));_ba=5u;_bb=0u;_bc=6u;_bd=0u;_be=_b2;if(((_b1&2u)!=0u)){let _c4=(_5k==0i);_b5=select(5u,0u,_c4);_b6=select(0u,5u,_c4);_b7=select(0u,6u,_c4);_b8=select(6u,0u,_c4);_b9=_b2;_b9.x=~(_b1);_ba=_b5;_bb=_b6;_bc=_b7;_bd=_b8;_be=_b9;}let _c5=_be.x;let _c6=(((_c5&1u)+(_c5&4294967293u))>>bitcast<u32>(1i));var _c7=_be;_c7.x=_c6;let _c8=_c7;let _c9=_be.y;_bk=_ba;_bl=_bb;_bm=_bc;_bn=_bd;_bo=_c8;if(((_c9&4u)!=0u)){let _ca=(_5k==1i);_bf=select(_ba,0u,_ca);_bg=select(_bb,5u,_ca);_bh=select(0u,_bc,_ca);_bi=select(6u,_bd,_ca);_bj=vec3u(_c6,~(_c9),(_be.z^65535u));_bk=_bf;_bl=_bg;_bm=_bh;_bn=_bi;_bo=_bj;}let _cb=_bo.y;let _cc=_bo.z;let _cd=((((_cb&3u)+(_cb&4294967291u))>>bitcast<u32>(1i))|(_cc<<bitcast<u32>(31i)));let _ce=((_c2<<_bl)|(_c3<<_bk));let _cf=_bo.x;let _cg=(0u|(_cd>>15u));_11=vec4u(((((_bp&4294967071u)|(bitcast<u32>(_h)<<5u))|(bitcast<u32>(_5k)<<7u))|(_ce<<8u)),(((0u|(_ce>>24u))|(((_bx<<_bn)|(_by<<_bm))<<6u))|(_cf<<18u)),((0u|(_cf>>14u))|(_cd<<17u)),_cg);_11.w=(_cg|((_cc>>bitcast<u32>(1i))<<17u));_12=_11;}x_3637._0[((_15.y*((_14+15u)&4294967280u))+_17)]=_12;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _ch:vec3u,@builtin(local_invocation_id) _ci:vec3u,@builtin(workgroup_id) _cj:vec3u){x_3542=_ch;x_3548=_ci;_9();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_bc7_rgb as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_bc7_rgba = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_3369:vec3u;var<private>x_3375:vec3u;@binding(2) @group(0) var<storage,read_write>x_3464:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec4h(1.0h,1.0h,1.0h,0.0h);const _8=vec4h(0.85986328125h,1.7099609375h,0.429931640625h,1.0h);const _9=vec4h(0.0h,0.0h,0.0h,1.0h);const _a=vec4h(1.0h);fn _b(){var _c:bool;var _d:bool;var _e:bool;var _f:bool;var _g:bool;var _h:bool;var _i:vec4h;var _j:vec4h;var _k:vec4h;var _l:vec4h;var _m:bool;var _n:bool;var _o:vec4h;var _p:vec4h;var _q:vec4h;var _r:vec4h;var _s:bool;var _t:bool;var _u:vec4h;var _v:vec4h;var _w:vec4h;var _x:vec4h;var _y:bool;var _z:bool;var _10:vec4h;var _11:vec4h;var _12:vec4h;var _13:vec4h;var _14:bool;var _15:bool;var _16:vec4h;var _17:vec4h;var _18:vec4h;var _19:vec4h;var _1a:bool;var _1b:bool;var _1c:vec4h;var _1d:vec4h;var _1e:vec4h;var _1f:vec4h;var _1g:bool;var _1h:bool;var _1i:vec4h;var _1j:vec4h;var _1k:vec4h;var _1l:vec4h;var _1m:bool;var _1n:bool;var _1o:vec4h;var _1p:vec4h;var _1q:vec4h;var _1r:vec4h;var _1s:bool;var _1t:bool;var _1u:vec4h;var _1v:vec4h;var _1w:vec4h;var _1x:vec4h;var _1y:bool;var _1z:bool;var _20:vec4h;var _21:vec4h;var _22:vec4h;var _23:vec4h;var _24:bool;var _25:bool;var _26:vec4h;var _27:vec4h;var _28:vec4h;var _29:vec4h;var _2a:bool;var _2b:bool;var _2c:vec4h;var _2d:vec4h;var _2e:vec4h;var _2f:vec4h;var _2g:bool;var _2h:bool;var _2i:vec4h;var _2j:vec4h;var _2k:vec4h;var _2l:vec4h;var _2m:bool;var _2n:bool;var _2o:vec4h;var _2p:vec4h;var _2q:vec4h;var _2r:vec4h;var _2s:bool;var _2t:bool;var _2u:vec4h;var _2v:vec4h;var _2w:vec4h;var _2x:vec4h;var _2y:vec4h;var _2z:vec4h;var _30:vec4h;var _31:vec4h;var _32:vec4h;var _33:vec4h;var _34:f16;var _35:f16;var _36:f16;var _37:f16;var _38:f16;var _39:f16;var _3a:i32;var _3b:i32;var _3c:f16;var _3d:vec4h;var _3e:vec4h;var _3f:i32;var _3g:f16;var _3h:vec4h;var _3i:vec4h;var _3j:i32;var _3k:vec4h;var _3l:vec4h;var _3m:i32;var _3n:vec4h;var _3o:vec4h;var _3p:vec4h;var _3q:f16;var _3r:f16;var _3s:f16;var _3t:f16;var _3u:f16;var _3v:f16;var _3w:f16;var _3x:f16;var _3y:f16;var _3z:f16;var _40:i32;var _41:vec4h;var _42:vec4h;var _43:vec4h;var _44:vec4h;var _45:f16;var _46:f16;var _47:f16;var _48:f16;var _49:f16;var _4a:f16;var _4b:f16;var _4c:f16;var _4d:f16;var _4e:f16;var _4f:bool;var _4g:bool;var _4h:f16;var _4i:f16;var _4j:u32;var _4k:u32;var _4l:f16;var _4m:f16;var _4n:u32;var _4o:u32;var _4p:bool;var _4q:bool;var _4r:u32;var _4s:f16;var _4t:f16;var _4u:u32;var _4v:u32;var _4w:f16;var _4x:f16;var _4y:u32;var _4z:u32;var _50:u32;var _51:bool;var _52:bool;var _53:u32;var _54:f16;var _55:f16;var _56:u32;var _57:u32;var _58:f16;var _59:f16;var _5a:u32;var _5b:u32;var _5c:u32;var _5d:bool;var _5e:bool;var _5f:u32;var _5g:f16;var _5h:f16;var _5i:u32;var _5j:u32;var _5k:f16;var _5l:f16;var _5m:u32;var _5n:u32;var _5o:u32;var _5p:bool;var _5q:bool;var _5r:u32;var _5s:f16;var _5t:f16;var _5u:u32;var _5v:u32;var _5w:f16;var _5x:f16;var _5y:u32;var _5z:u32;var _60:u32;var _61:bool;var _62:bool;var _63:u32;var _64:f16;var _65:f16;var _66:u32;var _67:u32;var _68:f16;var _69:f16;var _6a:u32;var _6b:u32;var _6c:u32;var _6d:bool;var _6e:bool;var _6f:u32;var _6g:f16;var _6h:f16;var _6i:u32;var _6j:u32;var _6k:f16;var _6l:f16;var _6m:u32;var _6n:u32;var _6o:u32;var _6p:bool;var _6q:bool;var _6r:u32;var _6s:f16;var _6t:f16;var _6u:u32;var _6v:u32;var _6w:f16;var _6x:f16;var _6y:u32;var _6z:u32;var _70:u32;var _71:bool;var _72:bool;var _73:u32;var _74:f16;var _75:f16;var _76:u32;var _77:u32;var _78:f16;var _79:f16;var _7a:u32;var _7b:u32;var _7c:u32;var _7d:bool;var _7e:bool;var _7f:u32;var _7g:f16;var _7h:f16;var _7i:u32;var _7j:u32;var _7k:f16;var _7l:f16;var _7m:u32;var _7n:u32;var _7o:u32;var _7p:bool;var _7q:bool;var _7r:u32;var _7s:f16;var _7t:f16;var _7u:u32;var _7v:u32;var _7w:f16;var _7x:f16;var _7y:u32;var _7z:u32;var _80:u32;var _81:bool;var _82:bool;var _83:u32;var _84:f16;var _85:f16;var _86:u32;var _87:u32;var _88:f16;var _89:f16;var _8a:u32;var _8b:u32;var _8c:u32;var _8d:bool;var _8e:bool;var _8f:u32;var _8g:f16;var _8h:f16;var _8i:u32;var _8j:u32;var _8k:f16;var _8l:f16;var _8m:u32;var _8n:u32;var _8o:u32;var _8p:bool;var _8q:bool;var _8r:u32;var _8s:f16;var _8t:f16;var _8u:u32;var _8v:u32;var _8w:f16;var _8x:f16;var _8y:u32;var _8z:u32;var _90:u32;var _91:bool;var _92:bool;var _93:u32;var _94:f16;var _95:f16;var _96:u32;var _97:u32;var _98:f16;var _99:f16;var _9a:u32;var _9b:u32;var _9c:u32;var _9d:bool;var _9e:bool;var _9f:u32;var _9g:f16;var _9h:f16;var _9i:u32;var _9j:u32;var _9k:f16;var _9l:f16;var _9m:u32;var _9n:u32;var _9o:u32;var _9p:f16;var _9q:f16;var _9r:vec4h;var _9s:vec4h;var _9t:vec4h;var _9u:vec4h;var _9v:u32;var _9w:vec4h;var _9x:u32;var _9y:vec4h;var _9z:vec4h;var _a0:vec4h;var _a1:u32;var _a2:u32;var _a3:vec4h;var _a4:vec4h;var _a5:vec4h;var _a6:vec4h;var _a7:f16;var _a8:vec4h;var _a9:u32;var _aa:f16;var _ab:vec4h;var _ac:u32;var _ad:u32;var _ae:u32;var _af:u32;var _ag:u32;var _ah:vec4u;var _ai:vec4u;var _aj:vec4u;switch(0u){default:{let _ak=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _al=((_ak.x+3u)/4u);let _am=x_3369;let _an=x_3369.xy;let _ao=x_3369.x;let _ap=(_ao>=_al);_d=_ap;if(!(_ap)){_c=(_am.y>=((_ak.y+3u)/4u));_d=_c;}if(_d){break;}let _aq=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _ar=((vec2f(bitcast<vec2i>((_an*vec2u(4u))))*_aq)+_aq);let _as=vec4h(textureGather(0i,_3,_2,_ar,vec2i()));let _at=vec4h(textureGather(0i,_3,_2,_ar,_4));let _au=vec4h(textureGather(0i,_3,_2,_ar,_5));let _av=vec4h(textureGather(0i,_3,_2,_ar,_6));let _aw=vec4h(textureGather(1i,_3,_2,_ar,vec2i()));let _ax=vec4h(textureGather(1i,_3,_2,_ar,_4));let _ay=vec4h(textureGather(1i,_3,_2,_ar,_5));let _az=vec4h(textureGather(1i,_3,_2,_ar,_6));let _b0=vec4h(textureGather(2i,_3,_2,_ar,vec2i()));let _b1=vec4h(textureGather(2i,_3,_2,_ar,_4));let _b2=vec4h(textureGather(2i,_3,_2,_ar,_5));let _b3=vec4h(textureGather(2i,_3,_2,_ar,_6));let _b4=vec4h(textureGather(3i,_3,_2,_ar,vec2i()));let _b5=vec4h(textureGather(3i,_3,_2,_ar,_4));let _b6=vec4h(textureGather(3i,_3,_2,_ar,_5));let _b7=vec4h(textureGather(3i,_3,_2,_ar,_6));let _b8=_b4.w;let _b9=vec4h(_as.w,_aw.w,_b0.w,_b8);let _ba=_b4.z;let _bb=vec4h(_as.z,_aw.z,_b0.z,_ba);let _bc=_b5.w;let _bd=vec4h(_at.w,_ax.w,_b1.w,_bc);let _be=_b5.z;let _bf=vec4h(_at.z,_ax.z,_b1.z,_be);let _bg=_b4.x;let _bh=vec4h(_as.x,_aw.x,_b0.x,_bg);let _bi=_b4.y;let _bj=vec4h(_as.y,_aw.y,_b0.y,_bi);let _bk=_b5.x;let _bl=vec4h(_at.x,_ax.x,_b1.x,_bk);let _bm=_b5.y;let _bn=vec4h(_at.y,_ax.y,_b1.y,_bm);let _bo=_b6.w;let _bp=vec4h(_au.w,_ay.w,_b2.w,_bo);let _bq=_b6.z;let _br=vec4h(_au.z,_ay.z,_b2.z,_bq);let _bs=_b7.w;let _bt=vec4h(_av.w,_az.w,_b3.w,_bs);let _bu=_b7.z;let _bv=vec4h(_av.z,_az.z,_b3.z,_bu);let _bw=_b6.x;let _bx=vec4h(_au.x,_ay.x,_b2.x,_bw);let _by=_b6.y;let _bz=vec4h(_au.y,_ay.y,_b2.y,_by);let _c0=_b7.x;let _c1=vec4h(_av.x,_az.x,_b3.x,_c0);let _c2=_b7.y;let _c3=vec4h(_av.y,_az.y,_b3.y,_c2);let _c4=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(_b8,_ba),_bc),_be),_bg),_bi),_bk),_bm),_bo),_bq),_bs),_bu),_bw),_by),_c0),_c2);let _c5=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(_b8,_ba),_bc),_be),_bg),_bi),_bk),_bm),_bo),_bq),_bs),_bu),_bw),_by),_c0),_c2);let _c6=(((_c5-_c4)*1.0h)<0.015625h);_f=false;if(((_c4==0.0h)|(_c5==1.0h))){_e=!(_c6);_f=_e;}let _c7=_bb.xyz;let _c8=select(1.0h,_ba,_f);let _c9=_b9.xyz;let _ca=(_c9+(_c7*_c8));let _cb=(_b8+_ba);let _cc=vec4h(_ca.x,_ca.y,_ca.z,_cb);let _cd=!(_f);let _ce=!(_cd);_h=_cd;if(_ce){_g=(_ba>0.0h);_h=_g;}_k=_b9;_l=_b9;if(_h){let _cf=min(_c9,_c7);var _cg=_b9;_cg.x=_cf.x;let _ch=_cg;var _ci=_ch;_ci.y=_cf.y;_i=_ci;_i.z=_cf.z;let _cj=max(_c9,_c7);var _ck=_b9;_ck.x=_cj.x;let _cl=_ck;var _cm=_cl;_cm.y=_cj.y;_j=_cm;_j.z=_cj.z;_k=_j;_l=_i;}let _cn=min(_l.w,_ba);var _co=_l;_co.w=_cn;let _cp=_co;let _cq=max(_k.w,_ba);var _cr=_k;_cr.w=_cq;let _cs=_cr;let _ct=_bd.xyz;let _cu=select(1.0h,_bc,_f);let _cv=(_cc.xyz+(_ct*_cu));let _cw=(_cb+_bc);let _cx=vec4h(_cv.x,_cv.y,_cv.z,_cw);_n=_cd;if(_ce){_m=(_bc>0.0h);_n=_m;}_q=_cs;_r=_cp;if(_n){let _cy=min(_cp.xyz,_ct);_o=vec4h(_cy.x,_cy.y,_cy.z,_cn);let _cz=max(_cs.xyz,_ct);_p=vec4h(_cz.x,_cz.y,_cz.z,_cq);_q=_p;_r=_o;}let _d0=min(_r.w,_bc);var _d1=_r;_d1.w=_d0;let _d2=_d1;let _d3=max(_q.w,_bc);var _d4=_q;_d4.w=_d3;let _d5=_d4;let _d6=_bf.xyz;let _d7=select(1.0h,_be,_f);let _d8=(_cx.xyz+(_d6*_d7));let _d9=(_cw+_be);let _da=vec4h(_d8.x,_d8.y,_d8.z,_d9);_t=_cd;if(_ce){_s=(_be>0.0h);_t=_s;}_w=_d5;_x=_d2;if(_t){let _db=min(_d2.xyz,_d6);_u=vec4h(_db.x,_db.y,_db.z,_d0);let _dc=max(_d5.xyz,_d6);_v=vec4h(_dc.x,_dc.y,_dc.z,_d3);_w=_v;_x=_u;}let _dd=min(_x.w,_be);var _de=_x;_de.w=_dd;let _df=_de;let _dg=max(_w.w,_be);var _dh=_w;_dh.w=_dg;let _di=_dh;let _dj=_bh.xyz;let _dk=select(1.0h,_bg,_f);let _dl=(_da.xyz+(_dj*_dk));let _dm=(_d9+_bg);let _dn=vec4h(_dl.x,_dl.y,_dl.z,_dm);_z=_cd;if(_ce){_y=(_bg>0.0h);_z=_y;}_12=_di;_13=_df;if(_z){let _do=min(_df.xyz,_dj);_10=vec4h(_do.x,_do.y,_do.z,_dd);let _dp=max(_di.xyz,_dj);_11=vec4h(_dp.x,_dp.y,_dp.z,_dg);_12=_11;_13=_10;}let _dq=min(_13.w,_bg);var _dr=_13;_dr.w=_dq;let _ds=_dr;let _dt=max(_12.w,_bg);var _du=_12;_du.w=_dt;let _dv=_du;let _dw=_bj.xyz;let _dx=select(1.0h,_bi,_f);let _dy=(_dn.xyz+(_dw*_dx));let _dz=(_dm+_bi);let _e0=vec4h(_dy.x,_dy.y,_dy.z,_dz);_15=_cd;if(_ce){_14=(_bi>0.0h);_15=_14;}_18=_dv;_19=_ds;if(_15){let _e1=min(_ds.xyz,_dw);_16=vec4h(_e1.x,_e1.y,_e1.z,_dq);let _e2=max(_dv.xyz,_dw);_17=vec4h(_e2.x,_e2.y,_e2.z,_dt);_18=_17;_19=_16;}let _e3=min(_19.w,_bi);var _e4=_19;_e4.w=_e3;let _e5=_e4;let _e6=max(_18.w,_bi);var _e7=_18;_e7.w=_e6;let _e8=_e7;let _e9=_bl.xyz;let _ea=select(1.0h,_bk,_f);let _eb=(_e0.xyz+(_e9*_ea));let _ec=(_dz+_bk);let _ed=vec4h(_eb.x,_eb.y,_eb.z,_ec);_1b=_cd;if(_ce){_1a=(_bk>0.0h);_1b=_1a;}_1e=_e8;_1f=_e5;if(_1b){let _ee=min(_e5.xyz,_e9);_1c=vec4h(_ee.x,_ee.y,_ee.z,_e3);let _ef=max(_e8.xyz,_e9);_1d=vec4h(_ef.x,_ef.y,_ef.z,_e6);_1e=_1d;_1f=_1c;}let _eg=min(_1f.w,_bk);var _eh=_1f;_eh.w=_eg;let _ei=_eh;let _ej=max(_1e.w,_bk);var _ek=_1e;_ek.w=_ej;let _el=_ek;let _em=_bn.xyz;let _en=select(1.0h,_bm,_f);let _eo=(_ed.xyz+(_em*_en));let _ep=(_ec+_bm);let _eq=vec4h(_eo.x,_eo.y,_eo.z,_ep);_1h=_cd;if(_ce){_1g=(_bm>0.0h);_1h=_1g;}_1k=_el;_1l=_ei;if(_1h){let _er=min(_ei.xyz,_em);_1i=vec4h(_er.x,_er.y,_er.z,_eg);let _es=max(_el.xyz,_em);_1j=vec4h(_es.x,_es.y,_es.z,_ej);_1k=_1j;_1l=_1i;}let _et=min(_1l.w,_bm);var _eu=_1l;_eu.w=_et;let _ev=_eu;let _ew=max(_1k.w,_bm);var _ex=_1k;_ex.w=_ew;let _ey=_ex;let _ez=_bp.xyz;let _f0=select(1.0h,_bo,_f);let _f1=(_eq.xyz+(_ez*_f0));let _f2=(_ep+_bo);let _f3=vec4h(_f1.x,_f1.y,_f1.z,_f2);_1n=_cd;if(_ce){_1m=(_bo>0.0h);_1n=_1m;}_1q=_ey;_1r=_ev;if(_1n){let _f4=min(_ev.xyz,_ez);_1o=vec4h(_f4.x,_f4.y,_f4.z,_et);let _f5=max(_ey.xyz,_ez);_1p=vec4h(_f5.x,_f5.y,_f5.z,_ew);_1q=_1p;_1r=_1o;}let _f6=min(_1r.w,_bo);var _f7=_1r;_f7.w=_f6;let _f8=_f7;let _f9=max(_1q.w,_bo);var _fa=_1q;_fa.w=_f9;let _fb=_fa;let _fc=_br.xyz;let _fd=select(1.0h,_bq,_f);let _fe=(_f3.xyz+(_fc*_fd));let _ff=(_f2+_bq);let _fg=vec4h(_fe.x,_fe.y,_fe.z,_ff);_1t=_cd;if(_ce){_1s=(_bq>0.0h);_1t=_1s;}_1w=_fb;_1x=_f8;if(_1t){let _fh=min(_f8.xyz,_fc);_1u=vec4h(_fh.x,_fh.y,_fh.z,_f6);let _fi=max(_fb.xyz,_fc);_1v=vec4h(_fi.x,_fi.y,_fi.z,_f9);_1w=_1v;_1x=_1u;}let _fj=min(_1x.w,_bq);var _fk=_1x;_fk.w=_fj;let _fl=_fk;let _fm=max(_1w.w,_bq);var _fn=_1w;_fn.w=_fm;let _fo=_fn;let _fp=_bt.xyz;let _fq=select(1.0h,_bs,_f);let _fr=(_fg.xyz+(_fp*_fq));let _fs=(_ff+_bs);let _ft=vec4h(_fr.x,_fr.y,_fr.z,_fs);_1z=_cd;if(_ce){_1y=(_bs>0.0h);_1z=_1y;}_22=_fo;_23=_fl;if(_1z){let _fu=min(_fl.xyz,_fp);_20=vec4h(_fu.x,_fu.y,_fu.z,_fj);let _fv=max(_fo.xyz,_fp);_21=vec4h(_fv.x,_fv.y,_fv.z,_fm);_22=_21;_23=_20;}let _fw=min(_23.w,_bs);var _fx=_23;_fx.w=_fw;let _fy=_fx;let _fz=max(_22.w,_bs);var _g0=_22;_g0.w=_fz;let _g1=_g0;let _g2=_bv.xyz;let _g3=select(1.0h,_bu,_f);let _g4=(_ft.xyz+(_g2*_g3));let _g5=(_fs+_bu);let _g6=vec4h(_g4.x,_g4.y,_g4.z,_g5);_25=_cd;if(_ce){_24=(_bu>0.0h);_25=_24;}_28=_g1;_29=_fy;if(_25){let _g7=min(_fy.xyz,_g2);_26=vec4h(_g7.x,_g7.y,_g7.z,_fw);let _g8=max(_g1.xyz,_g2);_27=vec4h(_g8.x,_g8.y,_g8.z,_fz);_28=_27;_29=_26;}let _g9=min(_29.w,_bu);var _ga=_29;_ga.w=_g9;let _gb=_ga;let _gc=max(_28.w,_bu);var _gd=_28;_gd.w=_gc;let _ge=_gd;let _gf=_bx.xyz;let _gg=select(1.0h,_bw,_f);let _gh=(_g6.xyz+(_gf*_gg));let _gi=(_g5+_bw);let _gj=vec4h(_gh.x,_gh.y,_gh.z,_gi);_2b=_cd;if(_ce){_2a=(_bw>0.0h);_2b=_2a;}_2e=_ge;_2f=_gb;if(_2b){let _gk=min(_gb.xyz,_gf);_2c=vec4h(_gk.x,_gk.y,_gk.z,_g9);let _gl=max(_ge.xyz,_gf);_2d=vec4h(_gl.x,_gl.y,_gl.z,_gc);_2e=_2d;_2f=_2c;}let _gm=min(_2f.w,_bw);var _gn=_2f;_gn.w=_gm;let _go=_gn;let _gp=max(_2e.w,_bw);var _gq=_2e;_gq.w=_gp;let _gr=_gq;let _gs=_bz.xyz;let _gt=select(1.0h,_by,_f);let _gu=(_gj.xyz+(_gs*_gt));let _gv=(_gi+_by);let _gw=vec4h(_gu.x,_gu.y,_gu.z,_gv);_2h=_cd;if(_ce){_2g=(_by>0.0h);_2h=_2g;}_2k=_gr;_2l=_go;if(_2h){let _gx=min(_go.xyz,_gs);_2i=vec4h(_gx.x,_gx.y,_gx.z,_gm);let _gy=max(_gr.xyz,_gs);_2j=vec4h(_gy.x,_gy.y,_gy.z,_gp);_2k=_2j;_2l=_2i;}let _gz=min(_2l.w,_by);var _h0=_2l;_h0.w=_gz;let _h1=_h0;let _h2=max(_2k.w,_by);var _h3=_2k;_h3.w=_h2;let _h4=_h3;let _h5=_c1.xyz;let _h6=select(1.0h,_c0,_f);let _h7=(_gw.xyz+(_h5*_h6));let _h8=(_gv+_c0);let _h9=vec4h(_h7.x,_h7.y,_h7.z,_h8);_2n=_cd;if(_ce){_2m=(_c0>0.0h);_2n=_2m;}_2q=_h4;_2r=_h1;if(_2n){let _ha=min(_h1.xyz,_h5);_2o=vec4h(_ha.x,_ha.y,_ha.z,_gz);let _hb=max(_h4.xyz,_h5);_2p=vec4h(_hb.x,_hb.y,_hb.z,_h2);_2q=_2p;_2r=_2o;}let _hc=min(_2r.w,_c0);var _hd=_2r;_hd.w=_hc;let _he=_hd;let _hf=max(_2q.w,_c0);var _hg=_2q;_hg.w=_hf;let _hh=_hg;let _hi=_c3.xyz;let _hj=select(1.0h,_c2,_f);let _hk=(_h9.xyz+(_hi*_hj));let _hl=(_h8+_c2);let _hm=vec4h(_hk.x,_hk.y,_hk.z,_hl);_2t=_cd;if(_ce){_2s=(_c2>0.0h);_2t=_2s;}_2w=_hh;_2x=_he;if(_2t){let _hn=min(_he.xyz,_hi);_2u=vec4h(_hn.x,_hn.y,_hn.z,_hc);let _ho=max(_hh.xyz,_hi);_2v=vec4h(_ho.x,_ho.y,_ho.z,_hf);_2w=_2v;_2x=_2u;}var _hp:vec4h;var _hq:vec4h;_31=_2w;_32=_2x;_33=_hm;if(_f){if((_hl==0.0h)){let _hr=(_hm.xyz*0.0625h);_hp=vec4h(_hr.x,_hr.y,_hr.z,0.0h);_2y=_hp;_2z=_hp;_30=_hm;}else{let _hs=(_hm.xyz*(16.0h/_hl));var _ht=_hm;_ht.x=_hs.x;let _hu=_ht;var _hv=_hu;_hv.y=_hs.y;_hq=_hv;_hq.z=_hs.z;_2y=_2w;_2z=_2x;_30=_hq;}_31=_2y;_32=_2z;_33=_30;}let _hw=((_b9*16.0h)-_33);let _hx=(_hw.xyz*select(1.0h,_b8,_f));let _hy=_hx.x;let _hz=_hx.y;let _i0=_hx.z;let _i1=_hw.w;let _i2=((_bb*16.0h)-_33);let _i3=(_i2.xyz*_c8);let _i4=_i3.x;let _i5=_i3.y;let _i6=_i3.z;let _i7=_i2.w;let _i8=((_bd*16.0h)-_33);let _i9=(_i8.xyz*_cu);let _ia=_i9.x;let _ib=_i9.y;let _ic=_i9.z;let _id=_i8.w;let _ie=((_bf*16.0h)-_33);let _if=(_ie.xyz*_d7);let _ig=_if.x;let _ih=_if.y;let _ii=_if.z;let _ij=_ie.w;let _ik=((_bh*16.0h)-_33);let _il=(_ik.xyz*_dk);let _im=_il.x;let _in=_il.y;let _io=_il.z;let _ip=_ik.w;let _iq=((_bj*16.0h)-_33);let _ir=(_iq.xyz*_dx);let _is=_ir.x;let _it=_ir.y;let _iu=_ir.z;let _iv=_iq.w;let _iw=((_bl*16.0h)-_33);let _ix=(_iw.xyz*_ea);let _iy=_ix.x;let _iz=_ix.y;let _j0=_ix.z;let _j1=_iw.w;let _j2=((_bn*16.0h)-_33);let _j3=(_j2.xyz*_en);let _j4=_j3.x;let _j5=_j3.y;let _j6=_j3.z;let _j7=_j2.w;let _j8=((_bp*16.0h)-_33);let _j9=(_j8.xyz*_f0);let _ja=_j9.x;let _jb=_j9.y;let _jc=_j9.z;let _jd=_j8.w;let _je=((_br*16.0h)-_33);let _jf=(_je.xyz*_fd);let _jg=_jf.x;let _jh=_jf.y;let _ji=_jf.z;let _jj=_je.w;let _jk=((_bt*16.0h)-_33);let _jl=(_jk.xyz*_fq);let _jm=_jl.x;let _jn=_jl.y;let _jo=_jl.z;let _jp=_jk.w;let _jq=((_bv*16.0h)-_33);let _jr=(_jq.xyz*_g3);let _js=_jr.x;let _jt=_jr.y;let _ju=_jr.z;let _jv=_jq.w;let _jw=((_bx*16.0h)-_33);let _jx=(_jw.xyz*_gg);let _jy=_jx.x;let _jz=_jx.y;let _k0=_jx.z;let _k1=_jw.w;let _k2=((_bz*16.0h)-_33);let _k3=(_k2.xyz*_gt);let _k4=_k3.x;let _k5=_k3.y;let _k6=_k3.z;let _k7=_k2.w;let _k8=((_c1*16.0h)-_33);let _k9=(_k8.xyz*_h6);let _ka=_k9.x;let _kb=_k9.y;let _kc=_k9.z;let _kd=_k8.w;let _ke=((_c3*16.0h)-_33);let _kf=(_ke.xyz*_hj);let _kg=_kf.x;let _kh=_kf.y;let _ki=_kf.z;let _kj=((((((((((((((((_hy*_hy)+(_i4*_i4))+(_ia*_ia))+(_ig*_ig))+(_im*_im))+(_is*_is))+(_iy*_iy))+(_j4*_j4))+(_ja*_ja))+(_jg*_jg))+(_jm*_jm))+(_js*_js))+(_jy*_jy))+(_k4*_k4))+(_ka*_ka))+(_kg*_kg));let _kk=_ke.w;let _kl=((((((((((((((((_hz*_hz)+(_i5*_i5))+(_ib*_ib))+(_ih*_ih))+(_in*_in))+(_it*_it))+(_iz*_iz))+(_j5*_j5))+(_jb*_jb))+(_jh*_jh))+(_jn*_jn))+(_jt*_jt))+(_jz*_jz))+(_k5*_k5))+(_kb*_kb))+(_kh*_kh));let _km=((((((((((((((((_i0*_i0)+(_i6*_i6))+(_ic*_ic))+(_ii*_ii))+(_io*_io))+(_iu*_iu))+(_j0*_j0))+(_j6*_j6))+(_jc*_jc))+(_ji*_ji))+(_jo*_jo))+(_ju*_ju))+(_k0*_k0))+(_k6*_k6))+(_kc*_kc))+(_ki*_ki));let _kn=((((((((((((((((_i1*_i1)+(_i7*_i7))+(_id*_id))+(_ij*_ij))+(_ip*_ip))+(_iv*_iv))+(_j1*_j1))+(_j7*_j7))+(_jd*_jd))+(_jj*_jj))+(_jp*_jp))+(_jv*_jv))+(_k1*_k1))+(_k7*_k7))+(_kd*_kd))+(_kk*_kk));let _ko=select(1.0h,0.015625h,(max(max(_kj,_kl),max(_km,_kn))>64.0h));let _kp=(_kj*_ko);let _kq=(((((((((((((((((_hy*_hz)+(_i4*_i5))+(_ia*_ib))+(_ig*_ih))+(_im*_in))+(_is*_it))+(_iy*_iz))+(_j4*_j5))+(_ja*_jb))+(_jg*_jh))+(_jm*_jn))+(_js*_jt))+(_jy*_jz))+(_k4*_k5))+(_ka*_kb))+(_kg*_kh))*_ko);let _kr=(((((((((((((((((_hy*_i0)+(_i4*_i6))+(_ia*_ic))+(_ig*_ii))+(_im*_io))+(_is*_iu))+(_iy*_j0))+(_j4*_j6))+(_ja*_jc))+(_jg*_ji))+(_jm*_jo))+(_js*_ju))+(_jy*_k0))+(_k4*_k6))+(_ka*_kc))+(_kg*_ki))*_ko);let _ks=(((((((((((((((((_hy*_i1)+(_i4*_i7))+(_ia*_id))+(_ig*_ij))+(_im*_ip))+(_is*_iv))+(_iy*_j1))+(_j4*_j7))+(_ja*_jd))+(_jg*_jj))+(_jm*_jp))+(_js*_jv))+(_jy*_k1))+(_k4*_k7))+(_ka*_kd))+(_kg*_kk))*_ko);let _kt=(_kl*_ko);let _ku=(((((((((((((((((_hz*_i0)+(_i5*_i6))+(_ib*_ic))+(_ih*_ii))+(_in*_io))+(_it*_iu))+(_iz*_j0))+(_j5*_j6))+(_jb*_jc))+(_jh*_ji))+(_jn*_jo))+(_jt*_ju))+(_jz*_k0))+(_k5*_k6))+(_kb*_kc))+(_kh*_ki))*_ko);let _kv=(((((((((((((((((_hz*_i1)+(_i5*_i7))+(_ib*_id))+(_ih*_ij))+(_in*_ip))+(_it*_iv))+(_iz*_j1))+(_j5*_j7))+(_jb*_jd))+(_jh*_jj))+(_jn*_jp))+(_jt*_jv))+(_jz*_k1))+(_k5*_k7))+(_kb*_kd))+(_kh*_kk))*_ko);let _kw=(_km*_ko);let _kx=(((((((((((((((((_i0*_i1)+(_i6*_i7))+(_ic*_id))+(_ii*_ij))+(_io*_ip))+(_iu*_iv))+(_j0*_j1))+(_j6*_j7))+(_jc*_jd))+(_ji*_jj))+(_jo*_jp))+(_ju*_jv))+(_k0*_k1))+(_k6*_k7))+(_kc*_kd))+(_ki*_kk))*_ko);let _ky=(_kn*_ko);let _kz=(_kp+0.0001220703125h);let _l0=(_kt+0.0001220703125h);let _l1=(_kw+0.0001220703125h);let _l2=vec4h((vec4f(vec4h(_kz,_l0,_l1,_ky))*(1.0f/f32(max(max(_kz,_l0),max(_l1,_ky))))));let _l3=_l2.x;_35=_l3;if((_ks<0.0h)){_34=-(_l3);_35=_34;}let _l4=_l2.y;_37=_l4;if((_kv<0.0h)){_36=-(_l4);_37=_36;}let _l5=_l2.z;_39=_l5;if((_kx<0.0h)){_38=-(_l5);_39=_38;}var _l6:f16;var _l7:f16;var _l8:i32;var _l9:f16;var _la:vec4h;var _lb:vec4h;let _lc=_l2.w;let _ld=((((_35*_kp)+(_37*_kq))+(_39*_kr))+(_lc*_ks));let _le=((((_35*_kq)+(_37*_kt))+(_39*_ku))+(_lc*_kv));let _lf=((((_35*_kr)+(_37*_ku))+(_39*_kw))+(_lc*_kx));let _lg=((((_35*_ks)+(_37*_kv))+(_39*_kx))+(_lc*_ky));let _lh=max(max(abs(_ld),abs(_le)),max(abs(_lf),abs(_lg)));let _li=vec4h((vec4f(f32(_ld),f32(_le),f32(_lf),f32(_lg))*(1.0f/f32(select(_lh,1.0h,(_lh==0.0h))))));let _lj=_li.x;let _lk=_li.y;let _ll=_li.z;let _lm=_li.w;let _ln=((((_lj*_kp)+(_lk*_kq))+(_ll*_kr))+(_lm*_ks));let _lo=((((_lj*_kq)+(_lk*_kt))+(_ll*_ku))+(_lm*_kv));let _lp=((((_lj*_kr)+(_lk*_ku))+(_ll*_kw))+(_lm*_kx));let _lq=((((_lj*_ks)+(_lk*_kv))+(_ll*_kx))+(_lm*_ky));let _lr=max(max(abs(_ln),abs(_lo)),max(abs(_lp),abs(_lq)));let _ls=(_lr==0.0h);let _lt=vec4h((vec4f(f32(_ln),f32(_lo),f32(_lp),f32(_lq))*(1.0f/f32(select(_lr,1.0h,_ls)))));let _lu=_lt.x;let _lv=_lt.y;let _lw=_lt.z;let _lx=_lt.w;let _ly=dot(_lt,_lt);_l6=f16((f32(dot(vec4h(((((_lu*_kp)+(_lv*_kq))+(_lw*_kr))+(_lx*_ks)),((((_lu*_kq)+(_lv*_kt))+(_lw*_ku))+(_lx*_kv)),((((_lu*_kr)+(_lv*_ku))+(_lw*_kw))+(_lx*_kx)),((((_lu*_ks)+(_lv*_kv))+(_lw*_kx))+(_lx*_ky))),_lt))*(1.0f/f32(select(_ly,1.0h,(_ly==0.0h))))));_l7=(((_kp+_kt)+_kw)+_ky);let _lz=select(_lt,_7,vec4<bool>(_ls));var _m0=_32;_m0.w=_c4;let _m1=_m0;var _m2=_31;_m2.w=_c5;let _m3=_m2;let _m4=(_33*0.0625h);let _m5=((_m2-_m1)*_8);_3f=0i;_3g=65504.0h;_3h=_7;_3i=_9;_3j=4i;if(_cd){var _m6:i32;let _m7=abs(_l6);_3a=select(select(4i,6i,((_l7-_m7)<(_ko*0.5h))),6i,((_m7/_l7)>0.974609375h));_3b=0i;_3c=65504.0h;_3d=_7;_3e=_9;if(_c6){let _m8=abs(((_kq+(select(1.0h,-1.0h,(_kq<0.0h))*0.0078125h))*inverseSqrt(((_kp*_kt)+0.00006103515625h))));let _m9=abs(((_kr+(select(1.0h,-1.0h,(_kr<0.0h))*0.0078125h))*inverseSqrt(((_kp*_kw)+0.00006103515625h))));let _ma=abs(((_ku+(select(1.0h,-1.0h,(_ku<0.0h))*0.0078125h))*inverseSqrt(((_kt*_kw)+0.00006103515625h))));if((_ma>max(_m8,_m9))){_l8=1i;}else{_m6=select(3i,2i,(_m9>_m8));_l8=_m6;}let _mb=_m5.x;let _mc=_m5.y;let _md=(_mb+_mc);let _me=_m5.z;_l9=((((_md+_me)*0.0625h)+0.01171875h)+(1.0h*(((_md*(1.0h-_m8))+((_mb+_me)*(1.0h-_m9)))+((_mc+_me)*(1.0h-_ma)))));_la=vec4h(select(0.0h,1.0h,(_l8==1i)),select(0.0h,1.0h,(_l8==2i)),select(0.0h,1.0h,(_l8==3i)),0.0h);_lb=(_a-_la);_3b=_l8;_3c=_l9;_3d=_lb;_3e=_la;}_3f=_3b;_3g=_3c;_3h=_3d;_3i=_3e;_3j=_3a;}let _mf=(_3j==4i);_3l=_m5;if(_mf){_3k=_m5;_3k.w=(_m5.w*1.5h);_3l=_3k;}let _mg=dot(_3i,_3l);let _mh=dot(_3h,_3l);let _mi=select(_3j,6i,(_3g<((min(((_mg*0.5h)+_mh),((_mh*0.5h)+_mg))*0.25h)+0.03125h)));let _mj=(_mi==4i);if(_mj){_3m=select(0i,1i,(_mg<_mh));_3n=(_m4*_3h);_3o=(_m1*_3i);_3p=(_m3*_3i);let _mk=_3h.x;_3q=(_kp*_mk);let _ml=_3h.y;_3r=((_kq*_mk)*_ml);_3s=(_kt*_ml);let _mm=_3h.z;_3t=((_kr*_mk)*_mm);_3u=((_ku*_ml)*_mm);_3v=(_kw*_mm);let _mn=_3h.w;_3w=((_ks*_mk)*_mn);_3x=((_kv*_ml)*_mn);_3y=((_kx*_mm)*_mn);_3z=(_ky*_mn);_40=_3m;_41=_3i;_42=_3p;_43=_3o;_44=_3n;_45=_3q;_46=_3r;_47=_3t;_48=_3w;_49=_3s;_4a=_3u;_4b=_3x;_4c=_3v;_4d=_3y;_4e=_3z;}else{_40=0i;_41=vec4h();_42=vec4h();_43=vec4h();_44=_m4;_45=_kp;_46=_kq;_47=_kr;_48=_ks;_49=_kt;_4a=_ku;_4b=_kv;_4c=_kw;_4d=_kx;_4e=_ky;}let _mo=_lz.x;let _mp=_lz.y;let _mq=_lz.z;let _mr=_lz.w;let _ms=((((_mo*_45)+(_mp*_46))+(_mq*_47))+(_mr*_48));let _mt=((((_mo*_46)+(_mp*_49))+(_mq*_4a))+(_mr*_4b));let _mu=((((_mo*_47)+(_mp*_4a))+(_mq*_4c))+(_mr*_4d));let _mv=((((_mo*_48)+(_mp*_4b))+(_mq*_4d))+(_mr*_4e));let _mw=max(max(abs(_ms),abs(_mt)),max(abs(_mu),abs(_mv)));let _mx=(_mw==0.0h);let _my=select(vec4h((vec4f(f32(_ms),f32(_mt),f32(_mu),f32(_mv))*(1.0f/f32(select(_mw,1.0h,_mx))))),_7,vec4<bool>(_mx));let _mz=(_my*_8);let _n0=(1.0h/dot(_mz,_mz));let _n1=((_mz*_n0)*_8);let _n2=dot(_b9,_n1);let _n3=!(_mf);let _n4=!(_n3);_4g=_n3;if(_n4){_4f=(f32(_b8)>0.0f);_4g=_4f;}_4l=-65504.0h;_4m=65504.0h;_4n=0u;_4o=0u;if(_4g){_4h=select(65504.0h,_n2,(_n2<65504.0h));_4i=select(-65504.0h,_n2,(_n2>-65504.0h));_4j=select(0u,1u,(_n2==_4h));_4k=select(0u,1u,(_n2==_4i));_4l=_4i;_4m=_4h;_4n=_4k;_4o=_4j;}let _n5=select(0u,1u,_4g);let _n6=dot(_bb,_n1);_4q=_n3;if(_n4){_4p=(f32(_ba)>0.0f);_4q=_4p;}_4w=_4l;_4x=_4m;_4y=_n5;_4z=_4n;_50=_4o;if(_4q){_4r=(_n5+bitcast<u32>(1i));let _n7=(_n6<_4m);let _n8=select(_4o,0u,_n7);_4s=select(_4m,_n6,_n7);let _n9=(_n6>_4l);let _na=select(_4n,0u,_n9);_4t=select(_4l,_n6,_n9);_4u=select(_n8,(_n8+1u),(_n6==_4s));_4v=select(_na,(_na+1u),(_n6==_4t));_4w=_4t;_4x=_4s;_4y=_4r;_4z=_4v;_50=_4u;}let _nb=dot(_bd,_n1);_52=_n3;if(_n4){_51=(f32(_bc)>0.0f);_52=_51;}_58=_4w;_59=_4x;_5a=_4y;_5b=_4z;_5c=_50;if(_52){_53=(_4y+bitcast<u32>(1i));let _nc=(_nb<_4x);let _nd=select(_50,0u,_nc);_54=select(_4x,_nb,_nc);let _ne=(_nb>_4w);let _nf=select(_4z,0u,_ne);_55=select(_4w,_nb,_ne);_56=select(_nd,(_nd+1u),(_nb==_54));_57=select(_nf,(_nf+1u),(_nb==_55));_58=_55;_59=_54;_5a=_53;_5b=_57;_5c=_56;}let _ng=dot(_bf,_n1);_5e=_n3;if(_n4){_5d=(f32(_be)>0.0f);_5e=_5d;}_5k=_58;_5l=_59;_5m=_5a;_5n=_5b;_5o=_5c;if(_5e){_5f=(_5a+bitcast<u32>(1i));let _nh=(_ng<_59);let _ni=select(_5c,0u,_nh);_5g=select(_59,_ng,_nh);let _nj=(_ng>_58);let _nk=select(_5b,0u,_nj);_5h=select(_58,_ng,_nj);_5i=select(_ni,(_ni+1u),(_ng==_5g));_5j=select(_nk,(_nk+1u),(_ng==_5h));_5k=_5h;_5l=_5g;_5m=_5f;_5n=_5j;_5o=_5i;}let _nl=dot(_bh,_n1);_5q=_n3;if(_n4){_5p=(f32(_bg)>0.0f);_5q=_5p;}_5w=_5k;_5x=_5l;_5y=_5m;_5z=_5n;_60=_5o;if(_5q){_5r=(_5m+bitcast<u32>(1i));let _nm=(_nl<_5l);let _nn=select(_5o,0u,_nm);_5s=select(_5l,_nl,_nm);let _no=(_nl>_5k);let _np=select(_5n,0u,_no);_5t=select(_5k,_nl,_no);_5u=select(_nn,(_nn+1u),(_nl==_5s));_5v=select(_np,(_np+1u),(_nl==_5t));_5w=_5t;_5x=_5s;_5y=_5r;_5z=_5v;_60=_5u;}let _nq=dot(_bj,_n1);_62=_n3;if(_n4){_61=(f32(_bi)>0.0f);_62=_61;}_68=_5w;_69=_5x;_6a=_5y;_6b=_5z;_6c=_60;if(_62){_63=(_5y+bitcast<u32>(1i));let _nr=(_nq<_5x);let _ns=select(_60,0u,_nr);_64=select(_5x,_nq,_nr);let _nt=(_nq>_5w);let _nu=select(_5z,0u,_nt);_65=select(_5w,_nq,_nt);_66=select(_ns,(_ns+1u),(_nq==_64));_67=select(_nu,(_nu+1u),(_nq==_65));_68=_65;_69=_64;_6a=_63;_6b=_67;_6c=_66;}let _nv=dot(_bl,_n1);_6e=_n3;if(_n4){_6d=(f32(_bk)>0.0f);_6e=_6d;}_6k=_68;_6l=_69;_6m=_6a;_6n=_6b;_6o=_6c;if(_6e){_6f=(_6a+bitcast<u32>(1i));let _nw=(_nv<_69);let _nx=select(_6c,0u,_nw);_6g=select(_69,_nv,_nw);let _ny=(_nv>_68);let _nz=select(_6b,0u,_ny);_6h=select(_68,_nv,_ny);_6i=select(_nx,(_nx+1u),(_nv==_6g));_6j=select(_nz,(_nz+1u),(_nv==_6h));_6k=_6h;_6l=_6g;_6m=_6f;_6n=_6j;_6o=_6i;}let _o0=dot(_bn,_n1);_6q=_n3;if(_n4){_6p=(f32(_bm)>0.0f);_6q=_6p;}_6w=_6k;_6x=_6l;_6y=_6m;_6z=_6n;_70=_6o;if(_6q){_6r=(_6m+bitcast<u32>(1i));let _o1=(_o0<_6l);let _o2=select(_6o,0u,_o1);_6s=select(_6l,_o0,_o1);let _o3=(_o0>_6k);let _o4=select(_6n,0u,_o3);_6t=select(_6k,_o0,_o3);_6u=select(_o2,(_o2+1u),(_o0==_6s));_6v=select(_o4,(_o4+1u),(_o0==_6t));_6w=_6t;_6x=_6s;_6y=_6r;_6z=_6v;_70=_6u;}let _o5=dot(_bp,_n1);_72=_n3;if(_n4){_71=(f32(_bo)>0.0f);_72=_71;}_78=_6w;_79=_6x;_7a=_6y;_7b=_6z;_7c=_70;if(_72){_73=(_6y+bitcast<u32>(1i));let _o6=(_o5<_6x);let _o7=select(_70,0u,_o6);_74=select(_6x,_o5,_o6);let _o8=(_o5>_6w);let _o9=select(_6z,0u,_o8);_75=select(_6w,_o5,_o8);_76=select(_o7,(_o7+1u),(_o5==_74));_77=select(_o9,(_o9+1u),(_o5==_75));_78=_75;_79=_74;_7a=_73;_7b=_77;_7c=_76;}let _oa=dot(_br,_n1);_7e=_n3;if(_n4){_7d=(f32(_bq)>0.0f);_7e=_7d;}_7k=_78;_7l=_79;_7m=_7a;_7n=_7b;_7o=_7c;if(_7e){_7f=(_7a+bitcast<u32>(1i));let _ob=(_oa<_79);let _oc=select(_7c,0u,_ob);_7g=select(_79,_oa,_ob);let _od=(_oa>_78);let _oe=select(_7b,0u,_od);_7h=select(_78,_oa,_od);_7i=select(_oc,(_oc+1u),(_oa==_7g));_7j=select(_oe,(_oe+1u),(_oa==_7h));_7k=_7h;_7l=_7g;_7m=_7f;_7n=_7j;_7o=_7i;}let _of=dot(_bt,_n1);_7q=_n3;if(_n4){_7p=(f32(_bs)>0.0f);_7q=_7p;}_7w=_7k;_7x=_7l;_7y=_7m;_7z=_7n;_80=_7o;if(_7q){_7r=(_7m+bitcast<u32>(1i));let _og=(_of<_7l);let _oh=select(_7o,0u,_og);_7s=select(_7l,_of,_og);let _oi=(_of>_7k);let _oj=select(_7n,0u,_oi);_7t=select(_7k,_of,_oi);_7u=select(_oh,(_oh+1u),(_of==_7s));_7v=select(_oj,(_oj+1u),(_of==_7t));_7w=_7t;_7x=_7s;_7y=_7r;_7z=_7v;_80=_7u;}let _ok=dot(_bv,_n1);_82=_n3;if(_n4){_81=(f32(_bu)>0.0f);_82=_81;}_88=_7w;_89=_7x;_8a=_7y;_8b=_7z;_8c=_80;if(_82){_83=(_7y+bitcast<u32>(1i));let _ol=(_ok<_7x);let _om=select(_80,0u,_ol);_84=select(_7x,_ok,_ol);let _on=(_ok>_7w);let _oo=select(_7z,0u,_on);_85=select(_7w,_ok,_on);_86=select(_om,(_om+1u),(_ok==_84));_87=select(_oo,(_oo+1u),(_ok==_85));_88=_85;_89=_84;_8a=_83;_8b=_87;_8c=_86;}let _op=dot(_bx,_n1);_8e=_n3;if(_n4){_8d=(f32(_bw)>0.0f);_8e=_8d;}_8k=_88;_8l=_89;_8m=_8a;_8n=_8b;_8o=_8c;if(_8e){_8f=(_8a+bitcast<u32>(1i));let _oq=(_op<_89);let _or=select(_8c,0u,_oq);_8g=select(_89,_op,_oq);let _os=(_op>_88);let _ot=select(_8b,0u,_os);_8h=select(_88,_op,_os);_8i=select(_or,(_or+1u),(_op==_8g));_8j=select(_ot,(_ot+1u),(_op==_8h));_8k=_8h;_8l=_8g;_8m=_8f;_8n=_8j;_8o=_8i;}let _ou=dot(_bz,_n1);_8q=_n3;if(_n4){_8p=(f32(_by)>0.0f);_8q=_8p;}_8w=_8k;_8x=_8l;_8y=_8m;_8z=_8n;_90=_8o;if(_8q){_8r=(_8m+bitcast<u32>(1i));let _ov=(_ou<_8l);let _ow=select(_8o,0u,_ov);_8s=select(_8l,_ou,_ov);let _ox=(_ou>_8k);let _oy=select(_8n,0u,_ox);_8t=select(_8k,_ou,_ox);_8u=select(_ow,(_ow+1u),(_ou==_8s));_8v=select(_oy,(_oy+1u),(_ou==_8t));_8w=_8t;_8x=_8s;_8y=_8r;_8z=_8v;_90=_8u;}let _oz=dot(_c1,_n1);_92=_n3;if(_n4){_91=(f32(_c0)>0.0f);_92=_91;}_98=_8w;_99=_8x;_9a=_8y;_9b=_8z;_9c=_90;if(_92){_93=(_8y+bitcast<u32>(1i));let _p0=(_oz<_8x);let _p1=select(_90,0u,_p0);_94=select(_8x,_oz,_p0);let _p2=(_oz>_8w);let _p3=select(_8z,0u,_p2);_95=select(_8w,_oz,_p2);_96=select(_p1,(_p1+1u),(_oz==_94));_97=select(_p3,(_p3+1u),(_oz==_95));_98=_95;_99=_94;_9a=_93;_9b=_97;_9c=_96;}let _p4=dot(_c3,_n1);_9e=_n3;if(_n4){_9d=(f32(_c2)>0.0f);_9e=_9d;}_9k=_98;_9l=_99;_9m=_9a;_9n=_9b;_9o=_9c;if(_9e){_9f=(_9a+bitcast<u32>(1i));let _p5=(_p4<_99);let _p6=select(_9c,0u,_p5);_9g=select(_99,_p4,_p5);let _p7=(_p4>_98);let _p8=select(_9b,0u,_p7);_9h=select(_98,_p4,_p7);_9i=select(_p6,(_p6+1u),(_p4==_9g));_9j=select(_p8,(_p8+1u),(_p4==_9h));_9k=_9h;_9l=_9g;_9m=_9f;_9n=_9j;_9o=_9i;}let _p9=clamp((f16((_9o+_9n))/f16(_9m)),0.0h,1.0h);let _pa=dot(_44,_n1);let _pb=(_9l-_pa);let _pc=(_9k-_pa);if(_mj){_9p=select(0.0625h,0.03125h,(_40!=0i));_9q=_9p;}else{_9q=0.015625h;}let _pd=(((_pc-_pb)*_9q)*(1.0h-_p9));let _pe=(_pb+_pd);let _pf=(_pc-_pd);let _pg=select(0.0078125h,0.03125h,_mj);let _ph=max(0.0h,(((((0.6357421875h*_pg)*_n0)+(0.36376953125h*_pg))-(_pf-_pe))*0.5h));let _pi=(_pe-_ph);let _pj=(_pf+_ph);let _pk=(dot((_42-_43),_41)*select(0.03125h,0.0625h,(_40!=0i)));let _pl=(_41.xyz*_pk);let _pm=(_43.xyz+_pl);let _pn=_pm.x;var _po=_43;_po.x=_pn;let _pp=_po;let _pq=_pm.y;var _pr=_pp;_pr.y=_pq;let _ps=_pr;let _pt=_pm.z;var _pu=_ps;_pu.z=_pt;let _pv=_pu;let _pw=(_42.xyz-_pl);let _px=_pw.x;var _py=_42;_py.x=_px;let _pz=_py;let _q0=_pw.y;var _q1=_pz;_q1.y=_q0;let _q2=_q1;let _q3=_pw.z;var _q4=_q2;_q4.z=_q3;let _q5=_q4;let _q6=_43.w;_9s=_pv;if((f32(_q6)>0.0f)){_9r=vec4h(_pn,_pq,_pt,(_q6+(_41.w*_pk)));_9s=_9r;}let _q7=_42.w;_9u=_q5;if((f32(_q7)<1.0f)){_9t=vec4h(_px,_q0,_q3,(_q7-(_41.w*_pk)));_9u=_9t;}let _q8=(clamp(((_my*_pi)+_44),vec4h(),_a)+_9s);let _q9=(clamp(((_my*_pj)+_44),vec4h(),_a)+_9u);let _qa=(_mi==6i);if(_qa){let _qb=(trunc((_q8*127.5h))*2.0h);let _qc=((_q8*255.0h)-_qb);let _qd=_q8.w;_9v=select(select(select(0u,1u,((((_qc.x+_qc.y)+_qc.z)+_qc.w)>=2.0h)),0u,(_qd==0.0h)),1u,(_qd==1.0h));_9w=(_qb+vec4h(f16(_9v)));let _qe=(trunc((_q9*127.5h))*2.0h);let _qf=((_q9*255.0h)-_qe);let _qg=_q9.w;_9x=select(select(select(0u,1u,((((_qf.x+_qf.y)+_qf.z)+_qf.w)>=2.0h)),0u,(_qg==0.0h)),1u,(_qg==1.0h));_9y=(_qe+vec4h(f16(_9x)));_a1=_9x;_a2=_9v;_a3=_9y;_a4=_9w;}else{let _qh=(_3f==1i);let _qi=_q8.x;let _qj=select(31.0h,63.0h,_qh);let _qk=select(8.25h,4.0625h,_qh);let _ql=(trunc((_qi*_qj))*_qk);let _qm=min(255.0h,trunc(_ql));let _qn=min(255.0h,trunc((_ql+_qk)));let _qo=(_3f==2i);let _qp=_q8.y;let _qq=select(31.0h,63.0h,_qo);let _qr=select(8.25h,4.0625h,_qo);let _qs=(trunc((_qp*_qq))*_qr);let _qt=min(255.0h,trunc(_qs));let _qu=min(255.0h,trunc((_qs+_qr)));let _qv=(_3f==3i);let _qw=_q8.z;let _qx=select(31.0h,63.0h,_qv);let _qy=select(8.25h,4.0625h,_qv);let _qz=(trunc((_qw*_qx))*_qy);let _r0=min(255.0h,trunc(_qz));let _r1=min(255.0h,trunc((_qz+_qy)));let _r2=(_3f==0i);let _r3=_q8.w;let _r4=select(31.0h,63.0h,_r2);let _r5=select(8.25h,4.0625h,_r2);let _r6=(trunc((_r3*_r4))*_r5);let _r7=min(255.0h,trunc(_r6));let _r8=min(255.0h,trunc((_r6+_r5)));_9z=vec4h(select(_qm,_qn,((255.0h*_qi)>(0.5h*(_qm+_qn)))),select(_qt,_qu,((255.0h*_qp)>(0.5h*(_qt+_qu)))),select(_r0,_r1,((255.0h*_qw)>(0.5h*(_r0+_r1)))),select(_r7,_r8,((255.0h*_r3)>(0.5h*(_r7+_r8)))));let _r9=_q9.x;let _ra=(trunc((_r9*_qj))*_qk);let _rb=min(255.0h,trunc(_ra));let _rc=min(255.0h,trunc((_ra+_qk)));let _rd=_q9.y;let _re=(trunc((_rd*_qq))*_qr);let _rf=min(255.0h,trunc(_re));let _rg=min(255.0h,trunc((_re+_qr)));let _rh=_q9.z;let _ri=(trunc((_rh*_qx))*_qy);let _rj=min(255.0h,trunc(_ri));let _rk=min(255.0h,trunc((_ri+_qy)));let _rl=_q9.w;let _rm=(trunc((_rl*_r4))*_r5);let _rn=min(255.0h,trunc(_rm));let _ro=min(255.0h,trunc((_rm+_r5)));_a0=vec4h(select(_rb,_rc,((255.0h*_r9)>(0.5h*(_rb+_rc)))),select(_rf,_rg,((255.0h*_rd)>(0.5h*(_rf+_rg)))),select(_rj,_rk,((255.0h*_rh)>(0.5h*(_rj+_rk)))),select(_rn,_ro,((255.0h*_rl)>(0.5h*(_rn+_ro)))));_a1=0u;_a2=0u;_a3=_a0;_a4=_9z;}let _rp=(_a3-_a4);if(_mj){_a5=vec4h(select(0.0h,1.0h,(_3f==1i)),select(0.0h,1.0h,(_3f==2i)),select(0.0h,1.0h,(_3f==3i)),select(0.0h,1.0h,(_3f==0i)));_a6=_a5;}else{_a6=vec4h();}let _rq=((_rp*(_a-_a6))*(_8*0.0039215087890625h));let _rr=((_rq*(1.0h/dot(_rq,_rq)))*_8);let _rs=(dot(_a4,_rr)*0.0039215087890625h);_aa=_rs;_ab=_rr;_ac=0u;if(_mj){let _rt=((_a6*dot(_rp,_a6))*0.0039215087890625h);let _ru=(_rt*(1.0h/dot(_rt,_rt)));let _rv=(dot(_a4,_ru)*0.0039215087890625h);let _rw=(_40==1i);let _rx=select(_rs,_rv,_rw);let _ry=vec4<bool>(_rw);let _rz=select(_rr,_ru,_ry);_a7=select(_rv,_rs,_rw);_a8=select(_ru,_rr,_ry);_a9=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_b9,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_bb,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_bd,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_bf,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_bh,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_bj,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_bl,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_bn,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_bp,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_br,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_bt,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_bv,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_bx,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_bz,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_c1,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_c3,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_aa=_a7;_ab=_a8;_ac=_a9;}let _s0=select(15.0h,7.0h,_mj);let _s1=select(4i,3i,_mj);let _s2=(_s1*2i);let _s3=(_s1*3i);let _s4=(_s1*4i);let _s5=(_s1*5i);let _s6=(_s1*6i);let _s7=(_s1*7i);let _s8=((((((((0u|(u32(((_s0*clamp((dot(_b9,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_s0*clamp((dot(_bb,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s1)))|(u32(((_s0*clamp((dot(_bd,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s2)))|(u32(((_s0*clamp((dot(_bf,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s3)))|(u32(((_s0*clamp((dot(_bh,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s4)))|(u32(((_s0*clamp((dot(_bj,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s5)))|(u32(((_s0*clamp((dot(_bl,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s6)))|(u32(((_s0*clamp((dot(_bn,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s7)));let _s9=((((((((0u|(u32(((_s0*clamp((dot(_bp,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_s0*clamp((dot(_br,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s1)))|(u32(((_s0*clamp((dot(_bt,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s2)))|(u32(((_s0*clamp((dot(_bv,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s3)))|(u32(((_s0*clamp((dot(_bx,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s4)))|(u32(((_s0*clamp((dot(_bz,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s5)))|(u32(((_s0*clamp((dot(_c1,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s6)))|(u32(((_s0*clamp((dot(_c3,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s7)));if(_mj){_ad=(_s8|(_s9<<bitcast<u32>(24i)));_ae=(_s9>>bitcast<u32>(8i));_af=_ae;_ag=_ad;}else{_af=_s9;_ag=_s9;}var _sa:u32;var _sb:vec3u;var _sc:vec2u;var _sd:vec2u;var _se:u32;var _sf:u32;var _sg:u32;var _sh:u32;var _si:vec3u;var _sj:u32;var _sk:u32;var _sl:u32;var _sm:u32;var _sn:vec3u;var _so:u32;var _sp:u32;var _sq:u32;var _sr:u32;var _ss:vec3u;var _st:u32;var _su:u32;var _sv:u32;var _sw:u32;var _sx:vec3u;_sa=select(_s8,_ac,_mj);_sb=vec3u(_sa,_ag,_af);let _sy=(0u|((1u<<bitcast<u32>(_mi))<<0u));if(_qa){let _sz=((_sa&8u)!=0u);_sd=_sb.xy;if(_sz){_sc=vec2u(~(_sa),~(_ag));_sd=_sc;}let _t0=vec4<bool>(_sz);let _t1=select(_a3,_a4,_t0);let _t2=select(_a4,_a3,_t0);let _t3=_sd.x;let _t4=(((_t3&7u)<<bitcast<u32>(1i))|(_t3&4294967280u));let _t5=(u32(_t1.y)>>bitcast<u32>(1i));_ah=vec4u(((((_sy|((u32(_t2.x)>>bitcast<u32>(1i))<<7u))|((u32(_t1.x)>>bitcast<u32>(1i))<<14u))|((u32(_t2.y)>>bitcast<u32>(1i))<<21u))|(_t5<<28u)),((((((0u|(_t5>>4u))|((u32(_t2.z)>>bitcast<u32>(1i))<<3u))|((u32(_t1.z)>>bitcast<u32>(1i))<<10u))|((u32(_t2.w)>>bitcast<u32>(1i))<<17u))|((u32(_t1.w)>>bitcast<u32>(1i))<<24u))|(_a2<<31u)),_t4,_sd.y);_ah.z=(_t4|_a1);_aj=_ah;}else{let _t6=vec4h(select(0.0h,1.0h,(_3f==1i)),select(0.0h,1.0h,(_3f==2i)),select(0.0h,1.0h,(_3f==3i)),select(0.0h,1.0h,(_3f==0i)));let _t7=(_a-_t6);let _t8=(u32(dot(_a4,_t6))>>bitcast<u32>(2i));let _t9=(u32(dot(_a3,_t6))>>bitcast<u32>(2i));let _ta=((_a4*_t7)+(_t6*_a4.w));let _tb=((_a3*_t7)+(_t6*_ta.w));let _tc=(((u32(_ta.x)>>bitcast<u32>(3i))|((u32(_ta.y)&248u)<<bitcast<u32>(7i)))|((u32(_ta.z)&248u)<<bitcast<u32>(17i)));let _td=(((u32(_tb.x)>>bitcast<u32>(3i))|((u32(_tb.y)&248u)<<bitcast<u32>(7i)))|((u32(_tb.z)&248u)<<bitcast<u32>(17i)));_sj=5u;_sk=0u;_sl=6u;_sm=0u;_sn=_sb;if(((_sa&2u)!=0u)){let _te=(_40==0i);_se=select(5u,0u,_te);_sf=select(0u,5u,_te);_sg=select(0u,6u,_te);_sh=select(6u,0u,_te);_si=_sb;_si.x=~(_sa);_sj=_se;_sk=_sf;_sl=_sg;_sm=_sh;_sn=_si;}let _tf=_sn.x;let _tg=(((_tf&1u)+(_tf&4294967293u))>>bitcast<u32>(1i));var _th=_sn;_th.x=_tg;let _ti=_th;let _tj=_sn.y;_st=_sj;_su=_sk;_sv=_sl;_sw=_sm;_sx=_ti;if(((_tj&4u)!=0u)){let _tk=(_40==1i);_so=select(_sj,0u,_tk);_sp=select(_sk,5u,_tk);_sq=select(0u,_sl,_tk);_sr=select(6u,_sm,_tk);_ss=vec3u(_tg,~(_tj),(_sn.z^65535u));_st=_so;_su=_sp;_sv=_sq;_sw=_sr;_sx=_ss;}let _tl=_sx.y;let _tm=_sx.z;let _tn=((((_tl&3u)+(_tl&4294967291u))>>bitcast<u32>(1i))|(_tm<<bitcast<u32>(31i)));let _to=((_tc<<_su)|(_td<<_st));let _tp=_sx.x;let _tq=(0u|(_tn>>15u));_ai=vec4u(((((_sy&4294967071u)|(bitcast<u32>(_3f)<<5u))|(bitcast<u32>(_40)<<7u))|(_to<<8u)),(((0u|(_to>>24u))|(((_t8<<_sw)|(_t9<<_sv))<<6u))|(_tp<<18u)),((0u|(_tp>>14u))|(_tn<<17u)),_tq);_ai.w=(_tq|((_tm>>bitcast<u32>(1i))<<17u));_aj=_ai;}x_3464._0[((_am.y*((_al+15u)&4294967280u))+_ao)]=_aj;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _tr:vec3u,@builtin(local_invocation_id) _ts:vec3u,@builtin(workgroup_id) _tt:vec3u){x_3369=_tr;x_3375=_ts;_b();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_bc7_rgba as default
|
|
4
|
-
};
|