From 7749f0567fb592ee4b3f698bd2424a5687b02f47 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sun, 21 Sep 2014 01:28:04 +0200
Subject: Bug 1066: Reduce glGetError() in FBObject / GLFBODrawableImpl

- GLFBODrawableImpl
  - cache getMaxRenderbufferSamples() result from initialize call,
    method checks glGetError()

- FBObject
  - init(..): Remove one redundant checkPreGLError()

  - Allow reset(..) / modify-attachment-operations w/o glGetError():
    - Only check error if DEBUG || GLContext.DEBUG_GL:
      - RenderAttachment.initialize()
      - TexureAttachment.initialize()
      - syncSamplingSink(gl)
---
 src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/jogl/classes/jogamp/opengl')

diff --git a/src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java b/src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java
index 72caabdd0..991a351e6 100644
--- a/src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java
+++ b/src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java
@@ -52,6 +52,7 @@ public class GLFBODrawableImpl extends GLDrawableImpl implements GLFBODrawable {
     private GLCapabilitiesImmutable origParentChosenCaps;
 
     private boolean initialized;
+    private int maxSamples;
     private int fboModeBits;
     private int texUnit;
     private int samples;
@@ -180,7 +181,7 @@ public class GLFBODrawableImpl extends GLDrawableImpl implements GLFBODrawable {
         if(realize) {
             final GLCapabilities chosenFBOCaps = (GLCapabilities) getChosenGLCapabilities(); // cloned at setRealized(true)
 
-            final int maxSamples = gl.getMaxRenderbufferSamples();
+            maxSamples = gl.getMaxRenderbufferSamples(); // if > 0 implies fullFBOSupport
             {
                 final int newSamples = samples <= maxSamples ? samples : maxSamples;
                 if(DEBUG) {
@@ -292,7 +293,6 @@ public class GLFBODrawableImpl extends GLDrawableImpl implements GLFBODrawable {
         fboBound = false; // clear bound-flag immediatly, caused by contextMadeCurrent(..) - otherwise we would swap @ release
         fboSwapped = false;
         try {
-            final int maxSamples = gl.getMaxRenderbufferSamples();
             newSamples = newSamples <= maxSamples ? newSamples : maxSamples;
 
             if(0==samples && 0<newSamples || 0<samples && 0==newSamples) {
-- 
cgit v1.2.3