commit 0ef8fafcdf8fc73e004db30bdd1104f04654992f
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Apr 27 15:26:53 2017 +0100

    1) Bugfix for an issue introduced with previous commit
    2) scale up the BLUR effect radius with MIPMAP levels.

diff --git a/src/main/java/org/distorted/library/DistortedEffectsPostprocess.java b/src/main/java/org/distorted/library/DistortedEffectsPostprocess.java
index 7191a8c..55705de 100644
--- a/src/main/java/org/distorted/library/DistortedEffectsPostprocess.java
+++ b/src/main/java/org/distorted/library/DistortedEffectsPostprocess.java
@@ -87,7 +87,7 @@ public class DistortedEffectsPostprocess
 
   int getQuality()
     {
-    return mP.mQuality;
+    return mP.mQualityLevel;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -294,7 +294,12 @@ public class DistortedEffectsPostprocess
  */
   public void setQuality(EffectQuality quality)
     {
-    mP.mQuality = quality.level;
+    int level = quality.level;
+
+    mP.mQualityLevel = level;
+    mP.mQualityScale = 1.0f;
+
+    for(int i=0; i<level; i++) mP.mQualityScale*=0.5f;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////   
diff --git a/src/main/java/org/distorted/library/EffectQueuePostprocess.java b/src/main/java/org/distorted/library/EffectQueuePostprocess.java
index 401e82c..724fa4b 100644
--- a/src/main/java/org/distorted/library/EffectQueuePostprocess.java
+++ b/src/main/java/org/distorted/library/EffectQueuePostprocess.java
@@ -99,7 +99,8 @@ class EffectQueuePostprocess extends EffectQueue
   private static float[] mOffsets = new float[MAX_BLUR];
   // another effect ....
 
-  int mQuality;
+  int mQualityLevel;
+  float mQualityScale;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -107,7 +108,8 @@ class EffectQueuePostprocess extends EffectQueue
     { 
     super(id,NUM_UNIFORMS,NUM_CACHE,INDEX );
 
-    mQuality = 0;
+    mQualityLevel = 0;
+    mQualityScale = 1.0f;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -263,15 +265,15 @@ class EffectQueuePostprocess extends EffectQueue
       {
       compute(time);
 
-      DistortedFramebuffer buffer1 = surface.mBuffer1[mQuality];
-      DistortedFramebuffer buffer2 = surface.mBuffer1[mQuality];
+      DistortedFramebuffer buffer1 = surface.mBuffer1[mQualityLevel];
+      DistortedFramebuffer buffer2 = surface.mBuffer2[mQualityLevel];
 
       float w1 = buffer1.mWidth;
       float h1 = buffer1.mHeight;
       float w2 = surface.mWidth;
       float h2 = surface.mHeight;
 
-      int radius = (int)mUniforms[0];
+      int radius = (int)(mUniforms[0]*mQualityScale);
       if( radius>=MAX_BLUR ) radius = MAX_BLUR-1;
       computeGaussianKernel(radius);
 
