|
@@ -1321,13 +1321,6 @@ public class GLRenderer implements Renderer {
|
|
|
|
|
|
|
|
|
glfbo.glBindFramebufferEXT(GLExt.GL_FRAMEBUFFER_EXT, prevFBO);
|
|
|
- try {
|
|
|
- checkFrameBufferError();
|
|
|
- } catch (IllegalStateException ex) {
|
|
|
- logger.log(Level.SEVERE, "Source FBO:\n{0}", src);
|
|
|
- logger.log(Level.SEVERE, "Dest FBO:\n{0}", dst);
|
|
|
- throw ex;
|
|
|
- }
|
|
|
} else {
|
|
|
throw new RendererException("Framebuffer blitting not supported by the video hardware");
|
|
|
}
|
|
@@ -1488,6 +1481,8 @@ public class GLRenderer implements Renderer {
|
|
|
updateFrameBufferAttachment(fb, colorBuf);
|
|
|
}
|
|
|
|
|
|
+ checkFrameBufferError();
|
|
|
+
|
|
|
fb.clearUpdateNeeded();
|
|
|
}
|
|
|
|
|
@@ -1645,8 +1640,6 @@ public class GLRenderer implements Renderer {
|
|
|
assert context.boundFBO == fb.getId();
|
|
|
|
|
|
context.boundFB = fb;
|
|
|
-
|
|
|
- checkFrameBufferError();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2221,53 +2214,25 @@ public class GLRenderer implements Renderer {
|
|
|
int usage = convertUsage(vb.getUsage());
|
|
|
vb.getData().rewind();
|
|
|
|
|
|
-// if (created || vb.hasDataSizeChanged()) {
|
|
|
- // upload data based on format
|
|
|
- switch (vb.getFormat()) {
|
|
|
- case Byte:
|
|
|
- case UnsignedByte:
|
|
|
- gl.glBufferData(target, (ByteBuffer) vb.getData(), usage);
|
|
|
- break;
|
|
|
- // case Half:
|
|
|
- case Short:
|
|
|
- case UnsignedShort:
|
|
|
- gl.glBufferData(target, (ShortBuffer) vb.getData(), usage);
|
|
|
- break;
|
|
|
- case Int:
|
|
|
- case UnsignedInt:
|
|
|
- glext.glBufferData(target, (IntBuffer) vb.getData(), usage);
|
|
|
- break;
|
|
|
- case Float:
|
|
|
- gl.glBufferData(target, (FloatBuffer) vb.getData(), usage);
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new UnsupportedOperationException("Unknown buffer format.");
|
|
|
- }
|
|
|
-// } else {
|
|
|
-// // Invalidate buffer data (orphan) before uploading new data.
|
|
|
-// switch (vb.getFormat()) {
|
|
|
-// case Byte:
|
|
|
-// case UnsignedByte:
|
|
|
-// gl.glBufferSubData(target, 0, (ByteBuffer) vb.getData());
|
|
|
-// break;
|
|
|
-// case Short:
|
|
|
-// case UnsignedShort:
|
|
|
-// gl.glBufferSubData(target, 0, (ShortBuffer) vb.getData());
|
|
|
-// break;
|
|
|
-// case Int:
|
|
|
-// case UnsignedInt:
|
|
|
-// gl.glBufferSubData(target, 0, (IntBuffer) vb.getData());
|
|
|
-// break;
|
|
|
-// case Float:
|
|
|
-// gl.glBufferSubData(target, 0, (FloatBuffer) vb.getData());
|
|
|
-// break;
|
|
|
-// case Double:
|
|
|
-// gl.glBufferSubData(target, 0, (DoubleBuffer) vb.getData());
|
|
|
-// break;
|
|
|
-// default:
|
|
|
-// throw new UnsupportedOperationException("Unknown buffer format.");
|
|
|
-// }
|
|
|
-// }
|
|
|
+ switch (vb.getFormat()) {
|
|
|
+ case Byte:
|
|
|
+ case UnsignedByte:
|
|
|
+ gl.glBufferData(target, (ByteBuffer) vb.getData(), usage);
|
|
|
+ break;
|
|
|
+ case Short:
|
|
|
+ case UnsignedShort:
|
|
|
+ gl.glBufferData(target, (ShortBuffer) vb.getData(), usage);
|
|
|
+ break;
|
|
|
+ case Int:
|
|
|
+ case UnsignedInt:
|
|
|
+ glext.glBufferData(target, (IntBuffer) vb.getData(), usage);
|
|
|
+ break;
|
|
|
+ case Float:
|
|
|
+ gl.glBufferData(target, (FloatBuffer) vb.getData(), usage);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new UnsupportedOperationException("Unknown buffer format.");
|
|
|
+ }
|
|
|
|
|
|
vb.clearUpdateNeeded();
|
|
|
}
|