From ba1b71a1f20ef85a4448b2f2cae539ccf3eda28a Mon Sep 17 00:00:00 2001 From: gohai Date: Sat, 18 Feb 2017 19:43:00 +0100 Subject: [PATCH] Make validateFramebuffer match latest Khronos doc for GL4 Suggested by @JakubValtar --- core/src/processing/opengl/PGL.java | 16 ++++++++++++---- core/src/processing/opengl/PJOGL.java | 5 ++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/core/src/processing/opengl/PGL.java b/core/src/processing/opengl/PGL.java index 3dd37191f..3a1490a34 100644 --- a/core/src/processing/opengl/PGL.java +++ b/core/src/processing/opengl/PGL.java @@ -2052,6 +2052,9 @@ public abstract class PGL { int status = checkFramebufferStatus(FRAMEBUFFER); if (status == FRAMEBUFFER_COMPLETE) { return true; + } else if (status == FRAMEBUFFER_UNDEFINED) { + System.err.println(String.format(FRAMEBUFFER_ERROR, + "framebuffer undefined")); } else if (status == FRAMEBUFFER_INCOMPLETE_ATTACHMENT) { System.err.println(String.format(FRAMEBUFFER_ERROR, "incomplete attachment")); @@ -2070,12 +2073,15 @@ public abstract class PGL { } else if (status == FRAMEBUFFER_INCOMPLETE_READ_BUFFER) { System.err.println(String.format(FRAMEBUFFER_ERROR, "incomplete read buffer")); - } else if (status == FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) { - System.err.println(String.format(FRAMEBUFFER_ERROR, - "incomplete multisample buffer")); } else if (status == FRAMEBUFFER_UNSUPPORTED) { System.err.println(String.format(FRAMEBUFFER_ERROR, "framebuffer unsupported")); + } else if (status == FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) { + System.err.println(String.format(FRAMEBUFFER_ERROR, + "incomplete multisample buffer")); + } else if (status == FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS) { + System.err.println(String.format(FRAMEBUFFER_ERROR, + "incomplete layer targets")); } else { System.err.println(String.format(FRAMEBUFFER_ERROR, "unknown error " + status)); @@ -2994,14 +3000,16 @@ public abstract class PGL { public static int DEPTH_STENCIL; public static int FRAMEBUFFER_COMPLETE; + public static int FRAMEBUFFER_UNDEFINED; public static int FRAMEBUFFER_INCOMPLETE_ATTACHMENT; public static int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT; public static int FRAMEBUFFER_INCOMPLETE_DIMENSIONS; public static int FRAMEBUFFER_INCOMPLETE_FORMATS; public static int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER; public static int FRAMEBUFFER_INCOMPLETE_READ_BUFFER; - public static int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE; public static int FRAMEBUFFER_UNSUPPORTED; + public static int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE; + public static int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS; public static int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE; public static int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME; diff --git a/core/src/processing/opengl/PJOGL.java b/core/src/processing/opengl/PJOGL.java index 3f4b394b5..b02d1b30c 100644 --- a/core/src/processing/opengl/PJOGL.java +++ b/core/src/processing/opengl/PJOGL.java @@ -45,6 +45,7 @@ import com.jogamp.opengl.GL2ES2; import com.jogamp.opengl.GL2ES3; import com.jogamp.opengl.GL2GL3; import com.jogamp.opengl.GL3ES3; +import com.jogamp.opengl.GL3; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLCapabilities; import com.jogamp.opengl.GLCapabilitiesImmutable; @@ -976,14 +977,16 @@ public class PJOGL extends PGL { DEPTH_STENCIL = GL.GL_DEPTH_STENCIL; FRAMEBUFFER_COMPLETE = GL.GL_FRAMEBUFFER_COMPLETE; + FRAMEBUFFER_UNDEFINED = GL3.GL_FRAMEBUFFER_UNDEFINED; FRAMEBUFFER_INCOMPLETE_ATTACHMENT = GL.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT; FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = GL.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT; FRAMEBUFFER_INCOMPLETE_DIMENSIONS = GL.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS; FRAMEBUFFER_INCOMPLETE_FORMATS = GL.GL_FRAMEBUFFER_INCOMPLETE_FORMATS; FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = GL2GL3.GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER; FRAMEBUFFER_INCOMPLETE_READ_BUFFER = GL2GL3.GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER; - FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = GL.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE; FRAMEBUFFER_UNSUPPORTED = GL.GL_FRAMEBUFFER_UNSUPPORTED; + FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = GL.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE; + FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = GL3.GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS; FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = GL.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE; FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = GL.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;