private boolean verboseLogging = false;
private boolean useVBO = true;
public boolean adreno_finish_bug = false;
-
+ private int mainFrameBuffer = -1;
public GdxRenderer() {
}
adreno_finish_bug = true;
}
logger.log(Level.INFO, "Caps: {0}", caps);
+
+ // Get main framebuffer id because main framebuffer is not 0 on iOS.
+ if (mainFrameBuffer == -1) {
+ Gdx.gl20.glGetIntegerv(GL20.GL_FRAMEBUFFER_BINDING, intBuf16);
+ mainFrameBuffer = intBuf16.get(0);
+ }
}
/**
if (fb == null) {
// unbind any fbos
- if (context.boundFBO != 0) {
- Gdx.gl20.glBindFramebuffer(GL20.GL_FRAMEBUFFER, 0);
+ if (context.boundFBO != mainFrameBuffer) {
+ Gdx.gl20.glBindFramebuffer(GL20.GL_FRAMEBUFFER, mainFrameBuffer);
// RendererUtil.checkGLError();
statistics.onFrameBufferUse(null, true);
- context.boundFBO = 0;
+ context.boundFBO = mainFrameBuffer;
}
/*
format = GL20.GL_COMPRESSED_TEXTURE_FORMATS;
dataType = GL20.GL_UNSIGNED_BYTE;
case Depth:
- format = GL20.GL_DEPTH_COMPONENT;
- dataType = GL20.GL_UNSIGNED_BYTE;
- break;
+// format = GL20.GL_DEPTH_COMPONENT;
+// dataType = GL20.GL_UNSIGNED_BYTE;
+// break;
case Depth16:
format = GL20.GL_DEPTH_COMPONENT;
- internalFormat = GL20.GL_DEPTH_COMPONENT16;
- dataType = GL20.GL_UNSIGNED_BYTE;
+ internalFormat = GL20.GL_DEPTH_COMPONENT;
+ dataType = GL20.GL_UNSIGNED_SHORT;
break;
case Depth24:
case Depth32: