gy: 'triangle-list',
        },
      });
    }

    const bindGroup = device.createBindGroup({
      layout: depthToFloatBindGroupLayout,
      entries: [ { binding: 0, resource: fromTextureView } ],
    });

    const doSubmit = !commandEncoder;

    commandEncoder ??= device.createCommandEncoder();
    const passEncoder = commandEncoder.beginRenderPass({
      colorAttachments: [{
        view: toTextureView,
        loadOp: 'clear',
        storeOp: 'store',
        clearColor: { r: 0,