@Override
public void copyTextureToTexture(
final GpuTexture source,
final GpuTexture destination,
final int mipLevel,
final int destX,
final int destY,
final int sourceX,
final int sourceY,
final int width,
final int height
) {
GlStateManager.clearGlErrors();
GlStateManager._disableScissorTest();
boolean isDepth = source.getFormat().hasDepthAspect();
int sourceId = ((GlTexture)source).glId();
int destId = ((GlTexture)destination).glId();
this.device.directStateAccess().bindFrameBufferTextures(this.readFbo, isDepth ? 0 : sourceId, isDepth ? sourceId : 0, 0, 0);
this.device.directStateAccess().bindFrameBufferTextures(this.drawFbo, isDepth ? 0 : destId, isDepth ? destId : 0, 0, 0);
this.device
.directStateAccess()
.blitFrameBuffers(this.readFbo, this.drawFbo, sourceX, sourceY, width, height, destX, destY, width, height, isDepth ? 256 : 16384, 9728);
int error = GlStateManager._getError();
if (error != 0) {
throw new IllegalStateException(
"Couldn't perform copyToTexture for texture " + source.getLabel() + " to " + destination.getLabel() + ": GL error " + error
);
}
}Here, you can see that mipLevel is not used
bindFrameBufferTextures() should use mipLevel
Can confirm.