mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
GLES2 fixes in frame/depth buffer initialization.
This commit is contained in:
parent
14168d3ddc
commit
e784ea7205
|
@ -181,10 +181,15 @@ void DepthBuffer_SetBuffer( u32 address )
|
|||
if (config.frameBufferEmulation.enable) {
|
||||
glGenRenderbuffers(1, ¤t->renderbuf);
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, current->renderbuf);
|
||||
#ifndef GLES2
|
||||
const GLenum format = GL_DEPTH_COMPONENT;
|
||||
#else
|
||||
const GLenum format = GL_DEPTH_COMPONENT24_OES;
|
||||
#endif
|
||||
if (pFrameBuffer != NULL)
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, pFrameBuffer->texture->realWidth, pFrameBuffer->texture->realHeight);
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, format, pFrameBuffer->texture->realWidth, pFrameBuffer->texture->realHeight);
|
||||
else
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, (u32)pow2(OGL.width), (u32)pow2(OGL.height));
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, format, (u32)pow2(OGL.width), (u32)pow2(OGL.height));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -410,7 +410,7 @@ void FrameBuffer_AttachDepthBuffer()
|
|||
if (depthBuffer.top->depth_texture == NULL)
|
||||
_initDepthTexture();
|
||||
frameBuffer.top->pDepthBuffer = depthBuffer.top;
|
||||
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer.top->renderbuf);
|
||||
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer.top->renderbuf);
|
||||
#ifndef GLES2
|
||||
GLuint attachments[2] = { GL_COLOR_ATTACHMENT0, GL_DEPTH_ATTACHMENT };
|
||||
glDrawBuffers(2, attachments);
|
||||
|
|
12
OpenGL.cpp
12
OpenGL.cpp
|
@ -1302,25 +1302,25 @@ void OGL_SwapBuffers()
|
|||
}
|
||||
|
||||
bool checkFBO() {
|
||||
GLenum e = glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER);
|
||||
GLenum e = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
switch (e) {
|
||||
// case GL_FRAMEBUFFER_UNDEFINED:
|
||||
// printf("FBO Undefined\n");
|
||||
// break;
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :
|
||||
printf("FBO Incomplete Attachment\n");
|
||||
LOG(LOG_ERROR, "[gles2GlideN64]: FBO Incomplete Attachment\n");
|
||||
break;
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :
|
||||
printf("FBO Missing Attachment\n");
|
||||
LOG(LOG_ERROR, "[gles2GlideN64]: FBO Missing Attachment\n");
|
||||
break;
|
||||
// case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :
|
||||
// printf("FBO Incomplete Draw Buffer\n");
|
||||
// break;
|
||||
case GL_FRAMEBUFFER_UNSUPPORTED :
|
||||
printf("FBO Unsupported\n");
|
||||
LOG(LOG_ERROR, "[gles2GlideN64]: FBO Unsupported\n");
|
||||
break;
|
||||
case GL_FRAMEBUFFER_COMPLETE:
|
||||
printf("FBO OK\n");
|
||||
LOG(LOG_VERBOSE, "[gles2GlideN64]: FBO OK\n");
|
||||
break;
|
||||
// case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT:
|
||||
// printf("framebuffer FRAMEBUFFER_DIMENSIONS\n");
|
||||
|
@ -1329,7 +1329,7 @@ bool checkFBO() {
|
|||
// printf("framebuffer INCOMPLETE_FORMATS\n");
|
||||
// break;
|
||||
default:
|
||||
printf("FBO Problem?\n");
|
||||
LOG(LOG_ERROR, "[gles2GlideN64]: FBO Problem?\n");
|
||||
}
|
||||
return e == GL_FRAMEBUFFER_COMPLETE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user