diff --git a/libretro-common/glsm/glsm.c b/libretro-common/glsm/glsm.c index 6d32f224e4..e7114a0bb8 100644 --- a/libretro-common/glsm/glsm.c +++ b/libretro-common/glsm/glsm.c @@ -31,6 +31,11 @@ #define GL_SAMPLE_MASK 0x8E51 #endif +#if 0 +extern retro_log_printf_t log_cb; +#define GLSM_DEBUG +#endif + struct gl_cached_state { struct @@ -211,6 +216,51 @@ GLenum rglGetError(void) return glGetError(); } +/* + * + * Core in: + * OpenGL : 3.2 + * OpenGLES : 3.0 + */ +void rglGetInteger64v( GLenum pname, + GLint64 * data) +{ +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glGetInteger64v(pname, data); +#endif +} + +/* + * + * Core in: + * OpenGL : 3.2 + * OpenGLES : 3.0 + */ +void rglSamplerParameteri( GLuint sampler, + GLenum pname, + GLint param) +{ +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glSamplerParameteri(sampler, pname, param); +#endif +} + +void rglGenSamplers( GLsizei n, + GLuint *samplers) +{ +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glGenSamplers(n, samplers); +#endif +} + +void rglBindSampler( GLuint unit, + GLuint sampler) +{ +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glBindSampler(unit, sampler); +#endif +} + /* * * Core in: @@ -218,6 +268,9 @@ GLenum rglGetError(void) */ void rglClear(GLbitfield mask) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClear.\n"); +#endif glClear(mask); } @@ -228,6 +281,9 @@ void rglClear(GLbitfield mask) */ void rglValidateProgram(GLuint program) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glValidateProgram.\n"); +#endif glValidateProgram(program); } @@ -239,6 +295,9 @@ void rglValidateProgram(GLuint program) */ void rglPolygonMode(GLenum face, GLenum mode) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glPolygonMode.\n"); +#endif #ifndef HAVE_OPENGLES glPolygonMode(face, mode); #endif @@ -255,10 +314,27 @@ void rglTexSubImage2D( GLenum type, const GLvoid * pixels) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexSubImage2D.\n"); +#endif glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } + +void rglGetBufferSubData( GLenum target, + GLintptr offset, + GLsizeiptr size, + GLvoid * data) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetBufferSubData.\n"); +#endif +#if defined(HAVE_OPENGL) + glGetBufferSubData(target, offset, size, data); +#endif +} + /* * * Core in: @@ -266,6 +342,9 @@ void rglTexSubImage2D( */ void rglLineWidth(GLfloat width) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glLineWidth.\n"); +#endif glLineWidth(width); } @@ -283,6 +362,9 @@ void rglBlitFramebuffer( GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlitFramebuffer.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, @@ -297,6 +379,9 @@ void rglBlitFramebuffer( */ void rglReadBuffer(GLenum mode) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glReadBuffer.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glReadBuffer(mode); gl_state.readbuffer.mode = mode; @@ -310,6 +395,9 @@ void rglReadBuffer(GLenum mode) */ void rglClearDepth(GLdouble depth) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClearDepth.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); #ifdef HAVE_OPENGLES glClearDepthf(depth); @@ -327,6 +415,9 @@ void rglClearDepth(GLdouble depth) */ void rglPixelStorei(GLenum pname, GLint param) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glPixelStorei.\n"); +#endif glPixelStorei(pname, param); gl_state.pixelstore_i.pname = pname; gl_state.pixelstore_i.param = param; @@ -339,6 +430,9 @@ void rglPixelStorei(GLenum pname, GLint param) */ void rglDepthRange(GLclampd zNear, GLclampd zFar) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDepthRange.\n"); +#endif #ifdef HAVE_OPENGLES glDepthRangef(zNear, zFar); #else @@ -356,6 +450,9 @@ void rglDepthRange(GLclampd zNear, GLclampd zFar) */ void rglFrontFace(GLenum mode) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFrontFace.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glFrontFace(mode); gl_state.frontface.used = true; @@ -369,6 +466,9 @@ void rglFrontFace(GLenum mode) */ void rglDepthFunc(GLenum func) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDepthFunc.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); gl_state.depthfunc.used = true; gl_state.depthfunc.func = func; @@ -383,6 +483,9 @@ void rglDepthFunc(GLenum func) void rglColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glColorMask.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glColorMask(red, green, blue, alpha); gl_state.colormask.red = red; @@ -399,6 +502,9 @@ void rglColorMask(GLboolean red, GLboolean green, */ void rglCullFace(GLenum mode) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCullFace.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glCullFace(mode); gl_state.cullface.used = true; @@ -412,6 +518,9 @@ void rglCullFace(GLenum mode) */ void rglStencilOp(GLenum sfail, GLenum dpfail, GLenum dppass) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glStencilOp.\n"); +#endif glStencilOp(sfail, dpfail, dppass); gl_state.stencilop.used = true; gl_state.stencilop.sfail = sfail; @@ -426,6 +535,9 @@ void rglStencilOp(GLenum sfail, GLenum dpfail, GLenum dppass) */ void rglStencilFunc(GLenum func, GLint ref, GLuint mask) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glStencilFunc.\n"); +#endif glStencilFunc(func, ref, mask); gl_state.stencilfunc.used = true; gl_state.stencilfunc.func = func; @@ -440,6 +552,9 @@ void rglStencilFunc(GLenum func, GLint ref, GLuint mask) */ GLboolean rglIsEnabled(GLenum cap) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glIsEnabled.\n"); +#endif return gl_state.cap_state[cap] ? GL_TRUE : GL_FALSE; } @@ -451,6 +566,9 @@ GLboolean rglIsEnabled(GLenum cap) void rglClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClearColor.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glClearColor(red, green, blue, alpha); gl_state.clear_color.r = red; @@ -466,6 +584,9 @@ void rglClearColor(GLclampf red, GLclampf green, */ void rglScissor(GLint x, GLint y, GLsizei width, GLsizei height) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glScissor.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glScissor(x, y, width, height); gl_state.scissor.used = true; @@ -482,6 +603,9 @@ void rglScissor(GLint x, GLint y, GLsizei width, GLsizei height) */ void rglViewport(GLint x, GLint y, GLsizei width, GLsizei height) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glViewport.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glViewport(x, y, width, height); gl_state.viewport.x = x; @@ -492,6 +616,9 @@ void rglViewport(GLint x, GLint y, GLsizei width, GLsizei height) void rglBlendFunc(GLenum sfactor, GLenum dfactor) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlendFunc.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); gl_state.blendfunc.used = true; gl_state.blendfunc.sfactor = sfactor; @@ -507,6 +634,9 @@ void rglBlendFunc(GLenum sfactor, GLenum dfactor) */ void rglBlendFuncSeparate(GLenum sfactor, GLenum dfactor) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlendFuncSeparate.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); gl_state.blendfunc_separate.used = true; gl_state.blendfunc_separate.srcRGB = sfactor; @@ -524,6 +654,9 @@ void rglBlendFuncSeparate(GLenum sfactor, GLenum dfactor) */ void rglActiveTexture(GLenum texture) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glActiveTexture.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glActiveTexture(texture); gl_state.active_texture = texture - GL_TEXTURE0; @@ -536,6 +669,9 @@ void rglActiveTexture(GLenum texture) */ void rglBindTexture(GLenum target, GLuint texture) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindTexture.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glBindTexture(target, texture); gl_state.bind_textures.ids[gl_state.active_texture] = texture; @@ -548,6 +684,9 @@ void rglBindTexture(GLenum target, GLuint texture) */ void rglDisable(GLenum cap) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDisable.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glDisable(gl_state.cap_translate[cap]); gl_state.cap_state[cap] = 0; @@ -560,6 +699,9 @@ void rglDisable(GLenum cap) */ void rglEnable(GLenum cap) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glEnable.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glEnable(gl_state.cap_translate[cap]); gl_state.cap_state[cap] = 1; @@ -573,6 +715,9 @@ void rglEnable(GLenum cap) */ void rglUseProgram(GLuint program) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUseProgram.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); gl_state.program = program; glUseProgram(program); @@ -585,6 +730,9 @@ void rglUseProgram(GLuint program) */ void rglDepthMask(GLboolean flag) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDepthMask.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glDepthMask(flag); gl_state.depthmask.used = true; @@ -598,6 +746,9 @@ void rglDepthMask(GLboolean flag) */ void rglStencilMask(GLenum mask) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glStencilMask.\n"); +#endif glStencilMask(mask); gl_state.stencilmask.used = true; gl_state.stencilmask.mask = mask; @@ -611,6 +762,9 @@ void rglStencilMask(GLenum mask) void rglBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBufferData.\n"); +#endif glBufferData(target, size, data, usage); } @@ -622,6 +776,9 @@ void rglBufferData(GLenum target, GLsizeiptr size, void rglBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBufferSubData.\n"); +#endif glBufferSubData(target, offset, size, data); } @@ -632,6 +789,9 @@ void rglBufferSubData(GLenum target, GLintptr offset, */ void rglBindBuffer(GLenum target, GLuint buffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindBuffer.\n"); +#endif if (target == GL_ARRAY_BUFFER) gl_state.array_buffer = buffer; glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); @@ -646,6 +806,9 @@ void rglBindBuffer(GLenum target, GLuint buffer) */ void rglLinkProgram(GLuint program) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glLinkProgram.\n"); +#endif glLinkProgram(program); } @@ -659,6 +822,9 @@ void rglLinkProgram(GLuint program) void rglFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFramebufferTexture2D.\n"); +#endif glFramebufferTexture2D(target, attachment, textarget, texture, level); } @@ -672,6 +838,9 @@ void rglFramebufferTexture2D(GLenum target, GLenum attachment, void rglFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFramebufferTexture.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3_2) glFramebufferTexture(target, attachment, texture, level); #endif @@ -684,6 +853,9 @@ void rglFramebufferTexture(GLenum target, GLenum attachment, */ void rglDrawArrays(GLenum mode, GLint first, GLsizei count) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDrawArrays.\n"); +#endif glDrawArrays(mode, first, count); } @@ -695,6 +867,9 @@ void rglDrawArrays(GLenum mode, GLint first, GLsizei count) void rglDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDrawElements.\n"); +#endif glDrawElements(mode, count, type, indices); } @@ -702,6 +877,9 @@ void rglCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCompressedTexImage2D.\n"); +#endif glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } @@ -709,11 +887,17 @@ void rglCompressedTexImage2D(GLenum target, GLint level, void rglDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteFramebuffers.\n"); +#endif glDeleteFramebuffers(n, framebuffers); } void rglDeleteTextures(GLsizei n, const GLuint *textures) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteTextures.\n"); +#endif glDeleteTextures(n, textures); } @@ -725,6 +909,9 @@ void rglDeleteTextures(GLsizei n, const GLuint *textures) void rglRenderbufferStorage(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glRenderbufferStorage.\n"); +#endif glRenderbufferStorage(target, internalFormat, width, height); } @@ -737,6 +924,9 @@ void rglRenderbufferStorage(GLenum target, GLenum internalFormat, */ void rglBindRenderbuffer(GLenum target, GLuint renderbuffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindRenderbuffer.\n"); +#endif glBindRenderbuffer(target, renderbuffer); } @@ -748,6 +938,9 @@ void rglBindRenderbuffer(GLenum target, GLuint renderbuffer) */ void rglDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteRenderbuffers.\n"); +#endif glDeleteRenderbuffers(n, renderbuffers); } @@ -760,6 +953,9 @@ void rglDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers) */ void rglGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenRenderbuffers.\n"); +#endif glGenRenderbuffers(n, renderbuffers); } @@ -772,6 +968,9 @@ void rglGenRenderbuffers(GLsizei n, GLuint *renderbuffers) */ void rglGenerateMipmap(GLenum target) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenerateMipmap.\n"); +#endif glGenerateMipmap(target); } @@ -783,6 +982,9 @@ void rglGenerateMipmap(GLenum target) */ GLenum rglCheckFramebufferStatus(GLenum target) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCheckFramebufferStatus.\n"); +#endif return glCheckFramebufferStatus(target); } @@ -796,6 +998,9 @@ GLenum rglCheckFramebufferStatus(GLenum target) void rglFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFramebufferRenderbuffer.\n"); +#endif glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } @@ -808,6 +1013,9 @@ void rglFramebufferRenderbuffer(GLenum target, GLenum attachment, void rglBindFragDataLocation(GLuint program, GLuint colorNumber, const char * name) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindFragDataLocation.\n"); +#endif #if !defined(HAVE_OPENGLES2) glBindFragDataLocation(program, colorNumber, name); #endif @@ -822,6 +1030,9 @@ void rglBindFragDataLocation(GLuint program, GLuint colorNumber, */ void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetProgramiv.\n"); +#endif glGetProgramiv(shader, pname, params); } @@ -836,6 +1047,9 @@ void rglProgramParameteri( GLuint program, GLenum pname, GLint value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glProgramParameteri.\n"); +#endif #if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && (defined(HAVE_OPENGLES3) || defined(HAVE_OPENGLES_3_1)) glProgramParameteri(program, pname, value); #else @@ -851,9 +1065,68 @@ void rglProgramParameteri( GLuint program, void rglGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetActiveUniform.\n"); +#endif glGetActiveUniform(program, index, bufsize, length, size, type, name); } +void rglGenQueries( GLsizei n, + GLuint * ids) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenQueries.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glGenQueries(n, ids); +#endif +} + +void rglGetQueryObjectuiv( GLuint id, + GLenum pname, + GLuint * params) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetQueryObjectuiv.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glGetQueryObjectuiv(id, pname, params); +#endif +} + +void rglDeleteQueries( GLsizei n, + const GLuint * ids) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteQueries.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glDeleteQueries(n, ids); +#endif +} + +void rglBeginQuery( GLenum target, + GLuint id) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBeginQuery.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glBeginQuery(target, id); +#endif +} + +void rglEndQuery( GLenum target) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glEndQuery.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glEndQuery(target); +#endif +} + + /* * Category: UBO * @@ -867,6 +1140,9 @@ void rglGetActiveUniformBlockiv(GLuint program, GLenum pname, GLint *params) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetActiveUniformBlockiv.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); @@ -887,6 +1163,9 @@ void rglGetActiveUniformsiv( GLuint program, GLenum pname, GLint *params) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetActiveUniformsiv.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); @@ -906,6 +1185,9 @@ void rglGetUniformIndices(GLuint program, const GLchar **uniformNames, GLuint *uniformIndices) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetUniformIndices.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices); @@ -925,6 +1207,9 @@ void rglBindBufferBase( GLenum target, GLuint index, GLuint buffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindBufferBase.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glBindBufferBase(target, index, buffer); #else @@ -943,6 +1228,9 @@ void rglBindBufferBase( GLenum target, GLuint rglGetUniformBlockIndex( GLuint program, const GLchar *uniformBlockName) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetUniformBlockIndex.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) return glGetUniformBlockIndex(program, uniformBlockName); #else @@ -962,6 +1250,9 @@ void rglUniformBlockBinding( GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniformBlockBinding.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); @@ -978,6 +1269,9 @@ void rglUniformBlockBinding( GLuint program, */ void rglUniform1ui(GLint location, GLuint v) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform1ui.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glUniform1ui(location ,v); #endif @@ -991,6 +1285,9 @@ void rglUniform1ui(GLint location, GLuint v) */ void rglUniform2ui(GLint location, GLuint v0, GLuint v1) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform2ui.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glUniform2ui(location, v0, v1); #endif @@ -1004,6 +1301,9 @@ void rglUniform2ui(GLint location, GLuint v0, GLuint v1) */ void rglUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform3ui.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glUniform3ui(location, v0, v1, v2); #endif @@ -1017,6 +1317,9 @@ void rglUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) */ void rglUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform4ui.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glUniform4ui(location, v0, v1, v2, v3); #endif @@ -1030,6 +1333,9 @@ void rglUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniformMatrix4fv.\n"); +#endif glUniformMatrix4fv(location, count, transpose, value); } @@ -1041,6 +1347,9 @@ void rglUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, */ void rglDetachShader(GLuint program, GLuint shader) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDetachShader.\n"); +#endif glDetachShader(program, shader); } @@ -1052,6 +1361,9 @@ void rglDetachShader(GLuint program, GLuint shader) */ void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetShaderiv.\n"); +#endif glGetShaderiv(shader, pname, params); } @@ -1063,6 +1375,9 @@ void rglGetShaderiv(GLuint shader, GLenum pname, GLint *params) */ void rglAttachShader(GLuint program, GLuint shader) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glAttachShader.\n"); +#endif glAttachShader(program, shader); } @@ -1073,6 +1388,9 @@ void rglAttachShader(GLuint program, GLuint shader) */ GLint rglGetAttribLocation(GLuint program, const GLchar *name) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetAttribLocation.\n"); +#endif return glGetAttribLocation(program, name); } @@ -1085,6 +1403,9 @@ GLint rglGetAttribLocation(GLuint program, const GLchar *name) void rglShaderSource(GLuint shader, GLsizei count, const GLchar **string, const GLint *length) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glShaderSource.\n"); +#endif return glShaderSource(shader, count, string, length); } @@ -1096,6 +1417,9 @@ void rglShaderSource(GLuint shader, GLsizei count, */ void rglCompileShader(GLuint shader) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCompileShader.\n"); +#endif glCompileShader(shader); } @@ -1107,6 +1431,9 @@ void rglCompileShader(GLuint shader) */ GLuint rglCreateProgram(void) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCreateProgram.\n"); +#endif return glCreateProgram(); } @@ -1117,6 +1444,9 @@ GLuint rglCreateProgram(void) */ void rglGenTextures(GLsizei n, GLuint *textures) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenTextures.\n"); +#endif glGenTextures(n, textures); } @@ -1128,6 +1458,9 @@ void rglGenTextures(GLsizei n, GLuint *textures) void rglGetShaderInfoLog(GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetShaderInfoLog.\n"); +#endif glGetShaderInfoLog(shader, maxLength, length, infoLog); } @@ -1139,6 +1472,9 @@ void rglGetShaderInfoLog(GLuint shader, GLsizei maxLength, void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetProgramInfoLog.\n"); +#endif glGetProgramInfoLog(shader, maxLength, length, infoLog); } @@ -1149,6 +1485,9 @@ void rglGetProgramInfoLog(GLuint shader, GLsizei maxLength, */ GLboolean rglIsProgram(GLuint program) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glIsProgram.\n"); +#endif return glIsProgram(program); } @@ -1156,6 +1495,9 @@ GLboolean rglIsProgram(GLuint program) void rglTexCoord2f(GLfloat s, GLfloat t) { #ifdef HAVE_LEGACY_GL +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexCoord2f.\n"); +#endif glTexCoord2f(s, t); #endif } @@ -1169,6 +1511,9 @@ void rglTexCoord2f(GLfloat s, GLfloat t) */ void rglDisableVertexAttribArray(GLuint index) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDisableVertexAttribArray.\n"); +#endif gl_state.vertex_attrib_pointer.enabled[index] = 0; glDisableVertexAttribArray(index); } @@ -1181,6 +1526,9 @@ void rglDisableVertexAttribArray(GLuint index) */ void rglEnableVertexAttribArray(GLuint index) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glEnableVertexAttribArray.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); gl_state.vertex_attrib_pointer.enabled[index] = 1; glEnableVertexAttribArray(index); @@ -1199,6 +1547,9 @@ void rglVertexAttribIPointer( GLsizei stride, const GLvoid * pointer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glVertexAttribIPointer.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glVertexAttribIPointer(index, size, type, stride, pointer); #endif @@ -1211,6 +1562,9 @@ void rglVertexAttribLPointer( GLsizei stride, const GLvoid * pointer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glVertexAttribLPointer.\n"); +#endif #if defined(HAVE_OPENGL) glVertexAttribLPointer(index, size, type, stride, pointer); #endif @@ -1226,6 +1580,9 @@ void rglVertexAttribPointer(GLuint name, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glVertexAttribPointer.\n"); +#endif gl_state.attrib_pointer.used[name] = 1; gl_state.attrib_pointer.size[name] = size; gl_state.attrib_pointer.type[name] = type; @@ -1244,6 +1601,9 @@ void rglVertexAttribPointer(GLuint name, GLint size, */ void rglBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindAttribLocation.\n"); +#endif glBindAttribLocation(program, index, name); } @@ -1255,7 +1615,10 @@ void rglBindAttribLocation(GLuint program, GLuint index, const GLchar *name) void rglVertexAttrib4f(GLuint name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - glVertexAttrib4f(name, x, y, z, w); +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glVertexAttrib4f.\n"); +#endif + glVertexAttrib4f(name, x, y, z, w); } /* @@ -1265,7 +1628,10 @@ void rglVertexAttrib4f(GLuint name, GLfloat x, GLfloat y, */ void rglVertexAttrib4fv(GLuint name, GLfloat* v) { - glVertexAttrib4fv(name, v); +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glVertexAttrib4fv.\n"); +#endif + glVertexAttrib4fv(name, v); } /* @@ -1276,6 +1642,9 @@ void rglVertexAttrib4fv(GLuint name, GLfloat* v) */ GLuint rglCreateShader(GLenum shaderType) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCreateShader.\n"); +#endif return glCreateShader(shaderType); } @@ -1287,6 +1656,9 @@ GLuint rglCreateShader(GLenum shaderType) */ void rglDeleteProgram(GLuint program) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteProgram.\n"); +#endif glDeleteProgram(program); } @@ -1298,6 +1670,9 @@ void rglDeleteProgram(GLuint program) */ void rglDeleteShader(GLuint shader) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteShader.\n"); +#endif glDeleteShader(shader); } @@ -1309,6 +1684,9 @@ void rglDeleteShader(GLuint shader) */ GLint rglGetUniformLocation(GLuint program, const GLchar *name) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetUniformLocation.\n"); +#endif return glGetUniformLocation(program, name); } @@ -1320,6 +1698,9 @@ GLint rglGetUniformLocation(GLuint program, const GLchar *name) */ void rglDeleteBuffers(GLsizei n, const GLuint *buffers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteBuffers.\n"); +#endif glDeleteBuffers(n, buffers); } @@ -1331,6 +1712,9 @@ void rglDeleteBuffers(GLsizei n, const GLuint *buffers) */ void rglGenBuffers(GLsizei n, GLuint *buffers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenBuffers.\n"); +#endif glGenBuffers(n, buffers); } @@ -1342,6 +1726,9 @@ void rglGenBuffers(GLsizei n, GLuint *buffers) */ void rglUniform1f(GLint location, GLfloat v0) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform1f.\n"); +#endif glUniform1f(location, v0); } @@ -1353,6 +1740,9 @@ void rglUniform1f(GLint location, GLfloat v0) */ void rglUniform1fv(GLint location, GLsizei count, const GLfloat *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform1fv.\n"); +#endif glUniform1fv(location, count, value); } @@ -1364,6 +1754,9 @@ void rglUniform1fv(GLint location, GLsizei count, const GLfloat *value) */ void rglUniform1iv(GLint location, GLsizei count, const GLint *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform1iv.\n"); +#endif glUniform1iv(location, count, value); } @@ -1371,6 +1764,9 @@ void rglClearBufferfv( GLenum buffer, GLint drawBuffer, const GLfloat * value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClearBufferfv.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3) glClearBufferfv(buffer, drawBuffer, value); #endif @@ -1378,6 +1774,9 @@ void rglClearBufferfv( GLenum buffer, void rglTexBuffer(GLenum target, GLenum internalFormat, GLuint buffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexBuffer.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3_2) glTexBuffer(target, internalFormat, buffer); #endif @@ -1391,6 +1790,9 @@ void rglTexBuffer(GLenum target, GLenum internalFormat, GLuint buffer) */ const GLubyte* rglGetStringi(GLenum name, GLuint index) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetString.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3) return glGetStringi(name, index); #else @@ -1403,6 +1805,9 @@ void rglClearBufferfi( GLenum buffer, GLfloat depth, GLint stencil) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClearBufferfi.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3) glClearBufferfi(buffer, drawBuffer, depth, stencil); #endif @@ -1420,6 +1825,9 @@ void rglRenderbufferStorageMultisample( GLenum target, GLsizei width, GLsizei height) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glRenderbufferStorageMultisample.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3) glRenderbufferStorageMultisample(target, samples, internalformat, width, height); #endif @@ -1433,6 +1841,9 @@ void rglRenderbufferStorageMultisample( GLenum target, */ void rglUniform1i(GLint location, GLint v0) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform1i.\n"); +#endif glUniform1i(location, v0); } @@ -1444,6 +1855,9 @@ void rglUniform1i(GLint location, GLint v0) */ void rglUniform2f(GLint location, GLfloat v0, GLfloat v1) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform2f.\n"); +#endif glUniform2f(location, v0, v1); } @@ -1455,6 +1869,9 @@ void rglUniform2f(GLint location, GLfloat v0, GLfloat v1) */ void rglUniform2i(GLint location, GLint v0, GLint v1) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform2i.\n"); +#endif glUniform2i(location, v0, v1); } @@ -1466,6 +1883,9 @@ void rglUniform2i(GLint location, GLint v0, GLint v1) */ void rglUniform2fv(GLint location, GLsizei count, const GLfloat *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform2fv.\n"); +#endif glUniform2fv(location, count, value); } @@ -1477,6 +1897,9 @@ void rglUniform2fv(GLint location, GLsizei count, const GLfloat *value) */ void rglUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform3f.\n"); +#endif glUniform3f(location, v0, v1, v2); } @@ -1488,6 +1911,9 @@ void rglUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) */ void rglUniform3fv(GLint location, GLsizei count, const GLfloat *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform3fv.\n"); +#endif glUniform3fv(location, count, value); } @@ -1499,6 +1925,9 @@ void rglUniform3fv(GLint location, GLsizei count, const GLfloat *value) */ void rglUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform4i.\n"); +#endif glUniform4i(location, v0, v1, v2, v3); } @@ -1510,6 +1939,9 @@ void rglUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) */ void rglUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform4f.\n"); +#endif glUniform4f(location, v0, v1, v2, v3); } @@ -1521,6 +1953,9 @@ void rglUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 */ void rglUniform4fv(GLint location, GLsizei count, const GLfloat *value) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform4fv.\n"); +#endif glUniform4fv(location, count, value); } @@ -1532,6 +1967,9 @@ void rglUniform4fv(GLint location, GLsizei count, const GLfloat *value) */ void rglPolygonOffset(GLfloat factor, GLfloat units) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glPolygonOffset.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glPolygonOffset(factor, units); gl_state.polygonoffset.used = true; @@ -1547,6 +1985,9 @@ void rglPolygonOffset(GLfloat factor, GLfloat units) */ void rglGenFramebuffers(GLsizei n, GLuint *ids) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenFramebuffers.\n"); +#endif glGenFramebuffers(n, ids); } @@ -1558,6 +1999,9 @@ void rglGenFramebuffers(GLsizei n, GLuint *ids) */ void rglBindFramebuffer(GLenum target, GLuint framebuffer) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindFramebuffer.\n"); +#endif glsm_ctl(GLSM_CTL_IMM_VBO_DRAW, NULL); glBindFramebuffer(target, framebuffer); gl_state.framebuf = framebuffer; @@ -1572,6 +2016,9 @@ void rglBindFramebuffer(GLenum target, GLuint framebuffer) */ void rglDrawBuffers(GLsizei n, const GLenum *bufs) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDrawBuffers.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glDrawBuffers(n, bufs); #endif @@ -1589,6 +2036,9 @@ void *rglMapBufferRange( GLenum target, GLsizeiptr length, GLbitfield access) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glMapBufferRange.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) return glMapBufferRange(target, offset, length, access); #else @@ -1607,6 +2057,9 @@ void rglTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexStorage2DMultisample.\n"); +#endif #if defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3_1) glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); @@ -1621,6 +2074,9 @@ void rglTexStorage2DMultisample(GLenum target, GLsizei samples, void rglTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexStorage2D.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glTexStorage2D(target, levels, internalFormat, width, height); #endif @@ -1634,6 +2090,9 @@ void rglTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat, */ void rglMemoryBarrier( GLbitfield barriers) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glMemoryBarrier.\n"); +#endif #if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES3) && defined(HAVE_OPENGLES_3_1) glMemoryBarrier(barriers); #else @@ -1655,6 +2114,9 @@ void rglBindImageTexture( GLuint unit, GLenum access, GLenum format) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindImageTexture.\n"); +#endif #if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES3) && defined(HAVE_OPENGLES_3_1) glBindImageTexture(unit, texture, level, layered, layer, access, format); #else @@ -1674,6 +2136,9 @@ void rglGetProgramBinary( GLuint program, GLenum *binaryFormat, void *binary) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGetProgramBinary.\n"); +#endif #if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glGetProgramBinary(program, bufsize, length, binaryFormat, binary); #else @@ -1692,6 +2157,9 @@ void rglProgramBinary(GLuint program, const void *binary, GLsizei length) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glProgramBinary.\n"); +#endif #if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3_1) glProgramBinary(program, binaryFormat, binary, length); #else @@ -1706,11 +2174,34 @@ void rglTexImage2DMultisample( GLenum target, GLsizei height, GLboolean fixedsamplelocations) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexImage2DMultisample.\n"); +#endif #ifndef HAVE_OPENGLES glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); #endif } + +void rglTexImage3D( GLenum target, + GLint level, + GLint internalFormat, + GLsizei width, + GLsizei height, + GLsizei depth, + GLint border, + GLenum format, + GLenum type, + const GLvoid * data) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTexImage3D.\n"); +#endif +#if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) + glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, data); +#endif +} + /* * * Core in: @@ -1718,6 +2209,9 @@ void rglTexImage2DMultisample( GLenum target, */ void * rglMapBuffer( GLenum target, GLenum access) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glMapBuffer.\n"); +#endif #if defined(HAVE_OPENGLES) return glMapBufferOES(target, access); #else @@ -1732,6 +2226,9 @@ void * rglMapBuffer( GLenum target, GLenum access) */ GLboolean rglUnmapBuffer( GLenum target) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUnmapBuffer.\n"); +#endif #if defined(HAVE_OPENGLES) return glUnmapBufferOES(target); #else @@ -1741,11 +2238,17 @@ GLboolean rglUnmapBuffer( GLenum target) void rglBlendEquation(GLenum mode) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlendEquation.\n"); +#endif glBlendEquation(mode); } void rglBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlendColor.\n"); +#endif glBlendColor(red, green, blue, alpha); } @@ -1757,6 +2260,9 @@ void rglBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) */ void rglBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBlendEquationSeparate.\n"); +#endif glBlendEquationSeparate(modeRGB, modeAlpha); } @@ -1782,6 +2288,9 @@ void rglCopyImageSubData( GLuint srcName, GLsizei srcHeight, GLsizei srcDepth) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glCopyImageSubData.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES_3_2) glCopyImageSubData(srcName, srcTarget, @@ -1810,6 +2319,9 @@ void rglCopyImageSubData( GLuint srcName, */ void rglBindVertexArray(GLuint array) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBindVertexArray.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glBindVertexArray(array); #endif @@ -1824,6 +2336,9 @@ void rglBindVertexArray(GLuint array) */ void rglGenVertexArrays(GLsizei n, GLuint *arrays) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glGenVertexArrays.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glGenVertexArrays(n, arrays); #endif @@ -1838,6 +2353,9 @@ void rglGenVertexArrays(GLsizei n, GLuint *arrays) */ void rglDeleteVertexArrays(GLsizei n, const GLuint *arrays) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteVertexArrays.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glDeleteVertexArrays(n, arrays); #endif @@ -1851,6 +2369,9 @@ void rglDeleteVertexArrays(GLsizei n, const GLuint *arrays) */ void *rglFenceSync(GLenum condition, GLbitfield flags) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFenceSync.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) return (GLsync)glFenceSync(condition, flags); #else @@ -1866,6 +2387,9 @@ void *rglFenceSync(GLenum condition, GLbitfield flags) */ void rglDeleteSync(void * sync) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDeleteSync.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glDeleteSync((GLsync)sync); #endif @@ -1879,6 +2403,9 @@ void rglDeleteSync(void * sync) */ void rglWaitSync(void *sync, GLbitfield flags, uint64_t timeout) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glWaitSync.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glWaitSync((GLsync)sync, flags, (GLuint64)timeout); #endif @@ -1890,9 +2417,53 @@ void rglWaitSync(void *sync, GLbitfield flags, uint64_t timeout) * OpenGL : 4.4 * OpenGLES : Not available */ -void rglBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags) { +void rglBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glBufferStorage.\n"); +#endif #if defined(HAVE_OPENGL) - glBufferStorage(target, size, data, flags); + glBufferStorage(target, size, data, flags); +#endif +} + +/* + * + * Core in: + * OpenGL : 3.0 + * OpenGLES : ?.? + */ + +void rglUniform2uiv( GLint location, + GLsizei count, + const GLuint *value) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glUniform2uiv.\n"); +#endif + glUniform2uiv(location, count, value); +} + +/* + * + * Core in: + * OpenGL : 4.3 + * OpenGLES : ?.? + */ +void rglTextureView( GLuint texture, + GLenum target, + GLuint origtexture, + GLenum internalformat, + GLuint minlevel, + GLuint numlevels, + GLuint minlayer, + GLuint numlayers) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glTextureView.\n"); +#endif +#if defined(HAVE_OPENGL) + glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); #endif } @@ -1902,7 +2473,11 @@ void rglBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitf * OpenGL : 3.0 * OpenGLES : 3.0 */ -void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { +void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glFlushMappedBufferRange.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) glFlushMappedBufferRange(target, offset, length); #endif @@ -1920,6 +2495,9 @@ void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length */ GLenum rglClientWaitSync(void *sync, GLbitfield flags, uint64_t timeout) { +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glClientWaitSync.\n"); +#endif #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3) return glClientWaitSync((GLsync)sync, flags, (GLuint64)timeout); #else @@ -1934,9 +2512,13 @@ GLenum rglClientWaitSync(void *sync, GLbitfield flags, uint64_t timeout) * OpenGLES : Not available */ void rglDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, - GLvoid *indices, GLint basevertex) { + GLvoid *indices, GLint basevertex) +{ +#ifdef GLSM_DEBUG + log_cb(RETRO_LOG_INFO, "glDrawElementsBaseVertex.\n"); +#endif #if defined(HAVE_OPENGL) - glDrawElementsBaseVertex(mode, count, type, indices, basevertex); + glDrawElementsBaseVertex(mode, count, type, indices, basevertex); #endif } diff --git a/libretro-common/glsym/glgen.py b/libretro-common/glsym/glgen.py index 3e2c810c05..898dcb3a10 100755 --- a/libretro-common/glsym/glgen.py +++ b/libretro-common/glsym/glgen.py @@ -107,6 +107,13 @@ if __name__ == '__main__': f.write('typedef GLint GLfixed;\n') f.write('#endif\n') + f.write('#if defined(OSX) && !defined(MAC_OS_X_VERSION_10_7)\n') + f.write('typedef long long int GLint64;\n') + f.write('typedef unsigned long long int GLuint64;\n') + f.write('typedef unsigned long long int GLuint64EXT;\n') + f.write('typedef struct __GLsync *GLsync;\n') + f.write('#endif\n') + dump(f, typedefs) dump(f, overrides) dump(f, externs) diff --git a/libretro-common/include/glsm/glsmsym.h b/libretro-common/include/glsm/glsmsym.h index 3611441919..87a8abb549 100644 --- a/libretro-common/include/glsm/glsmsym.h +++ b/libretro-common/include/glsm/glsmsym.h @@ -33,6 +33,18 @@ RETRO_BEGIN_DECLS #define glTexCoord2f rglTexCoord2f /* more forward-compatible GL subset symbols */ +#define glGetInteger64v rglGetInteger64v +#define glGenSamplers rglGenSamplers +#define glBindSampler rglBindSampler +#define glSamplerParameteri rglSamplerParameteri +#define glGetBufferSubData rglGetBufferSubData +#define glUniform2uiv rglUniform2uiv +#define glTextureView rglTextureView +#define glGetQueryObjectuiv rglGetQueryObjectuiv +#define glGenQueries rglGenQueries +#define glDeleteQueries rglDeleteQueries +#define glBeginQuery rglBeginQuery +#define glEndQuery rglEndQuery #define glBlitFramebuffer rglBlitFramebuffer #define glVertexAttrib4f rglVertexAttrib4f #define glVertexAttrib4fv rglVertexAttrib4fv @@ -135,13 +147,14 @@ RETRO_BEGIN_DECLS #define glUniformBlockBinding rglUniformBlockBinding #define glGetUniformBlockIndex rglGetUniformBlockIndex #define glGetActiveUniformBlockiv rglGetActiveUniformBlockiv -#define glBindBufferBase rglBindBufferBase +#define glBindBufferBase rglBindBufferBase #define glGetUniformIndices rglGetUniformIndices #define glGetActiveUniformsiv rglGetActiveUniformsiv #define glGetError rglGetError #define glClear rglClear #define glPolygonMode rglPolygonMode #define glLineWidth rglLineWidth +#define glTexImage3D rglTexImage3D #define glTexImage2DMultisample rglTexImage2DMultisample #define glTexStorage2DMultisample rglTexStorage2DMultisample #define glMemoryBarrier rglMemoryBarrier @@ -329,6 +342,27 @@ void rglVertexAttrib4f(GLuint name, GLfloat x, GLfloat y, void rglVertexAttrib4fv(GLuint name, GLfloat* v); void rglDeleteProgram(GLuint program); void rglDeleteBuffers(GLsizei n, const GLuint *buffers); +void rglUniform2uiv( GLint location, + GLsizei count, + const GLuint *value); +void rglTextureView( GLuint texture, + GLenum target, + GLuint origtexture, + GLenum internalformat, + GLuint minlevel, + GLuint numlevels, + GLuint minlayer, + GLuint numlayers); +void rglGenQueries( GLsizei n, + GLuint * ids); +void rglDeleteQueries( GLsizei n, + const GLuint * ids); +void rglBeginQuery( GLenum target, + GLuint id); +void rglEndQuery( GLenum target); +void rglGetQueryObjectuiv( GLuint id, + GLenum pname, + GLuint * params); void rglBlitFramebuffer( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, @@ -383,6 +417,16 @@ GLenum rglGetError(void); void rglClear(GLbitfield mask); void rglPolygonMode(GLenum face, GLenum mode); void rglLineWidth(GLfloat width); +void rglTexImage3D( GLenum target, + GLint level, + GLint internalFormat, + GLsizei width, + GLsizei height, + GLsizei depth, + GLint border, + GLenum format, + GLenum type, + const GLvoid * data); void rglTexImage2DMultisample( GLenum target, GLsizei samples, GLenum internalformat, @@ -408,6 +452,19 @@ void rglFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length GLenum rglClientWaitSync(void *sync, GLbitfield flags, uint64_t timeout); void rglDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, GLvoid *indices, GLint basevertex); +void rglGetBufferSubData( GLenum target, + GLintptr offset, + GLsizeiptr size, + GLvoid * data); +void rglSamplerParameteri( GLuint sampler, + GLenum pname, + GLint param); +void rglBindSampler( GLuint unit, + GLuint sampler); +void rglGenSamplers( GLsizei n, + GLuint *samplers); +void rglGetInteger64v( GLenum pname, + GLint64 * data); RETRO_END_DECLS