Commit 39631dd1 by Nicolas Capens Committed by Nicolas Capens

Expose GL_APPLE_texture_format_BGRA8888.

GL_APPLE_texture_format_BGRA8888 is similar to GL_EXT_texture_format_BGRA8888 but explicitly mentions texture storage support for OpenGL ES 3.0. It adds the format as texture-only (i.e. non-renderable), but GL_EXT_texture_format_BGRA8888 makes it color- renderable. Also allow a sized internalformat of GL_BGRA8_EXT. Previously we were only allowing unsized internalformat GL_BGRA. Change-Id: Ieb3a4f85847035392445d0a924591f5531e424d9 Reviewed-on: https://swiftshader-review.googlesource.com/16069Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent adee7dd5
...@@ -4404,6 +4404,7 @@ const GLubyte *Context::getExtensions(GLuint index, GLuint *numExt) const ...@@ -4404,6 +4404,7 @@ const GLubyte *Context::getExtensions(GLuint index, GLuint *numExt) const
"GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt3",
"GL_ANGLE_texture_compression_dxt5", "GL_ANGLE_texture_compression_dxt5",
#endif #endif
"GL_APPLE_texture_format_BGRA8888",
"GL_CHROMIUM_texture_filtering_hint", "GL_CHROMIUM_texture_filtering_hint",
"GL_NV_fence", "GL_NV_fence",
"GL_NV_framebuffer_blit", "GL_NV_framebuffer_blit",
......
...@@ -997,7 +997,7 @@ namespace es2 ...@@ -997,7 +997,7 @@ namespace es2
} }
break; break;
case GL_BGRA_EXT: case GL_BGRA_EXT:
if(type != GL_UNSIGNED_BYTE) // GL_APPLE_texture_format_BGRA8888 if(type != GL_UNSIGNED_BYTE) // GL_APPLE_texture_format_BGRA8888 / GL_EXT_texture_format_BGRA8888
{ {
return GL_INVALID_OPERATION; return GL_INVALID_OPERATION;
} }
...@@ -1136,9 +1136,8 @@ namespace es2 ...@@ -1136,9 +1136,8 @@ namespace es2
switch(type) switch(type)
{ {
case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_LUMINANCE8_ALPHA8_EXT) case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_LUMINANCE8_ALPHA8_EXT)
case GL_HALF_FLOAT_OES: case GL_HALF_FLOAT_OES: // Invalid, only exists as unsized.
case GL_FLOAT: case GL_FLOAT: // Invalid, only exists as unsized.
break;
default: default:
return GL_INVALID_OPERATION; return GL_INVALID_OPERATION;
} }
...@@ -1147,9 +1146,8 @@ namespace es2 ...@@ -1147,9 +1146,8 @@ namespace es2
switch(type) switch(type)
{ {
case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_LUMINANCE8_EXT) case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_LUMINANCE8_EXT)
case GL_HALF_FLOAT_OES: case GL_HALF_FLOAT_OES: // Invalid, only exists as unsized.
case GL_FLOAT: case GL_FLOAT: // Invalid, only exists as unsized.
break;
default: default:
return GL_INVALID_OPERATION; return GL_INVALID_OPERATION;
} }
...@@ -1158,17 +1156,17 @@ namespace es2 ...@@ -1158,17 +1156,17 @@ namespace es2
switch(type) switch(type)
{ {
case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_ALPHA8_EXT) case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_ALPHA8_EXT)
case GL_HALF_FLOAT_OES: case GL_HALF_FLOAT_OES: // Invalid, only exists as unsized.
case GL_FLOAT: case GL_FLOAT: // Invalid, only exists as unsized.
break;
default: default:
return GL_INVALID_OPERATION; return GL_INVALID_OPERATION;
} }
break; break;
case GL_BGRA_EXT: case GL_BGRA_EXT: // GL_APPLE_texture_format_BGRA8888
if(type != GL_UNSIGNED_BYTE) switch(type)
{ {
return GL_INVALID_OPERATION; case GL_UNSIGNED_BYTE: VALIDATE_INTERNALFORMAT(GL_BGRA8_EXT)
default: return GL_INVALID_OPERATION;
} }
break; break;
default: default:
...@@ -1242,7 +1240,7 @@ namespace es2 ...@@ -1242,7 +1240,7 @@ namespace es2
case GL_RG32F: case GL_RG32F:
case GL_RGB32F: case GL_RGB32F:
case GL_RGBA32F: case GL_RGBA32F:
case GL_BGRA8_EXT: case GL_BGRA8_EXT: // GL_EXT_texture_format_BGRA8888
return true; return true;
case GL_R8UI: case GL_R8UI:
case GL_R8I: case GL_R8I:
......
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