From 82bbe690b1171e5a9fdccb4ea52bc8e84ff943f5 Mon Sep 17 00:00:00 2001 From: Marcel Szewczyk Date: Sun, 13 Jan 2019 17:33:23 +0100 Subject: [PATCH] Stencil support for OpenGL added - requires OpenGL >= 3 --- core/rend/gles/gles.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/rend/gles/gles.cpp b/core/rend/gles/gles.cpp index 5415c7544..578538fdd 100755 --- a/core/rend/gles/gles.cpp +++ b/core/rend/gles/gles.cpp @@ -1601,7 +1601,8 @@ void fullscreenQuadCreateTemporaryFBO(float & screenToNativeXScale, float & scre glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, screen_width, screen_height); } #else - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, screen_width, screen_height); + //OpenGL >= 3.0 is required + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, screen_width, screen_height); #endif } @@ -1622,10 +1623,14 @@ void fullscreenQuadCreateTemporaryFBO(float & screenToNativeXScale, float & scre glBindFramebuffer(GL_FRAMEBUFFER, fullscreenQuad.framebuffer); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fullscreenQuad.framebufferTexture, 0); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, fullscreenQuad.framebufferRenderbuffer); +#ifdef GLES if (isExtensionSupported("GL_OES_packed_depth_stencil")) { glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fullscreenQuad.framebufferRenderbuffer); } - +#else + //OpenGL >= 3.0 is required + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fullscreenQuad.framebufferRenderbuffer); +#endif GLuint uStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER); verify(uStatus == GL_FRAMEBUFFER_COMPLETE); }