This commit is contained in:
twinaphex 2016-05-06 22:40:11 +02:00
parent dd36a3792c
commit d997526a1d
2 changed files with 155 additions and 0 deletions

View File

@ -778,6 +778,24 @@ void rglGetProgramiv(GLuint shader, GLenum pname, GLint *params)
glGetProgramiv(shader, pname, params);
}
/*
* Category: Shaders
*
* Core in:
* OpenGL : 4.1
* OpenGLES : 3.0
*/
void rglProgramParameteri( GLuint program,
GLenum pname,
GLint value)
{
#if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && (defined(HAVE_OPENGLES3) || defined(HAVE_OPENGLES31))
glProgramParameteri(program, pname, value);
#else
printf("WARNING! Not implemented.\n");
#endif
}
/*
*
* Core in:
@ -1403,6 +1421,107 @@ void *rglMapBufferRange( GLenum target,
#endif
}
/*
*
* Core in:
* OpenGL : 4.3
* OpenGLES : 3.1
*/
void rglTexStorage2DMultisample(GLenum target, GLsizei samples,
GLenum internalformat, GLsizei width, GLsizei height,
GLboolean fixedsamplelocations)
{
#if defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES31)
glTexStorage2DMultisample(target, samples, internalformat,
width, height, fixedsamplelocations);
#endif
}
/*
*
* Core in:
* OpenGL : 4.2
* OpenGLES : 3.1
*/
void rglMemoryBarrier( GLbitfield barriers)
{
#if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES3) && defined(HAVE_OPENGLES31)
glMemoryBarrier(barriers);
#else
printf("WARNING! Not implemented.\n");
#endif
}
/*
*
* Core in:
* OpenGL : 4.2
* OpenGLES : 3.1
*/
void rglBindImageTexture( GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format)
{
#if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES3) && defined(HAVE_OPENGLES31)
glBindImageTexture(unit, texture, level, layered, layer, access, format);
#else
printf("WARNING! Not implemented.\n");
#endif
}
/*
*
* Core in:
* OpenGL : 4.1
* OpenGLES : 3.1
*/
void rglGetProgramBinary( GLuint program,
GLsizei bufsize,
GLsizei *length,
GLenum *binaryFormat,
void *binary)
{
#if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES3)
glGetProgramBinary(program, bufsize, length, binaryFormat, binary);
#else
printf("WARNING! Not implemented.\n");
#endif
}
/*
*
* Core in:
* OpenGL : 4.1
* OpenGLES : 3.1
*/
void rglProgramBinary(GLuint program,
GLenum binaryFormat,
const void *binary,
GLsizei length)
{
#if !defined(HAVE_OPENGLES) || defined(HAVE_OPENGLES) && defined(HAVE_OPENGLES31)
glProgramBinary(program, binaryFormat, binary, length);
#else
printf("WARNING! Not implemented.\n");
#endif
}
void rglTexImage2DMultisample( GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations)
{
#ifndef HAVE_OPENGLES
glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
#endif
}
void * rglMapBuffer( GLenum target, GLenum access)
{
#if defined(HAVE_OPENGLES)

View File

@ -141,7 +141,36 @@ RETRO_BEGIN_DECLS
#define glClear rglClear
#define glPolygonMode rglPolygonMode
#define glLineWidth rglLineWidth
#define glTexImage2DMultisample rglTexImage2DMultisample
#define glTexStorage2DMultisample rglTexStorage2DMultisample
#define glMemoryBarrier rglMemoryBarrier
#define glBindImageTexture rglBindImageTexture
#define glProgramBinary rglProgramBinary
#define glGetProgramBinary rglGetProgramBinary
#define glProgramParameteri rglProgramParameteri
void rglProgramParameteri( GLuint program,
GLenum pname,
GLint value);
void rglGetProgramBinary( GLuint program,
GLsizei bufsize,
GLsizei *length,
GLenum *binaryFormat,
void *binary);
void rglProgramBinary(GLuint program,
GLenum binaryFormat,
const void *binary,
GLsizei length);
void rglBindImageTexture( GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format);
void rglTexStorage2DMultisample(GLenum target, GLsizei samples,
GLenum internalformat, GLsizei width, GLsizei height,
GLboolean fixedsamplelocations);
void rglGetActiveUniformsiv( GLuint program,
GLsizei uniformCount,
const GLuint *uniformIndices,
@ -318,6 +347,13 @@ GLenum rglGetError(void);
void rglClear(GLbitfield mask);
void rglPolygonMode(GLenum face, GLenum mode);
void rglLineWidth(GLfloat width);
void rglTexImage2DMultisample( GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations);
void rglMemoryBarrier( GLbitfield barriers);
RETRO_END_DECLS