(gl core shaders) Simplification
This commit is contained in:
parent
3225876f0b
commit
51a69dff44
|
@ -679,10 +679,13 @@ void Framebuffer::set_size(const Size2D &size_, GLenum format_)
|
|||
|
||||
void Framebuffer::init()
|
||||
{
|
||||
GLenum status;
|
||||
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
|
||||
if (image != 0)
|
||||
{
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER,
|
||||
GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
|
||||
glDeleteTextures(1, &image);
|
||||
}
|
||||
|
||||
|
@ -704,12 +707,16 @@ void Framebuffer::init()
|
|||
format,
|
||||
size.width, size.height);
|
||||
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, image, 0);
|
||||
auto status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
bool fallback = false;
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER,
|
||||
GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, image, 0);
|
||||
|
||||
status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
complete = true;
|
||||
|
||||
if (status != GL_FRAMEBUFFER_COMPLETE)
|
||||
{
|
||||
complete = false;
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
|
||||
|
@ -721,20 +728,11 @@ void Framebuffer::init()
|
|||
break;
|
||||
|
||||
case GL_FRAMEBUFFER_UNSUPPORTED:
|
||||
RARCH_ERR("[GLCore]: Unsupported FBO, falling back to RGBA8.\n");
|
||||
fallback = true;
|
||||
break;
|
||||
}
|
||||
|
||||
complete = false;
|
||||
}
|
||||
else
|
||||
complete = true;
|
||||
|
||||
if (fallback)
|
||||
{
|
||||
unsigned levels;
|
||||
|
||||
RARCH_ERR("[GLCore]: Unsupported FBO, falling back to RGBA8.\n");
|
||||
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
|
||||
glDeleteTextures(1, &image);
|
||||
glGenTextures(1, &image);
|
||||
|
@ -747,8 +745,10 @@ void Framebuffer::init()
|
|||
GL_RGBA8,
|
||||
size.width, size.height);
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, image, 0);
|
||||
status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
complete = status == GL_FRAMEBUFFER_COMPLETE;
|
||||
complete = glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
|
|
Loading…
Reference in New Issue