We can't start implementing them yet as they don't have a draft-status spec . We need to make a spec proposal, submit it to the public_webgl list, and get it accepted as a draft before we can start implementing with MOZ_ prefix.
PVRTC proposal has been sent to the list. https://www.khronos.org/registry/webgl/extensions/proposals/WEBGL_compressed_texture_pvrtc/ Regarding ATC we have agreed on the public_webgl list that it being officially undocumented (see http://www.khronos.org/registry/gles/extensions/AMD/AMD_compressed_ATC_texture.txt) makes it a non-starter for WebGL. Therefore it makes sense to repurpose this bug as the PVRTC implementation bug.
Do we have any information about the compressed texture formats currently supported by Android devices in the wild?
Got Qualcomm to publish the ATC buffer size formula -- see public_webgl archive for September. Implementation in bug 790712.
(In reply to Martin Best (:mbest) from comment #2) > Do we have any information about the compressed texture formats currently > supported by Android devices in the wild? No precise numbers, but we know that S3TC+PVRTC+ATC allow us to cover most devices. Qualcomm GPUs are ATC-only, while some other devices don't support ATC.
The extension has been promoted to draft: http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/ Can now implement -- writing the patch now.
Created attachment 664105 [details] [diff] [review] pvrtc This applies on top of the ATC patch, which refactored ValidateCompressedTextureSize a bit. This patch further refactors this by having ValidateCompressedTextureSize call ValidateLevelWidthHeightForTarget, rather than relying on the caller to call both. This fixes a bug whereby we weren't checking for negative / out-of-range texture dimensions in compressedTexSubImage2D, afaict.
Comment on attachment 664105 [details] [diff] [review] pvrtc Review of attachment 664105 [details] [diff] [review]: ----------------------------------------------------------------- An optional nit, but otherwise good. ::: gfx/gl/GLDefs.h @@ +3101,5 @@ > +// IMG_texture_compression_pvrtc > +#define LOCAL_GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 > +#define LOCAL_GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 > +#define LOCAL_GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 > +#define LOCAL_GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 Prefer to drop vendor suffixes for GL constants for internal use.
I think this and Bug 790712 have broken my Thunderbird build using ac_add_options --disable-webgl. Do you need to update content/canvas/src/WebGLContextNotSupported.cpp?
Yes we do! Thanks for the heads-up.
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_compressed_texture_pvrtc https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/compressedTexImage2D https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D