Excellent work Jiajia and the rest of Intel's Web Graphics team for getting this support in place!
For anyone wanting to test it out on Windows, run Chrome with the command line arguments:
--use-cmd-decoder=passthrough --enable-webgl2-compute-context
(and, optionally, --use-angle=gl )
For anyone wanting to test it on Linux, run Chrome with the following command line arguments:
--use-cmd-decoder=passthrough --enable-webgl2-compute-context --use-gl=angle
@demidovevgeny0, there may be an issue in your case (https://www.ibiblio.org/e-notes/webgl/gpu/3Dtexture.htm).
Change
gl.bindImageTexture(0, texture, 0, gl.FALSE, 0, gl.WRITE_ONLY, gl.RGBA32F);
to
gl.bindImageTexture(0, texture, 0, gl.TRUE, 0, gl.WRITE_ONLY, gl.RGBA32F);
Refer OpenGL ES 3.l spec, section 8.22,
"If the texture identified by texture is a two-dimensional array, threedimensional, or cube map texture, it is possible to bind either the entire texture level or a single layer or face of the texture level. If layered is TRUE, the entire level is bound. If layered is FALSE, only the single layer identified by layer will be bound. When layered is FALSE, the single bound layer is treated as a twodimensional texture."
I think you want to bind entire level 0 of 3D texture to shader here.
Comment 1 by bugdroid1@chromium.org
, Jul 10