How to convert CanvasTexture to 16 bit?

I’m trying to find a way to load/convert a canvas texture as 16 bit instead of the default 8 bit. If not can this be done in the shader? Any examples or articles would be helpful.

I don’t think web browsers support 16-bit canvases today, though there is a draft proposal:

In the meantime, you can use a DataTexture (initialized with an array) or render to a 16-bit render target with a shader. Any of the postprocessing examples can be adjusted to write to 16-bit render targets, so if you can generate the image data with a shader, that might be the easiest way to go.