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
switch(format)
{
case sw::FORMAT_D16:
case sw::FORMAT_D32:
return GL_DEPTH_COMPONENT16;
case sw::FORMAT_D32:
return GL_DEPTH_COMPONENT32;
case sw::FORMAT_D24X8:
return GL_DEPTH_COMPONENT24;
case sw::FORMAT_D24S8:
......
......@@ -4238,12 +4238,15 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const
// Vendor extensions
static const GLubyte* extensions[] = {
(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_cube_map",
(const GLubyte*)"GL_OES_EGL_image",
(const GLubyte*)"GL_OES_EGL_image_external",
(const GLubyte*)"GL_OES_EGL_sync",
(const GLubyte*)"GL_OES_element_index_uint",
(const GLubyte*)"GL_OES_framebuffer_object",
(const GLubyte*)"GL_OES_packed_depth_stencil",
(const GLubyte*)"GL_OES_rgb8_rgba8",
(const GLubyte*)"GL_OES_standard_derivatives",
......@@ -4254,6 +4257,7 @@ const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const
(const GLubyte*)"GL_OES_texture_npot",
(const GLubyte*)"GL_OES_texture_3D",
(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_read_format_bgra",
#if (S3TC_SUPPORT)
......
......@@ -476,6 +476,7 @@ GLenum Framebuffer::getImplementationColorReadFormat()
case sw::FORMAT_X16B16G16R16UI:
case sw::FORMAT_X32B32G32R32I:
case sw::FORMAT_X32B32G32R32UI:return GL_RGB_INTEGER;
case sw::FORMAT_B16G16R16F:
case sw::FORMAT_X8B8G8R8I_SNORM:
case sw::FORMAT_X8B8G8R8:
case sw::FORMAT_X8R8G8B8:
......
......@@ -167,6 +167,21 @@ global:
glGetQueryObjectuivEXT;
glEGLImageTargetTexture2DOES;
glEGLImageTargetRenderbufferStorageOES;
glIsRenderbufferOES;
glBindRenderbufferOES;
glDeleteRenderbuffersOES;
glGenRenderbuffersOES;
glRenderbufferStorageOES;
glGetRenderbufferParameterivOES;
glIsFramebufferOES;
glBindFramebufferOES;
glDeleteFramebuffersOES;
glGenFramebuffersOES;
glCheckFramebufferStatusOES;
glFramebufferRenderbufferOES;
glFramebufferTexture2DOES;
glGetFramebufferAttachmentParameterivOES;
glGenerateMipmapOES;
# GLES 3.0 Functions
glReadBuffer;
......
......@@ -4800,7 +4800,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
egl::GLint clientVersion = context->getClientVersion();
switch(internalformat)
{
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32F:
if(clientVersion < 3)
{
......@@ -4808,6 +4807,8 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
}
// fall through
case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples));
break;
case GL_R8:
......@@ -4857,7 +4858,6 @@ void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum
context->setRenderbufferStorage(new es2::Stencilbuffer(width, height, samples));
break;
case GL_DEPTH32F_STENCIL8:
case GL_DEPTH_COMPONENT32_OES:
if(clientVersion < 3)
{
return error(GL_INVALID_ENUM);
......@@ -5817,6 +5817,7 @@ void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width,
}
break;
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
switch(type)
{
case GL_UNSIGNED_INT:
......@@ -7492,6 +7493,81 @@ void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
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)
......@@ -7536,6 +7612,21 @@ extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char
EXTENSION(glDrawArraysInstancedANGLE),
EXTENSION(glDrawElementsInstancedANGLE),
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
};
......
......@@ -167,6 +167,21 @@ EXPORTS
glGetQueryObjectuivEXT
glEGLImageTargetTexture2DOES
glEGLImageTargetRenderbufferStorageOES
glIsRenderbufferOES
glBindRenderbufferOES
glDeleteRenderbuffersOES
glGenRenderbuffersOES
glRenderbufferStorageOES
glGetRenderbufferParameterivOES
glIsFramebufferOES
glBindFramebufferOES
glDeleteFramebuffersOES
glGenFramebuffersOES
glCheckFramebufferStatusOES
glFramebufferRenderbufferOES
glFramebufferTexture2DOES
glGetFramebufferAttachmentParameterivOES
glGenerateMipmapOES
; GLES 3.0 Functions
glReadBuffer @211
......
......@@ -209,6 +209,21 @@ public:
void (*glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
void (*glEGLImageTargetTexture2DOES)(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);
__eglMustCastToProperFunctionPointerType (*es2GetProcAddress)(const char *procname);
......
......@@ -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_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_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);
......@@ -1507,6 +1508,7 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsi
{
case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT24:
case GL_DEPTH_COMPONENT32_OES:
case GL_DEPTH_COMPONENT32F:
context->setRenderbufferStorage(new es2::Depthbuffer(width, height, samples));
break;
......
......@@ -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 EGLImageTargetTexture2DOES(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"
......@@ -371,11 +386,21 @@ GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint 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)
{
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)
{
return es2::BindTexture(target, texture);
......@@ -421,6 +446,11 @@ GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum 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)
{
return es2::Clear(mask);
......@@ -503,6 +533,11 @@ GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* frameb
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)
{
return es2::DeleteProgram(program);
......@@ -518,6 +553,11 @@ GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* rende
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)
{
return es2::DeleteShader(shader);
......@@ -633,11 +673,21 @@ GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum atta
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)
{
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)
{
return es2::FrontFace(mode);
......@@ -653,6 +703,11 @@ GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum 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)
{
return es2::GenFencesNV(n, fences);
......@@ -663,6 +718,11 @@ GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* 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)
{
return es2::GenQueriesEXT(n, ids);
......@@ -673,6 +733,11 @@ GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* 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)
{
return es2::GenTextures(n, textures);
......@@ -728,6 +793,11 @@ GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target,
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)
{
return es2::GetGraphicsResetStatusEXT();
......@@ -763,6 +833,11 @@ GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum p
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)
{
return es2::GetShaderiv(shader, pname, params);
......@@ -863,6 +938,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint 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)
{
return es2::IsProgram(program);
......@@ -878,6 +958,11 @@ GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint 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)
{
return es2::IsShader(shader);
......@@ -934,6 +1019,11 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internal
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)
{
return es2::SampleCoverage(value, invert);
......@@ -1424,6 +1514,21 @@ LibGLESv2exports::LibGLESv2exports()
this->glFramebufferTexture3DOES = es2::FramebufferTexture3DOES;
this->glEGLImageTargetTexture2DOES = es2::EGLImageTargetTexture2DOES;
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->es2GetProcAddress = ::es2GetProcAddress;
......
......@@ -440,7 +440,13 @@ namespace es2
bool IsDepthTexture(GLenum format)
{
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)
......
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