Commit 0f4c4f8d by Alexis Hetu Committed by Alexis Hétu

WebGL test fix for MacOS

On MacOS, the BGRA format is used for framebuffers. Because of that, copying from the BGRA format must be allowed in the same places the RGBA format is allowed. This fixes the following WebGL test on MacOS: conformance/textures/misc/copy-tex-image-2d-formats.html Change-Id: I45c6b81a894dd8d55c4ab5cff0cf9ad1a08c8303 Reviewed-on: https://swiftshader-review.googlesource.com/18348Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 1119ce64
...@@ -571,7 +571,8 @@ namespace es2 ...@@ -571,7 +571,8 @@ namespace es2
{ {
case GL_ALPHA: case GL_ALPHA:
if(baseColorbufferFormat != GL_ALPHA && if(baseColorbufferFormat != GL_ALPHA &&
baseColorbufferFormat != GL_RGBA) baseColorbufferFormat != GL_RGBA &&
baseColorbufferFormat != GL_BGRA_EXT) // GL_EXT_texture_format_BGRA8888 / GL_APPLE_texture_format_BGRA8888
{ {
return error(GL_INVALID_OPERATION, false); return error(GL_INVALID_OPERATION, false);
} }
...@@ -589,7 +590,8 @@ namespace es2 ...@@ -589,7 +590,8 @@ namespace es2
if(baseColorbufferFormat != GL_RED && if(baseColorbufferFormat != GL_RED &&
baseColorbufferFormat != GL_RG && baseColorbufferFormat != GL_RG &&
baseColorbufferFormat != GL_RGB && baseColorbufferFormat != GL_RGB &&
baseColorbufferFormat != GL_RGBA) baseColorbufferFormat != GL_RGBA &&
baseColorbufferFormat != GL_BGRA_EXT) // GL_EXT_texture_format_BGRA8888 / GL_APPLE_texture_format_BGRA8888
{ {
return error(GL_INVALID_OPERATION, false); return error(GL_INVALID_OPERATION, false);
} }
...@@ -597,14 +599,16 @@ namespace es2 ...@@ -597,14 +599,16 @@ namespace es2
case GL_RG: case GL_RG:
if(baseColorbufferFormat != GL_RG && if(baseColorbufferFormat != GL_RG &&
baseColorbufferFormat != GL_RGB && baseColorbufferFormat != GL_RGB &&
baseColorbufferFormat != GL_RGBA) baseColorbufferFormat != GL_RGBA &&
baseColorbufferFormat != GL_BGRA_EXT) // GL_EXT_texture_format_BGRA8888 / GL_APPLE_texture_format_BGRA8888
{ {
return error(GL_INVALID_OPERATION, false); return error(GL_INVALID_OPERATION, false);
} }
break; break;
case GL_RGB: case GL_RGB:
if(baseColorbufferFormat != GL_RGB && if(baseColorbufferFormat != GL_RGB &&
baseColorbufferFormat != GL_RGBA) baseColorbufferFormat != GL_RGBA &&
baseColorbufferFormat != GL_BGRA_EXT) // GL_EXT_texture_format_BGRA8888 / GL_APPLE_texture_format_BGRA8888
{ {
return error(GL_INVALID_OPERATION, false); return error(GL_INVALID_OPERATION, false);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment