Bug 1250710 - Expand BytesPerPixel. - r=jrmuizel
MozReview-Commit-ID: EfZ54sRtGVp
--- a/dom/canvas/WebGLFormats.cpp
+++ b/dom/canvas/WebGLFormats.cpp
@@ -384,32 +384,36 @@ GetBytesPerPixel(const PackingInfo& pack
uint8_t channels;
switch (packing.format) {
case LOCAL_GL_RED:
case LOCAL_GL_RED_INTEGER:
case LOCAL_GL_LUMINANCE:
case LOCAL_GL_ALPHA:
+ case LOCAL_GL_DEPTH_COMPONENT:
channels = 1;
break;
case LOCAL_GL_RG:
case LOCAL_GL_RG_INTEGER:
case LOCAL_GL_LUMINANCE_ALPHA:
channels = 2;
break;
case LOCAL_GL_RGB:
case LOCAL_GL_RGB_INTEGER:
+ case LOCAL_GL_SRGB:
channels = 3;
break;
+ case LOCAL_GL_BGRA:
case LOCAL_GL_RGBA:
case LOCAL_GL_RGBA_INTEGER:
+ case LOCAL_GL_SRGB_ALPHA:
channels = 4;
break;
default:
return false;
}
*out_bytes = bytesPerChannel * channels;
@@ -418,16 +422,18 @@ GetBytesPerPixel(const PackingInfo& pack
uint8_t
BytesPerPixel(const PackingInfo& packing)
{
uint8_t ret;
if (MOZ_LIKELY(GetBytesPerPixel(packing, &ret)))
return ret;
+ gfxCriticalError() << "Bad `packing`: " << gfx::hexa(packing.format) << ", "
+ << gfx::hexa(packing.type);
MOZ_CRASH("Bad `packing`.");
}
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////