diff options
| author | Egor <egor.yusov@gmail.com> | 2019-02-16 21:52:05 +0000 |
|---|---|---|
| committer | Egor <egor.yusov@gmail.com> | 2019-02-16 21:52:05 +0000 |
| commit | b86ce3034093752225d73cba23c67ef063a02133 (patch) | |
| tree | 41796831050fa164b2ee9b5ef2c2dc44e508981e /Graphics/GraphicsEngineOpenGL | |
| parent | Fixed GLES3.0 context on Android (diff) | |
| download | DiligentCore-b86ce3034093752225d73cba23c67ef063a02133.tar.gz DiligentCore-b86ce3034093752225d73cba23c67ef063a02133.zip | |
Updated GL functions loading on Android
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/include/GLStubsAndroid.h | 36 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/src/GLStubsAndroid.cpp | 56 |
2 files changed, 85 insertions, 7 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/include/GLStubsAndroid.h b/Graphics/GraphicsEngineOpenGL/include/GLStubsAndroid.h index d51434fb..fe48ae50 100644 --- a/Graphics/GraphicsEngineOpenGL/include/GLStubsAndroid.h +++ b/Graphics/GraphicsEngineOpenGL/include/GLStubsAndroid.h @@ -923,15 +923,8 @@ void UnsupportedGLFunctionStub( const T &Name ) LOG_ERROR_MESSAGE( Name, "() is not supported in this API!\n" ); } -#define glDrawElementsInstancedBaseVertexBaseInstance(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseVertexBaseInstance") -#define glDrawElementsInstancedBaseVertex(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseVertex") -#define glDrawElementsInstancedBaseInstance(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseInstance") -#define glDrawArraysInstancedBaseInstance(...) UnsupportedGLFunctionStub("glDrawArraysInstancedBaseInstance") -#define glDrawElementsBaseVertex(...) UnsupportedGLFunctionStub("glDrawElementsBaseVertex") -#define glTextureView(...) UnsupportedGLFunctionStub("glTextureView") #define glTexStorage1D(...) UnsupportedGLFunctionStub("glTexStorage1D") #define glTexSubImage1D(...) UnsupportedGLFunctionStub("glTexSubImage1D") -#define glTexStorage3DMultisample(...) UnsupportedGLFunctionStub("glTexStorage3DMultisample") #ifndef GL_ES_VERSION_3_1 @@ -1049,4 +1042,33 @@ extern PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D; typedef void (GL_APIENTRY* PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); extern PFNGLCOPYIMAGESUBDATAPROC glCopyImageSubData; +#define LOAD_GL_TEX_STORAGE_3D_MULTISAMPLE +typedef void (GL_APIENTRY* PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +extern PFNGLTEXSTORAGE3DMULTISAMPLEPROC glTexStorage3DMultisample; + +#define LOAD_GL_TEXTURE_VIEW +typedef void (GL_APIENTRY* PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +extern PFNGLTEXTUREVIEWPROC glTextureView; + + +#define LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX_BASE_INSTANCE +typedef void (GL_APIENTRY* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +extern PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glDrawElementsInstancedBaseVertexBaseInstance; + +#define LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX +typedef void (GL_APIENTRY* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +extern PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glDrawElementsInstancedBaseVertex; + +#define LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_INSTANCE +typedef void (GL_APIENTRY* PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +extern PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glDrawElementsInstancedBaseInstance; + +#define LOAD_GL_DRAW_ARRAYS_INSTANCED_BASE_INSTANCE +typedef void (GL_APIENTRY* PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +extern PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glDrawArraysInstancedBaseInstance; + +#define LOAD_GL_DRAW_ELEMENTS_BASE_VERTEX +typedef void (GL_APIENTRY* PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +extern PFNGLDRAWELEMENTSBASEVERTEXPROC glDrawElementsBaseVertex; + void LoadGLFunctions(); diff --git a/Graphics/GraphicsEngineOpenGL/src/GLStubsAndroid.cpp b/Graphics/GraphicsEngineOpenGL/src/GLStubsAndroid.cpp index 32d83727..a2d3f4ff 100644 --- a/Graphics/GraphicsEngineOpenGL/src/GLStubsAndroid.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/GLStubsAndroid.cpp @@ -152,6 +152,34 @@ DECLARE_GL_FUNCTION( glGetTexLevelParameteriv, PFNGLGETTEXLEVELPARAMETERIVPROC, GLenum target, GLint level, GLenum pname, GLint *params ) #endif +#ifdef LOAD_GL_TEX_STORAGE_3D_MULTISAMPLE + DECLARE_GL_FUNCTION( glTexStorage3DMultisample, PFNGLTEXSTORAGE3DMULTISAMPLEPROC, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) +#endif + +#ifdef LOAD_GL_TEXTURE_VIEW + DECLARE_GL_FUNCTION( glTextureView, PFNGLTEXTUREVIEWPROC, GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX_BASE_INSTANCE + DECLARE_GL_FUNCTION( glDrawElementsInstancedBaseVertexBaseInstance, PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX + DECLARE_GL_FUNCTION( glDrawElementsInstancedBaseVertex, PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_INSTANCE + DECLARE_GL_FUNCTION( glDrawElementsInstancedBaseInstance, PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) +#endif + +#ifdef LOAD_GL_DRAW_ARRAYS_INSTANCED_BASE_INSTANCE + DECLARE_GL_FUNCTION( glDrawArraysInstancedBaseInstance, PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC, GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_BASE_VERTEX + DECLARE_GL_FUNCTION( glDrawElementsBaseVertex, PFNGLDRAWELEMENTSBASEVERTEXPROC, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) +#endif + void LoadGLFunctions() { @@ -280,4 +308,32 @@ Func = (FuncType)eglGetProcAddress( #Func );\ #ifdef LOAD_GET_TEX_LEVEL_PARAMETER_IV LOAD_GL_FUNCTION(glGetTexLevelParameteriv, PFNGLGETTEXLEVELPARAMETERIVPROC) #endif + +#ifdef LOAD_GL_TEX_STORAGE_3D_MULTISAMPLE + LOAD_GL_FUNCTION(glTexStorage3DMultisample, PFNGLTEXSTORAGE3DMULTISAMPLEPROC) +#endif + +#ifdef LOAD_GL_TEXTURE_VIEW + LOAD_GL_FUNCTION( glTextureView, PFNGLTEXTUREVIEWPROC) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX_BASE_INSTANCE + LOAD_GL_FUNCTION( glDrawElementsInstancedBaseVertexBaseInstance, PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_VERTEX + LOAD_GL_FUNCTION( glDrawElementsInstancedBaseVertex, PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_INSTANCED_BASE_INSTANCE + LOAD_GL_FUNCTION( glDrawElementsInstancedBaseInstance, PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) +#endif + +#ifdef LOAD_GL_DRAW_ARRAYS_INSTANCED_BASE_INSTANCE + LOAD_GL_FUNCTION( glDrawArraysInstancedBaseInstance, PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) +#endif + +#ifdef LOAD_GL_DRAW_ELEMENTS_BASE_VERTEX + LOAD_GL_FUNCTION( glDrawElementsBaseVertex, PFNGLDRAWELEMENTSBASEVERTEXPROC) +#endif } |
