#include "Common/Math.hpp"
#include "Common/Thread.hpp"
-#include <GLES/glext.h>
#include <GLES2/gl2ext.h>
#include <GLES3/gl3.h>
#include "libEGL/Texture.hpp"\r
#include "Renderer/Surface.hpp"\r
\r
-#include <GLES/gl.h>\r
#include <GLES2/gl2.h>\r
\r
#if defined(__ANDROID__)\r
\r
namespace egl\r
{\r
-// Types common between gl.h and gl2.h\r
-// We can't include either header in EGL\r
-typedef unsigned int GLenum;\r
-typedef int GLint;\r
-typedef int GLsizei;\r
\r
sw::Format SelectInternalFormat(GLenum format, GLenum type);\r
GLsizei ComputePitch(GLsizei width, GLenum format, GLenum type, GLint alignment);\r
\r
if(context)\r
{\r
- egl::GLint clientVersion = egl::getClientVersion();\r
+ GLint clientVersion = egl::getClientVersion();\r
\r
switch(target)\r
{\r
return error(GL_INVALID_OPERATION);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
TRACE("(GLenum srcRGB = 0x%X, GLenum dstRGB = 0x%X, GLenum srcAlpha = 0x%X, GLenum dstAlpha = 0x%X)",\r
srcRGB, dstRGB, srcAlpha, dstAlpha);\r
\r
- egl::GLint clientVersion = egl::getClientVersion();\r
+ GLint clientVersion = egl::getClientVersion();\r
\r
switch(srcRGB)\r
{\r
return error(GL_INVALID_VALUE);\r
}\r
\r
- egl::GLint clientVersion = egl::getClientVersion();\r
+ GLint clientVersion = egl::getClientVersion();\r
\r
switch(usage)\r
{\r
}\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(attachment)\r
{\r
return error(GL_INVALID_OPERATION);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(attachment)\r
{\r
{\r
es2::Texture *texture = nullptr;\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
return error(GL_INVALID_OPERATION);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(pname)\r
{\r
return error(GL_INVALID_ENUM);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
es2::Framebuffer *framebuffer = NULL;\r
if(target == GL_READ_FRAMEBUFFER_ANGLE)\r
return error(GL_INVALID_VALUE);\r
}\r
\r
- egl::GLint clientVersion = egl::getClientVersion();\r
+ GLint clientVersion = egl::getClientVersion();\r
\r
switch(pname)\r
{\r
{\r
es2::Texture *texture;\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
{\r
es2::Texture *texture;\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
\r
const es2::VertexAttribute &attribState = context->getVertexAttribState(index);\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(pname)\r
{\r
\r
const es2::VertexAttribute &attribState = context->getVertexAttribState(index);\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(pname)\r
{\r
\r
if(context)\r
{\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(cap)\r
{\r
\r
if(context)\r
{\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(pname)\r
{\r
return error(GL_INVALID_OPERATION);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
switch(internalformat)\r
{\r
case GL_DEPTH_COMPONENT32F:\r
\r
if(context)\r
{\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
if(clientVersion < 3)\r
{\r
if(internalformat != format)\r
{\r
es2::Texture *texture;\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
{\r
es2::Texture *texture;\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(target)\r
{\r
return error(GL_INVALID_VALUE);\r
}\r
\r
- egl::GLint clientVersion = egl::getClientVersion();\r
+ GLint clientVersion = egl::getClientVersion();\r
\r
switch(type)\r
{\r
return error(GL_INVALID_OPERATION);\r
}\r
\r
- egl::GLint clientVersion = context->getClientVersion();\r
+ GLint clientVersion = context->getClientVersion();\r
\r
switch(attachment)\r
{\r
return static_cast<GLint>((static_cast<GLfloat>(0xFFFFFFFF) * value - 1.0f) * 0.5f);\r
}\r
\r
- bool IsCompressed(GLenum format, egl::GLint clientVersion)\r
+ bool IsCompressed(GLenum format, GLint clientVersion)\r
{\r
return ValidateCompressedFormat(format, clientVersion, true) == GL_NONE;\r
}\r
\r
- GLenum ValidateCompressedFormat(GLenum format, egl::GLint clientVersion, bool expectCompressedFormats)\r
+ GLenum ValidateCompressedFormat(GLenum format, GLint clientVersion, bool expectCompressedFormats)\r
{\r
switch(format)\r
{\r
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
- case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- return S3TC_SUPPORT ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM;
- case GL_ETC1_RGB8_OES:
- return expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION;
- case GL_COMPRESSED_R11_EAC:
- case GL_COMPRESSED_SIGNED_R11_EAC:
- case GL_COMPRESSED_RG11_EAC:
- case GL_COMPRESSED_SIGNED_RG11_EAC:
- case GL_COMPRESSED_RGB8_ETC2:
- case GL_COMPRESSED_SRGB8_ETC2:
- case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
- case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
- case GL_COMPRESSED_RGBA8_ETC2_EAC:
- case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:
- case GL_COMPRESSED_RGBA_ASTC_4x4_KHR:
- case GL_COMPRESSED_RGBA_ASTC_5x4_KHR:
- case GL_COMPRESSED_RGBA_ASTC_5x5_KHR:
- case GL_COMPRESSED_RGBA_ASTC_6x5_KHR:
- case GL_COMPRESSED_RGBA_ASTC_6x6_KHR:
- case GL_COMPRESSED_RGBA_ASTC_8x5_KHR:
- case GL_COMPRESSED_RGBA_ASTC_8x6_KHR:
- case GL_COMPRESSED_RGBA_ASTC_8x8_KHR:
- case GL_COMPRESSED_RGBA_ASTC_10x5_KHR:
- case GL_COMPRESSED_RGBA_ASTC_10x6_KHR:
- case GL_COMPRESSED_RGBA_ASTC_10x8_KHR:
- case GL_COMPRESSED_RGBA_ASTC_10x10_KHR:
- case GL_COMPRESSED_RGBA_ASTC_12x10_KHR:
- case GL_COMPRESSED_RGBA_ASTC_12x12_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:
- case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:\r
+ case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:\r
+ case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:\r
+ case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:\r
+ return S3TC_SUPPORT ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM;\r
+ case GL_ETC1_RGB8_OES:\r
+ return expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION;\r
+ case GL_COMPRESSED_R11_EAC:\r
+ case GL_COMPRESSED_SIGNED_R11_EAC:\r
+ case GL_COMPRESSED_RG11_EAC:\r
+ case GL_COMPRESSED_SIGNED_RG11_EAC:\r
+ case GL_COMPRESSED_RGB8_ETC2:\r
+ case GL_COMPRESSED_SRGB8_ETC2:\r
+ case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:\r
+ case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:\r
+ case GL_COMPRESSED_RGBA8_ETC2_EAC:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:\r
+ case GL_COMPRESSED_RGBA_ASTC_4x4_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_5x4_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_5x5_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_6x5_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_6x6_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_8x5_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_8x6_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_8x8_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_10x5_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_10x6_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_10x8_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_10x10_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_12x10_KHR:\r
+ case GL_COMPRESSED_RGBA_ASTC_12x12_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:\r
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:\r
case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:\r
return (clientVersion >= 3) ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM;\r
default:\r
return GL_NONE;\r
}\r
\r
- bool ValidReadPixelsFormatType(GLenum internalFormat, GLenum internalType, GLenum format, GLenum type, egl::GLint clientVersion)\r
+ bool ValidReadPixelsFormatType(GLenum internalFormat, GLenum internalType, GLenum format, GLenum type, GLint clientVersion)\r
{\r
switch(format)\r
{\r
}\r
\r
// Verify that format/type are one of the combinations from table 3.4.\r
- bool CheckTextureFormatType(GLenum format, GLenum type, egl::GLint clientVersion)\r
+ bool CheckTextureFormatType(GLenum format, GLenum type, GLint clientVersion)\r
{\r
switch(type)\r
{\r
}\r
}\r
\r
- bool IsColorRenderable(GLenum internalformat, egl::GLint clientVersion)\r
+ bool IsColorRenderable(GLenum internalformat, GLint clientVersion)\r
{\r
switch(internalformat)\r
{\r
\r
GLint floatToInt(GLfloat value);\r
\r
- bool IsCompressed(GLenum format, egl::GLint clientVersion);\r
+ bool IsCompressed(GLenum format, GLint clientVersion);\r
GLenum GetSizedInternalFormat(GLenum internalFormat, GLenum type);\r
- GLenum ValidateCompressedFormat(GLenum format, egl::GLint clientVersion, bool expectCompressedFormats);\r
+ GLenum ValidateCompressedFormat(GLenum format, GLint clientVersion, bool expectCompressedFormats);\r
GLenum ValidateSubImageParams(bool compressed, GLsizei width, GLsizei height, GLint xoffset, GLint yoffset, GLenum target, GLint level, GLenum sizedInternalFormat, Texture *texture);\r
GLenum ValidateSubImageParams(bool compressed, GLsizei width, GLsizei height, GLsizei depth, GLint xoffset, GLint yoffset, GLint zoffset, GLenum target, GLint level, GLenum sizedInternalFormat, Texture *texture);\r
- bool ValidReadPixelsFormatType(GLenum internalFormat, GLenum internalType, GLenum format, GLenum type, egl::GLint clientVersion);\r
+ bool ValidReadPixelsFormatType(GLenum internalFormat, GLenum internalType, GLenum format, GLenum type, GLint clientVersion);\r
bool IsDepthTexture(GLenum format);\r
bool IsStencilTexture(GLenum format);\r
bool IsCubemapTextureTarget(GLenum target);\r
int CubeFaceIndex(GLenum cubeTarget);\r
bool IsTextureTarget(GLenum target);\r
- bool CheckTextureFormatType(GLenum format, GLenum type, egl::GLint clientVersion);\r
+ bool CheckTextureFormatType(GLenum format, GLenum type, GLint clientVersion);\r
\r
- bool IsColorRenderable(GLenum internalformat, egl::GLint clientVersion);\r
+ bool IsColorRenderable(GLenum internalformat, GLint clientVersion);\r
bool IsDepthRenderable(GLenum internalformat);\r
bool IsStencilRenderable(GLenum internalformat);\r
\r