blob: 53d5f6abf3f120f334d8991bb1de95add9333c92 [file]
<!-- webkit-test-runner [ enableMetalShaderValidation=true ] -->
<style>
:root { background: #102030e0; color: #99ddbbcc; font-size: 15px; }
</style>
<script id="shared">
const log = console.log;
async function gc() {
await 0;
if (globalThis.GCController) {
globalThis.GCController.collect();
} else if (globalThis.$vm) {
globalThis.$vm.gc();
} else {
log('no GC available');
}
}
/**
* @template {any} T
* @param {GPUDevice} device
* @param {string} label
/**
* @returns {Promise<string>}
*/
async function makeDataUrl(width, height, color0, color1) {
let offscreenCanvas = new OffscreenCanvas(width, height);
let ctx = offscreenCanvas.getContext('2d');
let gradient = ctx.createLinearGradient(0, 0, width, height);
let blob = await offscreenCanvas.convertToBlob();
let fileReader = new FileReader();
fileReader.readAsDataURL(blob);
return new Promise(resolve => {
fileReader.onload = () => {
resolve(fileReader.result);
};
});
}
async function imageWithData(width, height, color0, color1) {
let dataUrl = await makeDataUrl(width, height, color0, color1);
let img = document.createElement('img');
img.src = dataUrl;
await img.decode();
return img;
}
/**
* @param {string} payload
* @returns {string}
*/
function toBlobUrl(payload) {
let blob = new Blob([payload], {type: 'text/javascript'});
return URL.createObjectURL(blob);
}
</script>
<script>
globalThis.testRunner?.dumpAsText();
globalThis.testRunner?.waitUntilDone();
async function window0() {
let adapter0 = await navigator.gpu.requestAdapter();
// START
let device0 = await adapter0.requestDevice({
defaultQueue: {},
requiredFeatures: [
'depth-clip-control',
'depth32float-stencil8',
'texture-compression-etc2',
'indirect-first-instance',
'shader-f16',
'rg11b10ufloat-renderable',
'bgra8unorm-storage',
],
requiredLimits: {
maxSamplersPerShaderStage: 16,
},
});
let querySet0 = device0.createQuerySet({type: 'occlusion', count: 783});
let texture0 = device0.createTexture({
size: {width: 410, height: 1, depthOrArrayLayers: 21},
mipLevelCount: 2,
dimension: '3d',
format: 'bgra8unorm-srgb',
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.COPY_SRC | GPUTextureUsage.TEXTURE_BINDING,
viewFormats: ['bgra8unorm-srgb'],
});
try {
device0.pushErrorScope('internal');
} catch {}
try {
device0.queue.writeTexture({
texture: texture0,
mipLevel: 1,
origin: {x: 10, y: 0, z: 2},
aspect: 'all',
}, new Uint8Array(140).fill(52), /* required buffer size: 140 */
{offset: 140}, {width: 25, height: 0, depthOrArrayLayers: 1});
} catch {}
let offscreenCanvas0 = new OffscreenCanvas(143, 17);
let veryExplicitBindGroupLayout0 = device0.createBindGroupLayout({
entries: [
{
binding: 90,
visibility: GPUShaderStage.FRAGMENT,
buffer: { type: 'uniform', hasDynamicOffset: false },
},
],
});
let sampler0 = device0.createSampler({addressModeV: 'mirror-repeat', addressModeW: 'mirror-repeat', lodMinClamp: 12.33});
let veryExplicitBindGroupLayout1 = device0.createBindGroupLayout({
entries: [
{
binding: 90,
visibility: GPUShaderStage.FRAGMENT,
buffer: { type: 'uniform', hasDynamicOffset: false },
},
],
});
let texture1 = device0.createTexture({
size: {width: 56, height: 5, depthOrArrayLayers: 12},
dimension: '3d',
format: 'r16sint',
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
viewFormats: [],
});
let gpuCanvasContext0 = offscreenCanvas0.getContext('webgpu');
let textureView0 = texture1.createView({});
let texture2 = device0.createTexture({
size: {width: 1640, height: 1, depthOrArrayLayers: 1},
mipLevelCount: 5,
format: 'rgba16sint',
usage: GPUTextureUsage.TEXTURE_BINDING,
});
let textureView1 = texture0.createView({mipLevelCount: 1});
let promise0 = device0.queue.onSubmittedWorkDone();
let textureView2 = texture2.createView({dimension: '2d-array', format: 'rgba16sint', mipLevelCount: 1});
let veryExplicitBindGroupLayout2 = device0.createBindGroupLayout({
entries: [
{
binding: 90,
visibility: GPUShaderStage.FRAGMENT,
buffer: { type: 'uniform', hasDynamicOffset: false },
},
],
});
let buffer0 = device0.createBuffer({
size: 12720,
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.INDEX | GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.STORAGE | GPUBufferUsage.VERTEX,
});
try {
buffer0.unmap();
} catch {}
let textureView3 = texture0.createView({format: 'bgra8unorm-srgb', mipLevelCount: 1});
let sampler2 = device0.createSampler({
maxAnisotropy: 1,
});
let videoFrame0 = new VideoFrame(offscreenCanvas0, {timestamp: 0});
let pipelineLayout0 = device0.createPipelineLayout({bindGroupLayouts: [veryExplicitBindGroupLayout1]});
let buffer1 = device0.createBuffer({
size: 2604,
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.INDIRECT | GPUBufferUsage.UNIFORM | GPUBufferUsage.VERTEX,
});
let textureView4 = texture0.createView({mipLevelCount: 1});
try {
device0.queue.writeTexture({
texture: texture0,
mipLevel: 0,
origin: {x: 100, y: 0, z: 1},
aspect: 'all',
}, new Uint8Array(73).fill(62), /* required buffer size: 73 */
{offset: 73}, {width: 31, height: 0, depthOrArrayLayers: 1});
} catch {}
try {
await device0.queue.onSubmittedWorkDone();
} catch {}
let pipelineLayout1 = device0.createPipelineLayout({bindGroupLayouts: [veryExplicitBindGroupLayout2, veryExplicitBindGroupLayout1]});
let buffer2 = device0.createBuffer({size: 3387, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ});
let commandEncoder0 = device0.createCommandEncoder();
let texture3 = device0.createTexture({
size: {width: 2, height: 2, depthOrArrayLayers: 1},
format: 'rgba16sint',
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.COPY_SRC | GPUTextureUsage.RENDER_ATTACHMENT,
viewFormats: [],
});
let texture4 = device0.createTexture({
size: {width: 2},
dimension: '1d',
format: 'rgba16sint',
usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.TEXTURE_BINDING,
});
let computePassEncoder0 = commandEncoder0.beginComputePass({});
let externalTexture0 = device0.importExternalTexture({source: videoFrame0});
try {
buffer2.unmap();
} catch {}
let texture5 = device0.createTexture({
size: {width: 224, height: 20, depthOrArrayLayers: 42},
mipLevelCount: 2,
format: 'rgba16sint',
usage: GPUTextureUsage.TEXTURE_BINDING,
viewFormats: [],
});
let sampler4 = device0.createSampler({
addressModeU: 'mirror-repeat',
addressModeV: 'mirror-repeat',
addressModeW: 'mirror-repeat',
lodMaxClamp: 72.14,
});
let textureView6 = texture3.createView({dimension: '2d-array'});
let veryExplicitBindGroupLayout3 = device0.createBindGroupLayout({
entries: [
{
binding: 90,
visibility: GPUShaderStage.FRAGMENT,
buffer: { type: 'uniform', hasDynamicOffset: false },
},
],
});
let pipelineLayout2 = device0.createPipelineLayout({bindGroupLayouts: [veryExplicitBindGroupLayout0]});
let buffer3 = device0.createBuffer({
label: '\u3900\u6925',
size: 597,
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC | GPUBufferUsage.INDIRECT | GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.UNIFORM,
});
try {
device0.lost.then(({reason, message}) => { console.log('device0 lost!'); console.log(message, reason); });
} catch {}
try {
computePassEncoder0.pushDebugGroup('\ud040');
} catch {}
try {
gpuCanvasContext0.configure({
device: device0,
format: 'rgba16float',
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING,
colorSpace: 'display-p3',
alphaMode: 'opaque',
});
} catch {}
let textureView7 = texture3.createView({label: '\u75ed\u16af', format: 'rgba16sint'});
let buffer4 = device0.createBuffer({
size: 17893,
usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.INDEX | GPUBufferUsage.UNIFORM | GPUBufferUsage.VERTEX,
});
let textureView8 = texture3.createView({dimension: '2d-array'});
let texture6 = device0.createTexture({
size: {width: 112, height: 10, depthOrArrayLayers: 122},
format: 'rgba16sint',
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING,
});
let textureView9 = texture0.createView({mipLevelCount: 1, baseArrayLayer: 0});
let sampler5 = device0.createSampler({
});
try {
device0.lost.then(r => { console.log('device0 lost!'); console.log(r.message, r.reason); });
} catch {}
try {
computePassEncoder0.popDebugGroup();
} catch {}
try {
gpuCanvasContext0.configure({
device: device0,
format: 'bgra8unorm',
usage: GPUTextureUsage.COPY_SRC,
origin: {x: 13, y: 0, z: 0},
aspect: 'all',
}, new Uint8Array(110).fill(177), /* required buffer size: 110 */
{offset: 110}, {width: 88, height: 1, depthOrArrayLayers: 0});
} catch {}
let promise1 = device0.queue.onSubmittedWorkDone();
await gc();
// START
shaderModule4 = device0.createShaderModule({
code: `
requires unrestricted_pointer_parameters;
override override6: bool;
var<workgroup> vw10: array<VertexOutput5, 9>;
var<workgroup> vw13: array<atomic<i32>, 1>;
override override5: bool;
fn unconst_f32(v: f32) -> f32 { return v; }
override override4: u32 = 304;
@group(0) @binding(3) var tex4: texture_2d_array<f32>;
var<workgroup> vw17: atomic<u32>;
struct FragmentOutput3 {
@location(1) @interpolate(flat) f0: vec2u,
@location(3) @interpolate(flat) f1: vec2i,
@location(0) f2: vec4u,
}
fn unconst_bool(v: bool) -> bool { return v; }
var<workgroup> vw11: VertexOutput6;
var<workgroup> vw23: array<VertexOutput5, 1>;
override override7: f16;
var<workgroup> vw15: mat3x3f;
var<private> vp6 = modf(vec2h(7501.5, 8880.6));
var<workgroup> vw21: array<VertexOutput6, 1>;
var<workgroup> vw14: mat4x2h;
var<workgroup> vw19: atomic<u32>;
var<workgroup> vw20: FragmentOutput3;
fn unconst_u32(v: u32) -> u32 { return v; }
var<workgroup> vw18: VertexOutput6;
struct VertexOutput5 {
@builtin(position) f18: vec4f,
}
var<workgroup> vw22: FragmentOutput3;
var<workgroup> vw9: array<atomic<u32>, 1>;
var<private> vp7: f32 = f32(0.5703);
fn unconst_f16(v: f16) -> f16 { return v; }
fn unconst_i32(v: i32) -> i32 { return v; }
struct VertexOutput6 {
@builtin(position) f19: vec4f,
}
/* used global variables: tex4 */
fn fn1() -> array<array<array<VertexOutput5, 1>, 1>, 1> {
var out: array<array<array<VertexOutput5, 1>, 1>, 1>;
vp6 = modf(vp6.whole);
let ptr53: ptr<private, f32> = &vp7;
vp6.fract *= acosh(vec4h(unconst_f16(32233.0), unconst_f16(-7286.8), unconst_f16(3956.5), unconst_f16(-12495.1))).ga;
var vf229: f32 = radians(unconst_f32(0.3399));
vf229 *= f32(pack4xU8(vec4u(unconst_u32(124), unconst_u32(347), unconst_u32(216), unconst_u32(201))));
vp7 = distance(vec2f(unconst_f32(0.09558), unconst_f32(0.1859)), vec2f(unconst_f32(0.05671), unconst_f32(0.3030)));
var vf230: vec4u = firstLeadingBit(vec4u(unconst_u32(44), unconst_u32(97), unconst_u32(100), unconst_u32(324)));
loop {
let ptr54: ptr<private, vec2h> = &vp6.fract;
out[unconst_u32(149)][unconst_u32(72)][unconst_u32(439)] = VertexOutput5(vec4f(distance(vec4f(unconst_f32(0.1932), unconst_f32(0.2220), unconst_f32(0.1603), unconst_f32(0.01119)), vec4f(unconst_f32(0.02731), unconst_f32(0.3143), unconst_f32(-0.09525), unconst_f32(0.06028)))));
vp6 = modf(vec2h(f16((unconst_bool(true) || unconst_bool(false)))));
let ptr55 = &vp6;
for (var it10=bitcast<u32>(unpack2x16snorm(unconst_u32(186)).x); it10<bitcast<u32>(vp6.fract); it10++) {
out[unconst_u32(169)][unconst_u32(239)][bitcast<u32>((unconst_f16(20337.3) / vec2h( !vec4<bool>(unconst_bool(true), unconst_bool(false), unconst_bool(false), unconst_bool(false)).ba)))].f18 += textureLoad(tex4, vec2i(unconst_i32(146), unconst_i32(65)), unconst_i32(87), unconst_i32(75));
switch bitcast<i32>(asin(unconst_f32(0.1607))) {
default {
var vf231: u32 = countLeadingZeros(unconst_u32(116));
let vf232: vec3h = sinh(vec3h(unconst_f16(13180.0), unconst_f16(7047.2), unconst_f16(3455.9)));
let vf233: vec4h = mix(sinh(vec3h(unconst_f16(4136.3), unconst_f16(11064.5), unconst_f16(4772.9))).brgr, vec4h(unconst_f16(20499.1), unconst_f16(29366.2), unconst_f16(3115.0), unconst_f16(19935.6)), unconst_f16(642.7));
let vf234: bool = any(vec3<bool>(bool(select(unconst_u32(1), bitcast<u32>(asinh(vec3f(unconst_f32(0.2432), unconst_f32(-0.2404), unconst_f32(-0.4295))).y), unconst_bool(true)))));
let ptr56: ptr<function, u32> = &vf231;
let vf235: vec4f = reflect(vec4f(unconst_f32(0.1966), unconst_f32(0.1288), unconst_f32(0.2270), unconst_f32(-0.03969)), vec4f(unconst_f32(0.1720), unconst_f32(0.06189), unconst_f32(0.1258), unconst_f32(0.1722)));
return out;
}
}
out[unconst_u32(353)][u32(determinant(mat2x2f(unconst_f32(0.07349), unconst_f32(0.2193), unconst_f32(0.1876), unconst_f32(0.04078))))][unconst_u32(86)] = VertexOutput5(bitcast<vec4f>(insertBits(vec3i(unconst_i32(331), unconst_i32(41), unconst_i32(-49)), vec3i(unconst_i32(78), unconst_i32(6), unconst_i32(245)), unconst_u32(102), unconst_u32(137)).xyzx));
break;
_ = tex4;
}
var vf236: u32 = textureNumLevels(tex4);
vp7 -= vec2f(textureDimensions(tex4))[0];
var vf237: vec4f = textureLoad(tex4, vec2i(unconst_i32(109), unconst_i32(116)), unconst_i32(350), unconst_i32(76));
var vf238: vec2u = textureDimensions(tex4, unconst_i32(495));
if bool((*ptr55).fract[1]) {
vp7 += bitcast<vec2f>(textureDimensions(tex4, unconst_i32(12)))[0];
var vf239: vec4u = (unconst_u32(73) / vec4u(unconst_u32(49), unconst_u32(247), unconst_u32(81), unconst_u32(176)));
break;
}
break;
}
switch i32(textureLoad(tex4, vec2i(unconst_i32(7), unconst_i32(9)), unconst_i32(125), i32(dot4U8Packed(u32(override7), unconst_u32(220))))[0]) {
default {
var vf249: u32 = textureNumLevels(tex4);
switch i32(reflect(vec4f(unconst_f32(-0.3063), unconst_f32(0.4999), unconst_f32(0.06712), unconst_f32(0.01522)), vec4f(unconst_f32(0.4219), unconst_f32(0.2877), unconst_f32(0.03608), unconst_f32(0.2910))).r) {
default {
let vf250: vec4h = round(vec4h(unconst_f16(4631.8), unconst_f16(7730.3), unconst_f16(16514.3), unconst_f16(1812.4)));
vp7 = vec3f(reflect(vec3h(unconst_f16(-13252.5), unconst_f16(2191.2), unconst_f16(5690.4)), vec3h(f16(textureNumLayers(tex4)))))[2];
var vf251: u32 = textureNumLayers(tex4);
}
}
vp7 += f32(any((vec3u(unconst_u32(27), unconst_u32(384), unconst_u32(58)) == vec3u(unconst_u32(177), unconst_u32(380), unconst_u32(199)))));
let vf254: f16 = override7;
_ = tex4;
}
}
var vf256: vec3f = smoothstep(vec3f(unconst_f32(0.07061), unconst_f32(0.08498), unconst_f32(0.2182)), vec3f(unconst_f32(0.2279), unconst_f32(0.1442), unconst_f32(0.4651)), vec3f(unconst_f32(0.05421), unconst_f32(0.02490), unconst_f32(0.00865)));
var vf257: u32 = vf230[unconst_u32(904)];
return out;
}
/* zero global variables used */
fn fn0(a0: array<mat3x4f, 1>) -> vec2<bool> {
var out: vec2<bool>;
let ptr51: ptr<private, vec2h> = &vp6.fract;
out = vec2<bool>(bool(a0[unconst_u32(643)][unconst_u32(231)][unconst_u32(41)]));
vp6 = modf(vec2h(faceForward(vec3f(unconst_f32(0.09514), unconst_f32(0.00235), unconst_f32(-0.3417)), vec3f(unconst_f32(0.1255), unconst_f32(0.3828), unconst_f32(0.05958)), vec3f(vp6.fract.ggr)).bb));
var vf211: f32 = atan2(unconst_f32(0.06746), unconst_f32(0.06730));
out = vec2<bool>(bool(atan2(unconst_f32(0.1669), unconst_f32(0.1461))));
vf211 *= a0[unconst_u32(218)][unconst_i32(2)][2];
let vf212: vec4h = log(vec4h(unconst_f16(20133.7), unconst_f16(33839.5), unconst_f16(1382.9), unconst_f16(7235.9)));
let vf213: bool = override6;
vp7 = f32(override4);
switch i32(vf212[unconst_u32(366)]) {
default {
let vf214: vec2f = fma(vec2f(unconst_f32(-0.1238), unconst_f32(0.09988)), unpack2x16float(unconst_u32(117)), vec2f(unconst_f32(0.3082), unconst_f32(-0.2220)));
var vf215: vec4<bool> = (vec4f(unconst_f32(0.1457), unconst_f32(-0.04335), unconst_f32(0.03321), unconst_f32(0.1219)) < vec4f(unconst_f32(0.6749), unconst_f32(0.2585), unconst_f32(-0.00363), unconst_f32(0.08758)));
}
}
while bool((*ptr51).g) {
vp6 = modf(vec2h(pow(unconst_f16(15594.9), unconst_f16(14394.6))));
vp7 = f32(sqrt(vec4h(unconst_f16(17349.5), unconst_f16(3151.2), unconst_f16(1314.6), unconst_f16(687.7)))[3]);
vp7 += vec2f((vec2<bool>(unconst_bool(true), unconst_bool(false)) & vec2<bool>(unconst_bool(false), unconst_bool(false)))).r;
}
let vf219: vec4h = log(vec4h(unconst_f16(17590.4), unconst_f16(14611.3), unconst_f16(8183.6), unconst_f16(8252.6)));
var vf220: vec4<bool> = (vec4h(unconst_f16(32658.6), unconst_f16(4119.9), unconst_f16(84.69), unconst_f16(534.0)) < vec4h(unconst_f16(-24388.9), unconst_f16(3534.3), unconst_f16(12666.8), unconst_f16(18481.4)));
vf220 = vec4<bool>(bool(tan(unconst_f32(0.2474))));
out = vec2<bool>(a0[0][unconst_i32(0)].zy);
var vf221: vec4h = vf212;
vf211 = f32(override7);
let vf222: vec4<bool> = (vec4h(unconst_f16(29.34), unconst_f16(5834.2), unconst_f16(4550.6), unconst_f16(2914.2)) < vec4h(unconst_f16(12503.9), unconst_f16(10325.0), unconst_f16(10770.4), unconst_f16(34869.1)));
for (var it9=vec4u(vf220).a; it9<u32((*ptr51)[unconst_u32(231)]); it9++) {
var vf223: vec2f = (vec2f(unconst_f32(0.01491), unconst_f32(0.02969)) - unconst_f32(0.2655));
var vf226: vec3f = sinh(vec3f(unconst_f32(0.1986), unconst_f32(0.00570), unconst_f32(-0.5947)));
}
let vf227: f16 = override7;
var vf228: bool = vf222[unconst_u32(67)];
vf211 = bitcast<f32>(vp6.whole);
return out;
}
/* zero global variables used */
@compute @workgroup_size(1, 1, 1)
fn compute5() {
let ptr66: ptr<workgroup, vec4f> = &vw21[countLeadingZeros(vec3u(unconst_u32(5), unconst_u32(503), unconst_u32(113))).b].f19;
vw14 = mat4x2h(vec2h((*&vw11).f19.gr), vec2h((*&vw11).f19.zz), vec2h((*&vw11).f19.zy), vec2h((*&vw11).f19.wy));
var vf305 = fn0(array<mat3x4f, 1>(mat3x4f(vec4f(vw14[unconst_u32(49)].grgr), vec4f(vw14[unconst_u32(49)].yyyx), vec4f(vw14[unconst_u32(49)].rgrr))));
vw15 = mat3x3f(f32(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), f32(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), bitcast<f32>(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), f32(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), bitcast<f32>(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), bitcast<f32>(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), f32(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), bitcast<f32>(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))), f32(pack4xU8(vec4u(unconst_u32(606), unconst_u32(1), unconst_u32(24), unconst_u32(68)))));
fn0(array<mat3x4f, 1>(mat3x4f(vec4f((vec3u(unconst_u32(293), unconst_u32(23), unconst_u32(68)) - vec3u(bitcast<u32>(dot4I8Packed(unconst_u32(559), unconst_u32(17))))).brrr), vec4f((vec3u(unconst_u32(293), unconst_u32(23), unconst_u32(68)) - vec3u(bitcast<u32>(dot4I8Packed(unconst_u32(559), unconst_u32(17))))).xyxy), vec4f((vec3u(unconst_u32(293), unconst_u32(23), unconst_u32(68)) - vec3u(bitcast<u32>(dot4I8Packed(unconst_u32(559), unconst_u32(17))))).brrb))));
let ptr67: ptr<workgroup, vec2i> = &(*&vw22).f1;
}`,
});
let pipeline16 = device0.createComputePipeline({label: 'p', layout: 'auto', compute: {module: shaderModule4, constants: {override7: 1, override6: 1}}});
let commandEncoder262 = device0.createCommandEncoder({});
let computePassEncoder203 = commandEncoder262.beginComputePass({});
let sampler204 = device0.createSampler({addressModeU: 'clamp-to-edge', addressModeV: 'mirror-repeat', lodMinClamp: 56.63, lodMaxClamp: 74.21});
try {
computePassEncoder203.setPipeline(pipeline16);
} catch {}
try {
computePassEncoder203.dispatchWorkgroups(1);
} catch {}
try {
computePassEncoder203.end();
} catch {}
let commandBuffer11 = commandEncoder262.finish();
try {
device0.queue.submit([commandBuffer11]);
} catch {}
await device0.queue.onSubmittedWorkDone();
// END
// await device0.queue.onSubmittedWorkDone();
}
onload = async () => {
try {
let workers = [
];
let promises = [ window0() ];
} catch (e) {
if (e instanceof GPUPipelineError) {
if (e.name === 'OperationError') {
}
}
}
};
</script>