Don't fetch mip/layer for renderbuffers

* Renderbuffers are a legacy concept that some programs still use, but they
  don't have array layers or mips
This commit is contained in:
baldurk
2020-06-15 14:58:49 +01:00
parent 9805c9d662
commit 43eaca0266
@@ -2027,13 +2027,15 @@ bool WrappedOpenGL::Serialise_glBlitNamedFramebuffer(SerialiserType &ser,
draw.copyDestination = GetResourceManager()->GetOriginalID(dstid);
GLint mip = 0, slice = 0;
GetFramebufferMipAndLayer(drawFramebuffer.name, eGL_COLOR_ATTACHMENT0, &mip, &slice);
if(dsttype == eGL_TEXTURE)
GetFramebufferMipAndLayer(drawFramebuffer.name, eGL_COLOR_ATTACHMENT0, &mip, &slice);
draw.copyDestinationSubresource.mip = mip;
draw.copyDestinationSubresource.slice = slice;
mip = 0;
slice = 0;
GetFramebufferMipAndLayer(readFramebuffer.name, eGL_COLOR_ATTACHMENT0, &mip, &slice);
if(srctype == eGL_TEXTURE)
GetFramebufferMipAndLayer(readFramebuffer.name, eGL_COLOR_ATTACHMENT0, &mip, &slice);
draw.copySourceSubresource.mip = mip;
draw.copySourceSubresource.slice = slice;
}
@@ -2046,13 +2048,15 @@ bool WrappedOpenGL::Serialise_glBlitNamedFramebuffer(SerialiserType &ser,
draw.copyDestination = GetResourceManager()->GetOriginalID(dstid);
GLint mip = 0, slice = 0;
GetFramebufferMipAndLayer(drawFramebuffer.name, eGL_DEPTH_ATTACHMENT, &mip, &slice);
if(dsttype == eGL_TEXTURE)
GetFramebufferMipAndLayer(drawFramebuffer.name, eGL_DEPTH_ATTACHMENT, &mip, &slice);
draw.copyDestinationSubresource.mip = mip;
draw.copyDestinationSubresource.slice = slice;
mip = 0;
slice = 0;
GetFramebufferMipAndLayer(readFramebuffer.name, eGL_DEPTH_ATTACHMENT, &mip, &slice);
if(srctype == eGL_TEXTURE)
GetFramebufferMipAndLayer(readFramebuffer.name, eGL_DEPTH_ATTACHMENT, &mip, &slice);
draw.copySourceSubresource.mip = mip;
draw.copySourceSubresource.slice = slice;
}