Commit 4b8df2f5 by Nicolas Capens

Provide missing OpenGL ES 1.x extension for implementation read format/type.

Bug 14643416 Change-Id: Ie710b76fcf1f64849a4f0556c3f0db587304000e Reviewed-on: https://swiftshader-review.googlesource.com/1870Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 66be2450
...@@ -1082,13 +1082,13 @@ bool Context::getIntegerv(GLenum pname, GLint *params) ...@@ -1082,13 +1082,13 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
} }
} }
break; break;
case GL_IMPLEMENTATION_COLOR_READ_TYPE: case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES:
{ {
Framebuffer *framebuffer = getFramebuffer(); Framebuffer *framebuffer = getFramebuffer();
*params = framebuffer->getImplementationColorReadType(); *params = framebuffer->getImplementationColorReadType();
} }
break; break;
case GL_IMPLEMENTATION_COLOR_READ_FORMAT: case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES:
{ {
Framebuffer *framebuffer = getFramebuffer(); Framebuffer *framebuffer = getFramebuffer();
*params = framebuffer->getImplementationColorReadFormat(); *params = framebuffer->getImplementationColorReadFormat();
......
...@@ -2409,6 +2409,7 @@ const GLubyte* GL_APIENTRY glGetString(GLenum name) ...@@ -2409,6 +2409,7 @@ const GLubyte* GL_APIENTRY glGetString(GLenum name)
"GL_OES_element_index_uint " "GL_OES_element_index_uint "
"GL_OES_framebuffer_object " "GL_OES_framebuffer_object "
"GL_OES_packed_depth_stencil " "GL_OES_packed_depth_stencil "
"GL_OES_read_format "
"GL_OES_rgb8_rgba8 " "GL_OES_rgb8_rgba8 "
"GL_OES_stencil8 " "GL_OES_stencil8 "
"GL_OES_stencil_wrap " "GL_OES_stencil_wrap "
......
...@@ -399,45 +399,45 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples) ...@@ -399,45 +399,45 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples)
return GL_FRAMEBUFFER_COMPLETE; return GL_FRAMEBUFFER_COMPLETE;
} }
GLenum Framebuffer::getImplementationColorReadFormat() GLenum Framebuffer::getImplementationColorReadFormat()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer.get();
if(colorbuffer) if(colorbuffer)
{ {
switch(colorbuffer->getInternalFormat()) switch(colorbuffer->getInternalFormat())
{ {
case sw::FORMAT_A16B16G16R16F: return GL_RGBA; case sw::FORMAT_A16B16G16R16F: return GL_RGBA;
case sw::FORMAT_A32B32G32R32F: return GL_RGBA; case sw::FORMAT_A32B32G32R32F: return GL_RGBA;
case sw::FORMAT_A8R8G8B8: return GL_BGRA_EXT; case sw::FORMAT_A8R8G8B8: return GL_BGRA_EXT;
case sw::FORMAT_X8R8G8B8: return GL_BGRA_EXT; case sw::FORMAT_X8R8G8B8: return GL_BGRA_EXT;
case sw::FORMAT_A1R5G5B5: return GL_BGRA_EXT; case sw::FORMAT_A1R5G5B5: return GL_BGRA_EXT;
case sw::FORMAT_R5G6B5: return 0x80E0; // GL_BGR_EXT case sw::FORMAT_R5G6B5: return 0x80E0; // GL_BGR_EXT
default: default:
UNREACHABLE(); UNREACHABLE();
} }
} }
return GL_RGBA; return GL_RGBA;
} }
GLenum Framebuffer::getImplementationColorReadType() GLenum Framebuffer::getImplementationColorReadType()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer.get();
if(colorbuffer) if(colorbuffer)
{ {
switch(colorbuffer->getInternalFormat()) switch(colorbuffer->getInternalFormat())
{ {
case sw::FORMAT_A16B16G16R16F: return GL_HALF_FLOAT_OES; case sw::FORMAT_A16B16G16R16F: return GL_HALF_FLOAT_OES;
case sw::FORMAT_A32B32G32R32F: return GL_FLOAT; case sw::FORMAT_A32B32G32R32F: return GL_FLOAT;
case sw::FORMAT_A8R8G8B8: return GL_UNSIGNED_BYTE; case sw::FORMAT_A8R8G8B8: return GL_UNSIGNED_BYTE;
case sw::FORMAT_X8R8G8B8: return GL_UNSIGNED_BYTE; case sw::FORMAT_X8R8G8B8: return GL_UNSIGNED_BYTE;
case sw::FORMAT_A1R5G5B5: return GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT; case sw::FORMAT_A1R5G5B5: return GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT;
case sw::FORMAT_R5G6B5: return GL_UNSIGNED_SHORT_5_6_5; case sw::FORMAT_R5G6B5: return GL_UNSIGNED_SHORT_5_6_5;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
} }
return GL_UNSIGNED_BYTE; return GL_UNSIGNED_BYTE;
......
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