commit b0f04e7250357d79338d95ff1323fb385d73f3e3
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Apr 6 15:31:50 2018 +0100

    Simplify postprocessing buffers.

diff --git a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
index 2898540..4e1db2b 100644
--- a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
+++ b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
@@ -80,7 +80,7 @@ public static final int DEBUG_FPS = 1;
   private ArrayList<Job> mJobs = new ArrayList<>();
 
   // Global buffers used for postprocessing.
-  private static DistortedOutputSurface[] mBuffer = new DistortedOutputSurface[1+EffectQuality.LENGTH];
+  private static DistortedOutputSurface[] mBuffer = new DistortedOutputSurface[EffectQuality.LENGTH];
 
   private long mTime;
   private float mFOV;
@@ -324,7 +324,7 @@ public static final int DEBUG_FPS = 1;
 
   static synchronized void onDestroy()
     {
-    for(int j=0; j<=EffectQuality.LENGTH; j++)
+    for(int j=0; j<EffectQuality.LENGTH; j++)
       {
       mBuffer[j] = null;
       }
@@ -334,9 +334,8 @@ public static final int DEBUG_FPS = 1;
 
   private static void cloneViewport(DistortedOutputSurface from)
     {
-    if( mBuffer[EffectQuality.LENGTH] != from )
+    if( mBuffer[0].mWidth != from.mWidth )
       {
-      mBuffer[EffectQuality.LENGTH]=from;
       DistortedOutputSurface surface;
 
       for(int i=0; i<EffectQuality.LENGTH; i++)
@@ -348,6 +347,8 @@ public static final int DEBUG_FPS = 1;
 
         surface.mNear   = from.mNear;  // Near plane is independent of the mipmap level
 
+        android.util.Log.e("surface", "viewport "+i+" to ("+from.mWidth+"x"+from.mHeight+")");
+
         surface.createProjection();
 
         int maxw = surface.mWidth  > surface.mRealWidth  ? surface.mWidth  : surface.mRealWidth;
