Don't fetch or use FBO attach params when object is 0

This commit is contained in:
baldurk
2015-08-08 14:54:36 -07:00
parent 3616524484
commit 249b79e383
+8 -4
View File
@@ -306,9 +306,13 @@ bool GLResourceManager::Prepare_InitialState(GLResource res, byte *blob)
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, (GLint*)&object);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, (GLint*)&type);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, &a.level);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_LAYERED, &layered);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, &a.layer);
if(object)
{
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, &a.level);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_LAYERED, &layered);
gl.glGetNamedFramebufferAttachmentParameterivEXT(res.name, data->attachmentNames[i], eGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, &a.layer);
}
a.layered = (layered != 0);
a.renderbuffer = (type == eGL_RENDERBUFFER);
@@ -1718,7 +1722,7 @@ void GLResourceManager::Apply_InitialState(GLResource live, InitialContentData i
}
else
{
gl.glNamedFramebufferTextureEXT(live.name, data->attachmentNames[i], obj, a.level);
gl.glNamedFramebufferTextureEXT(live.name, data->attachmentNames[i], obj, 0);
}
}
}