Commit e727775c by Alexis Hetu Committed by Alexis Hétu

Added new extensions

The new extensions are: - GL_OES_framebuffer_object (with extra exports) - GL_OES_depth24 - GL_OES_depth32 - GL_EXT_color_buffer_half_float These were mostly supported already with the GLES3 related changes, so only a few minor changes were required. Change-Id: Iab6e94043cfdabb8ad74e526f44f7bd9d57c267f Reviewed-on: https://swiftshader-review.googlesource.com/4342Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent 98ad14f1
...@@ -858,8 +858,9 @@ namespace sw2es ...@@ -858,8 +858,9 @@ namespace sw2es
switch(format) switch(format)
{ {
case sw::FORMAT_D16: case sw::FORMAT_D16:
case sw::FORMAT_D32:
return GL_DEPTH_COMPONENT16; return GL_DEPTH_COMPONENT16;
case sw::FORMAT_D32:
return GL_DEPTH_COMPONENT32;
case sw::FORMAT_D24X8: case sw::FORMAT_D24X8:
return GL_DEPTH_COMPONENT24; return GL_DEPTH_COMPONENT24;
case sw::FORMAT_D24S8: case sw::FORMAT_D24S8:
......
...@@ -4238,12 +4238,15 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const ...@@ -4238,12 +4238,15 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const
// Vendor extensions // Vendor extensions
static const GLubyte* extensions[] = { static const GLubyte* extensions[] = {
(const GLubyte*)"GL_OES_compressed_ETC1_RGB8_texture", (const GLubyte*)"GL_OES_compressed_ETC1_RGB8_texture",
(const GLubyte*)"GL_OES_depth24",
(const GLubyte*)"GL_OES_depth32",
(const GLubyte*)"GL_OES_depth_texture", (const GLubyte*)"GL_OES_depth_texture",
(const GLubyte*)"GL_OES_depth_texture_cube_map", (const GLubyte*)"GL_OES_depth_texture_cube_map",
(const GLubyte*)"GL_OES_EGL_image", (const GLubyte*)"GL_OES_EGL_image",
(const GLubyte*)"GL_OES_EGL_image_external", (const GLubyte*)"GL_OES_EGL_image_external",
(const GLubyte*)"GL_OES_EGL_sync", (const GLubyte*)"GL_OES_EGL_sync",
(const GLubyte*)"GL_OES_element_index_uint", (const GLubyte*)"GL_OES_element_index_uint",
(const GLubyte*)"GL_OES_framebuffer_object",
(const GLubyte*)"GL_OES_packed_depth_stencil", (const GLubyte*)"GL_OES_packed_depth_stencil",
(const GLubyte*)"GL_OES_rgb8_rgba8", (const GLubyte*)"GL_OES_rgb8_rgba8",
(const GLubyte*)"GL_OES_standard_derivatives", (const GLubyte*)"GL_OES_standard_derivatives",
...@@ -4254,6 +4257,7 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const ...@@ -4254,6 +4257,7 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const
(const GLubyte*)"GL_OES_texture_npot", (const GLubyte*)"GL_OES_texture_npot",
(const GLubyte*)"GL_OES_texture_3D", (const GLubyte*)"GL_OES_texture_3D",
(const GLubyte*)"GL_EXT_blend_minmax", (const GLubyte*)"GL_EXT_blend_minmax",
(const GLubyte*)"GL_EXT_color_buffer_half_float",
(const GLubyte*)"GL_EXT_occlusion_query_boolean", (const GLubyte*)"GL_EXT_occlusion_query_boolean",
(const GLubyte*)"GL_EXT_read_format_bgra", (const GLubyte*)"GL_EXT_read_format_bgra",
#if (S3TC_SUPPORT) #if (S3TC_SUPPORT)
......
...@@ -476,6 +476,7 @@ GLenum Framebuffer::getImplementationColorReadFormat() ...@@ -476,6 +476,7 @@ GLenum Framebuffer::getImplementationColorReadFormat()
case sw::FORMAT_X16B16G16R16UI: case sw::FORMAT_X16B16G16R16UI:
case sw::FORMAT_X32B32G32R32I: case sw::FORMAT_X32B32G32R32I:
case sw::FORMAT_X32B32G32R32UI:return GL_RGB_INTEGER; case sw::FORMAT_X32B32G32R32UI:return GL_RGB_INTEGER;
case sw::FORMAT_B16G16R16F:
case sw::FORMAT_X8B8G8R8I_SNORM: case sw::FORMAT_X8B8G8R8I_SNORM:
case sw::FORMAT_X8B8G8R8: case sw::FORMAT_X8B8G8R8:
case sw::FORMAT_X8R8G8B8: case sw::FORMAT_X8R8G8B8:
......
...@@ -167,6 +167,21 @@ global: ...@@ -167,6 +167,21 @@ global:
glGetQueryObjectuivEXT; glGetQueryObjectuivEXT;
glEGLImageTargetTexture2DOES; glEGLImageTargetTexture2DOES;
glEGLImageTargetRenderbufferStorageOES; glEGLImageTargetRenderbufferStorageOES;
glIsRenderbufferOES;
glBindRenderbufferOES;
glDeleteRenderbuffersOES;
glGenRenderbuffersOES;
glRenderbufferStorageOES;
glGetRenderbufferParameterivOES;
glIsFramebufferOES;
glBindFramebufferOES;
glDeleteFramebuffersOES;
glGenFramebuffersOES;
glCheckFramebufferStatusOES;
glFramebufferRenderbufferOES;
glFramebufferTexture2DOES;
glGetFramebufferAttachmentParameterivOES;
glGenerateMipmapOES;
# GLES 3.0 Functions # GLES 3.0 Functions
glReadBuffer; glReadBuffer;
......
...@@ -4800,7 +4800,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum ...@@ -4800,7 +4800,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
egl::GLint clientVersion = context->getClientVersion(); egl::GLint clientVersion = context->getClientVersion();
switch(internalformat) switch(internalformat)
{ {
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32F: case GL_DEPTH_COMPONENT32F:
if(clientVersion < 3) if(clientVersion < 3)
{ {
...@@ -4808,6 +4807,8 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum ...@@ -4808,6 +4807,8 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
} }
// fall through // fall through
case GL_DEPTH_COMPONENT16: case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples)); context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples));
break; break;
case GL_R8: case GL_R8:
...@@ -4857,7 +4858,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum ...@@ -4857,7 +4858,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
context->setRenderbufferStorage(new es2::Stencilbuffer(width, height, samples)); context->setRenderbufferStorage(new es2::Stencilbuffer(width, height, samples));
break; break;
case GL_DEPTH32F_STENCIL8: case GL_DEPTH32F_STENCIL8:
case GL_DEPTH_COMPONENT32_OES:
if(clientVersion < 3) if(clientVersion < 3)
{ {
return error(GL_INVALID_ENUM); return error(GL_INVALID_ENUM);
...@@ -5817,6 +5817,7 @@ void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, ...@@ -5817,6 +5817,7 @@ void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width,
} }
break; break;
case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
switch(type) switch(type)
{ {
case GL_UNSIGNED_INT: case GL_UNSIGNED_INT:
...@@ -7492,6 +7493,81 @@ void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) ...@@ -7492,6 +7493,81 @@ void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
UNIMPLEMENTED(); UNIMPLEMENTED();
} }
GLboolean IsRenderbufferOES(GLuint renderbuffer)
{
return IsRenderbuffer(renderbuffer);
}
void BindRenderbufferOES(GLenum target, GLuint renderbuffer)
{
BindRenderbuffer(target, renderbuffer);
}
void DeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
{
DeleteRenderbuffers(n, renderbuffers);
}
void GenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
{
GenRenderbuffers(n, renderbuffers);
}
void RenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
RenderbufferStorage(target, internalformat, width, height);
}
void GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params)
{
GetRenderbufferParameteriv(target, pname, params);
}
GLboolean IsFramebufferOES(GLuint framebuffer)
{
return IsFramebuffer(framebuffer);
}
void BindFramebufferOES(GLenum target, GLuint framebuffer)
{
BindFramebuffer(target, framebuffer);
}
void DeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
{
DeleteFramebuffers(n, framebuffers);
}
void GenFramebuffersOES(GLsizei n, GLuint* framebuffers)
{
GenFramebuffers(n, framebuffers);
}
GLenum CheckFramebufferStatusOES(GLenum target)
{
return CheckFramebufferStatus(target);
}
void FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
}
void FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
FramebufferTexture2D(target, attachment, textarget, texture, level);
}
void GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params)
{
GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
}
void GenerateMipmapOES(GLenum target)
{
GenerateMipmap(target);
}
} }
extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char *procname) extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char *procname)
...@@ -7536,6 +7612,21 @@ extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char ...@@ -7536,6 +7612,21 @@ extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char
EXTENSION(glDrawArraysInstancedANGLE), EXTENSION(glDrawArraysInstancedANGLE),
EXTENSION(glDrawElementsInstancedANGLE), EXTENSION(glDrawElementsInstancedANGLE),
EXTENSION(glVertexAttribDivisorANGLE), EXTENSION(glVertexAttribDivisorANGLE),
EXTENSION(glIsRenderbufferOES),
EXTENSION(glBindRenderbufferOES),
EXTENSION(glDeleteRenderbuffersOES),
EXTENSION(glGenRenderbuffersOES),
EXTENSION(glRenderbufferStorageOES),
EXTENSION(glGetRenderbufferParameterivOES),
EXTENSION(glIsFramebufferOES),
EXTENSION(glBindFramebufferOES),
EXTENSION(glDeleteFramebuffersOES),
EXTENSION(glGenFramebuffersOES),
EXTENSION(glCheckFramebufferStatusOES),
EXTENSION(glFramebufferRenderbufferOES),
EXTENSION(glFramebufferTexture2DOES),
EXTENSION(glGetFramebufferAttachmentParameterivOES),
EXTENSION(glGenerateMipmapOES),
#undef EXTENSION #undef EXTENSION
}; };
......
...@@ -167,6 +167,21 @@ EXPORTS ...@@ -167,6 +167,21 @@ EXPORTS
glGetQueryObjectuivEXT glGetQueryObjectuivEXT
glEGLImageTargetTexture2DOES glEGLImageTargetTexture2DOES
glEGLImageTargetRenderbufferStorageOES glEGLImageTargetRenderbufferStorageOES
glIsRenderbufferOES
glBindRenderbufferOES
glDeleteRenderbuffersOES
glGenRenderbuffersOES
glRenderbufferStorageOES
glGetRenderbufferParameterivOES
glIsFramebufferOES
glBindFramebufferOES
glDeleteFramebuffersOES
glGenFramebuffersOES
glCheckFramebufferStatusOES
glFramebufferRenderbufferOES
glFramebufferTexture2DOES
glGetFramebufferAttachmentParameterivOES
glGenerateMipmapOES
; GLES 3.0 Functions ; GLES 3.0 Functions
glReadBuffer @211 glReadBuffer @211
......
...@@ -209,6 +209,21 @@ public: ...@@ -209,6 +209,21 @@ public:
void (*glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); void (*glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
void (*glEGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image); void (*glEGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image);
void (*glEGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image); void (*glEGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image);
GLboolean (*glIsRenderbufferOES)(GLuint renderbuffer);
void (*glBindRenderbufferOES)(GLenum target, GLuint renderbuffer);
void (*glDeleteRenderbuffersOES)(GLsizei n, const GLuint* renderbuffers);
void (*glGenRenderbuffersOES)(GLsizei n, GLuint* renderbuffers);
void (*glRenderbufferStorageOES)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
void (*glGetRenderbufferParameterivOES)(GLenum target, GLenum pname, GLint* params);
GLboolean (*glIsFramebufferOES)(GLuint framebuffer);
void (*glBindFramebufferOES)(GLenum target, GLuint framebuffer);
void (*glDeleteFramebuffersOES)(GLsizei n, const GLuint* framebuffers);
void (*glGenFramebuffersOES)(GLsizei n, GLuint* framebuffers);
GLenum (*glCheckFramebufferStatusOES)(GLenum target);
void (*glFramebufferRenderbufferOES)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
void (*glFramebufferTexture2DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
void (*glGetFramebufferAttachmentParameterivOES)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
void (*glGenerateMipmapOES)(GLenum target);
egl::Context *(*es2CreateContext)(const egl::Config *config, const egl::Context *shareContext, int clientVersion); egl::Context *(*es2CreateContext)(const egl::Config *config, const egl::Context *shareContext, int clientVersion);
__eglMustCastToProperFunctionPointerType (*es2GetProcAddress)(const char *procname); __eglMustCastToProperFunctionPointerType (*es2GetProcAddress)(const char *procname);
......
...@@ -213,6 +213,7 @@ static FormatMap BuildFormatMap3D() ...@@ -213,6 +213,7 @@ static FormatMap BuildFormatMap3D()
InsertFormatMapping(map, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT); InsertFormatMapping(map, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT);
InsertFormatMapping(map, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT); InsertFormatMapping(map, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT);
InsertFormatMapping(map, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT); InsertFormatMapping(map, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT);
InsertFormatMapping(map, GL_DEPTH_COMPONENT32_OES, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT);
InsertFormatMapping(map, GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT); InsertFormatMapping(map, GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT);
InsertFormatMapping(map, GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8); InsertFormatMapping(map, GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8);
InsertFormatMapping(map, GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV); InsertFormatMapping(map, GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV);
...@@ -1507,6 +1508,7 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsi ...@@ -1507,6 +1508,7 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsi
{ {
case GL_DEPTH_COMPONENT16: case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
case GL_DEPTH_COMPONENT32F: case GL_DEPTH_COMPONENT32F:
context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples)); context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples));
break; break;
......
...@@ -337,6 +337,21 @@ GL_APICALL void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xof ...@@ -337,6 +337,21 @@ GL_APICALL void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xof
GL_APICALL void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); GL_APICALL void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
GL_APICALL void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image); GL_APICALL void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
GL_APICALL void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image); GL_APICALL void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
GL_APICALL GLboolean IsRenderbufferOES(GLuint renderbuffer);
GL_APICALL void BindRenderbufferOES(GLenum target, GLuint renderbuffer);
GL_APICALL void DeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers);
GL_APICALL void GenRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
GL_APICALL void RenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params);
GL_APICALL GLboolean IsFramebufferOES(GLuint framebuffer);
GL_APICALL void BindFramebufferOES(GLenum target, GLuint framebuffer);
GL_APICALL void DeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers);
GL_APICALL void GenFramebuffersOES(GLsizei n, GLuint* framebuffers);
GL_APICALL GLenum CheckFramebufferStatusOES(GLenum target);
GL_APICALL void FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
GL_APICALL void FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
GL_APICALL void GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params);
GL_APICALL void GenerateMipmapOES(GLenum target);
} }
extern "C" extern "C"
...@@ -371,11 +386,21 @@ GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer) ...@@ -371,11 +386,21 @@ GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer)
return es2::BindFramebuffer(target, framebuffer); return es2::BindFramebuffer(target, framebuffer);
} }
GL_APICALL void GL_APIENTRY glBindFramebufferOES(GLenum target, GLuint framebuffer)
{
return es2::BindFramebuffer(target, framebuffer);
}
GL_APICALL void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer) GL_APICALL void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer)
{ {
return es2::BindRenderbuffer(target, renderbuffer); return es2::BindRenderbuffer(target, renderbuffer);
} }
GL_APICALL void GL_APIENTRY glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
{
return es2::BindRenderbuffer(target, renderbuffer);
}
GL_APICALL void GL_APIENTRY glBindTexture(GLenum target, GLuint texture) GL_APICALL void GL_APIENTRY glBindTexture(GLenum target, GLuint texture)
{ {
return es2::BindTexture(target, texture); return es2::BindTexture(target, texture);
...@@ -421,6 +446,11 @@ GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target) ...@@ -421,6 +446,11 @@ GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target)
return es2::CheckFramebufferStatus(target); return es2::CheckFramebufferStatus(target);
} }
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatusOES(GLenum target)
{
return es2::CheckFramebufferStatus(target);
}
GL_APICALL void GL_APIENTRY glClear(GLbitfield mask) GL_APICALL void GL_APIENTRY glClear(GLbitfield mask)
{ {
return es2::Clear(mask); return es2::Clear(mask);
...@@ -503,6 +533,11 @@ GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* frameb ...@@ -503,6 +533,11 @@ GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* frameb
return es2::DeleteFramebuffers(n, framebuffers); return es2::DeleteFramebuffers(n, framebuffers);
} }
GL_APICALL void GL_APIENTRY glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
{
return es2::DeleteFramebuffers(n, framebuffers);
}
GL_APICALL void GL_APIENTRY glDeleteProgram(GLuint program) GL_APICALL void GL_APIENTRY glDeleteProgram(GLuint program)
{ {
return es2::DeleteProgram(program); return es2::DeleteProgram(program);
...@@ -518,6 +553,11 @@ GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* rende ...@@ -518,6 +553,11 @@ GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* rende
return es2::DeleteRenderbuffers(n, renderbuffers); return es2::DeleteRenderbuffers(n, renderbuffers);
} }
GL_APICALL void GL_APIENTRY glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
{
return es2::DeleteRenderbuffers(n, renderbuffers);
}
GL_APICALL void GL_APIENTRY glDeleteShader(GLuint shader) GL_APICALL void GL_APIENTRY glDeleteShader(GLuint shader)
{ {
return es2::DeleteShader(shader); return es2::DeleteShader(shader);
...@@ -633,11 +673,21 @@ GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum atta ...@@ -633,11 +673,21 @@ GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum atta
return es2::FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); return es2::FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
} }
GL_APICALL void GL_APIENTRY glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
return es2::FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
}
GL_APICALL void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) GL_APICALL void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{ {
return es2::FramebufferTexture2D(target, attachment, textarget, texture, level); return es2::FramebufferTexture2D(target, attachment, textarget, texture, level);
} }
GL_APICALL void GL_APIENTRY glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
return es2::FramebufferTexture2D(target, attachment, textarget, texture, level);
}
GL_APICALL void GL_APIENTRY glFrontFace(GLenum mode) GL_APICALL void GL_APIENTRY glFrontFace(GLenum mode)
{ {
return es2::FrontFace(mode); return es2::FrontFace(mode);
...@@ -653,6 +703,11 @@ GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum target) ...@@ -653,6 +703,11 @@ GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum target)
return es2::GenerateMipmap(target); return es2::GenerateMipmap(target);
} }
GL_APICALL void GL_APIENTRY glGenerateMipmapOES(GLenum target)
{
return es2::GenerateMipmap(target);
}
GL_APICALL void GL_APIENTRY glGenFencesNV(GLsizei n, GLuint* fences) GL_APICALL void GL_APIENTRY glGenFencesNV(GLsizei n, GLuint* fences)
{ {
return es2::GenFencesNV(n, fences); return es2::GenFencesNV(n, fences);
...@@ -663,6 +718,11 @@ GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers) ...@@ -663,6 +718,11 @@ GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers)
return es2::GenFramebuffers(n, framebuffers); return es2::GenFramebuffers(n, framebuffers);
} }
GL_APICALL void GL_APIENTRY glGenFramebuffersOES(GLsizei n, GLuint* framebuffers)
{
return es2::GenFramebuffers(n, framebuffers);
}
GL_APICALL void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* ids) GL_APICALL void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* ids)
{ {
return es2::GenQueriesEXT(n, ids); return es2::GenQueriesEXT(n, ids);
...@@ -673,6 +733,11 @@ GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) ...@@ -673,6 +733,11 @@ GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
return es2::GenRenderbuffers(n, renderbuffers); return es2::GenRenderbuffers(n, renderbuffers);
} }
GL_APICALL void GL_APIENTRY glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
{
return es2::GenRenderbuffers(n, renderbuffers);
}
GL_APICALL void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures) GL_APICALL void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures)
{ {
return es2::GenTextures(n, textures); return es2::GenTextures(n, textures);
...@@ -728,6 +793,11 @@ GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, ...@@ -728,6 +793,11 @@ GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target,
return es2::GetFramebufferAttachmentParameteriv(target, attachment, pname, params); return es2::GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
} }
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params)
{
return es2::GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
}
GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT(void) GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT(void)
{ {
return es2::GetGraphicsResetStatusEXT(); return es2::GetGraphicsResetStatusEXT();
...@@ -763,6 +833,11 @@ GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum p ...@@ -763,6 +833,11 @@ GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum p
return es2::GetRenderbufferParameteriv(target, pname, params); return es2::GetRenderbufferParameteriv(target, pname, params);
} }
GL_APICALL void GL_APIENTRY glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params)
{
return es2::GetRenderbufferParameteriv(target, pname, params);
}
GL_APICALL void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params) GL_APICALL void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
{ {
return es2::GetShaderiv(shader, pname, params); return es2::GetShaderiv(shader, pname, params);
...@@ -863,6 +938,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer) ...@@ -863,6 +938,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer)
return es2::IsFramebuffer(framebuffer); return es2::IsFramebuffer(framebuffer);
} }
GL_APICALL GLboolean GL_APIENTRY glIsFramebufferOES(GLuint framebuffer)
{
return es2::IsFramebuffer(framebuffer);
}
GL_APICALL GLboolean GL_APIENTRY glIsProgram(GLuint program) GL_APICALL GLboolean GL_APIENTRY glIsProgram(GLuint program)
{ {
return es2::IsProgram(program); return es2::IsProgram(program);
...@@ -878,6 +958,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer) ...@@ -878,6 +958,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer)
return es2::IsRenderbuffer(renderbuffer); return es2::IsRenderbuffer(renderbuffer);
} }
GL_APICALL GLboolean GL_APIENTRY glIsRenderbufferOES(GLuint renderbuffer)
{
return es2::IsRenderbuffer(renderbuffer);
}
GL_APICALL GLboolean GL_APIENTRY glIsShader(GLuint shader) GL_APICALL GLboolean GL_APIENTRY glIsShader(GLuint shader)
{ {
return es2::IsShader(shader); return es2::IsShader(shader);
...@@ -934,6 +1019,11 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internal ...@@ -934,6 +1019,11 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internal
return es2::RenderbufferStorage(target, internalformat, width, height); return es2::RenderbufferStorage(target, internalformat, width, height);
} }
GL_APICALL void GL_APIENTRY glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
return es2::RenderbufferStorage(target, internalformat, width, height);
}
GL_APICALL void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert) GL_APICALL void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert)
{ {
return es2::SampleCoverage(value, invert); return es2::SampleCoverage(value, invert);
...@@ -1424,6 +1514,21 @@ LibGLESv2exports::LibGLESv2exports() ...@@ -1424,6 +1514,21 @@ LibGLESv2exports::LibGLESv2exports()
this->glFramebufferTexture3DOES = es2::FramebufferTexture3DOES; this->glFramebufferTexture3DOES = es2::FramebufferTexture3DOES;
this->glEGLImageTargetTexture2DOES = es2::EGLImageTargetTexture2DOES; this->glEGLImageTargetTexture2DOES = es2::EGLImageTargetTexture2DOES;
this->glEGLImageTargetRenderbufferStorageOES = es2::EGLImageTargetRenderbufferStorageOES; this->glEGLImageTargetRenderbufferStorageOES = es2::EGLImageTargetRenderbufferStorageOES;
this->glIsRenderbufferOES = es2::IsRenderbufferOES;
this->glBindRenderbufferOES = es2::BindRenderbufferOES;
this->glDeleteRenderbuffersOES = es2::DeleteRenderbuffersOES;
this->glGenRenderbuffersOES = es2::GenRenderbuffersOES;
this->glRenderbufferStorageOES = es2::RenderbufferStorageOES;
this->glGetRenderbufferParameterivOES = es2::GetRenderbufferParameterivOES;
this->glIsFramebufferOES = es2::IsFramebufferOES;
this->glBindFramebufferOES = es2::BindFramebufferOES;
this->glDeleteFramebuffersOES = es2::DeleteFramebuffersOES;
this->glGenFramebuffersOES = es2::GenFramebuffersOES;
this->glCheckFramebufferStatusOES = es2::CheckFramebufferStatusOES;
this->glFramebufferRenderbufferOES = es2::FramebufferRenderbufferOES;
this->glFramebufferTexture2DOES = es2::FramebufferTexture2DOES;
this->glGetFramebufferAttachmentParameterivOES = es2::GetFramebufferAttachmentParameterivOES;
this->glGenerateMipmapOES = es2::GenerateMipmapOES;
this->es2CreateContext = ::es2CreateContext; this->es2CreateContext = ::es2CreateContext;
this->es2GetProcAddress = ::es2GetProcAddress; this->es2GetProcAddress = ::es2GetProcAddress;
......
...@@ -440,7 +440,13 @@ namespace es2 ...@@ -440,7 +440,13 @@ namespace es2
bool IsDepthTexture(GLenum format) bool IsDepthTexture(GLenum format)
{ {
return format == GL_DEPTH_COMPONENT || return format == GL_DEPTH_COMPONENT ||
format == GL_DEPTH_STENCIL_OES; format == GL_DEPTH_STENCIL_OES ||
format == GL_DEPTH_COMPONENT16 ||
format == GL_DEPTH_COMPONENT24 ||
format == GL_DEPTH_COMPONENT32_OES ||
format == GL_DEPTH_COMPONENT32F ||
format == GL_DEPTH24_STENCIL8 ||
format == GL_DEPTH32F_STENCIL8;
} }
bool IsStencilTexture(GLenum format) bool IsStencilTexture(GLenum format)
......
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