(GL) Define RARCH_GL_RENDERBUFFER and RARCH_GL_DEPTH24_STENCIL8

This commit is contained in:
twinaphex 2014-05-22 20:44:33 +02:00
parent 2eea12e17e
commit 9fd55c301c
2 changed files with 18 additions and 16 deletions

View File

@ -730,36 +730,30 @@ static bool gl_init_hw_render(gl_t *gl, unsigned width, unsigned height)
{ {
if (stencil) if (stencil)
{ {
glBindRenderbuffer(RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
glRenderbufferStorage(RARCH_GL_RENDERBUFFER, RARCH_GL_DEPTH24_STENCIL8, width, height);
glBindRenderbuffer(RARCH_GL_RENDERBUFFER, 0);
#ifdef HAVE_OPENGLES2 #ifdef HAVE_OPENGLES2
// GLES2 is a bit weird, as always. :P // GLES2 is a bit weird, as always. :P
glBindRenderbuffer(GL_RENDERBUFFER, gl->hw_render_depth[i]);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES,
width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0);
// There's no GL_DEPTH_STENCIL_ATTACHMENT like in desktop GL. // There's no GL_DEPTH_STENCIL_ATTACHMENT like in desktop GL.
glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
GL_RENDERBUFFER, gl->hw_render_depth[i]); RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
GL_RENDERBUFFER, gl->hw_render_depth[i]); RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
#else #else
// We use ARB FBO extensions, no need to check. // We use ARB FBO extensions, no need to check.
glBindRenderbuffer(GL_RENDERBUFFER, gl->hw_render_depth[i]);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8,
width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0);
glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT,
GL_RENDERBUFFER, gl->hw_render_depth[i]); RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
#endif #endif
} }
else else
{ {
glBindRenderbuffer(GL_RENDERBUFFER, gl->hw_render_depth[i]); glBindRenderbuffer(RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, glRenderbufferStorage(RARCH_GL_RENDERBUFFER, GL_DEPTH_COMPONENT16,
width, height); width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0); glBindRenderbuffer(RARCH_GL_RENDERBUFFER, 0);
glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, glFramebufferRenderbuffer(RARCH_GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
GL_RENDERBUFFER, gl->hw_render_depth[i]); RARCH_GL_RENDERBUFFER, gl->hw_render_depth[i]);
} }
} }

View File

@ -76,6 +76,14 @@
#define RARCH_GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0 #define RARCH_GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0
#endif #endif
#if defined(HAVE_OPENGLES2)
#define RARCH_GL_RENDERBUFFER GL_RENDERBUFFER
#define RARCH_GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_OES
#else
#define RARCH_GL_RENDERBUFFER GL_RENDERBUFFER
#define RARCH_GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8
#endif
static inline bool gl_check_error(void) static inline bool gl_check_error(void)
{ {
int error = glGetError(); int error = glGetError();