commit 21304c55380460c5882b789ea13eb00ffd9a686c
Author: leszek <leszek@koltunski.pl>
Date:   Fri May 5 01:17:27 2017 +0100

    Progress with TransferFeedback app - introduce two modes: USEPOINTS 'true' or 'false'.
    
    On Nexus5X, it works with 'true' and 'false'. On Nexus 4, it works with 'true', but returns GL_INVALID_OPERATION with 'false'.

diff --git a/src/main/java/org/distorted/library/DistortedEffects.java b/src/main/java/org/distorted/library/DistortedEffects.java
index 9745b69..a087f97 100644
--- a/src/main/java/org/distorted/library/DistortedEffects.java
+++ b/src/main/java/org/distorted/library/DistortedEffects.java
@@ -287,6 +287,8 @@ public class DistortedEffects
 
   void drawPriv(float halfW, float halfH, MeshObject mesh, DistortedOutputSurface surface, long currTime)
     {
+    int error;
+
     mM.compute(currTime);
     mV.compute(currTime);
     mF.compute(currTime);
@@ -313,13 +315,19 @@ public class DistortedEffects
     GLES30.glBindBufferBase(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, 0, mesh.mPosTBO[0]);
 
     GLES30.glBeginTransformFeedback(GLES30.GL_TRIANGLES);
-    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.dataLength);
 
-    int error = GLES30.glGetError();
+    error = GLES30.glGetError();
+    if (error != GLES30.GL_NO_ERROR)
+      {
+      throw new RuntimeException("1 glError 0x" + Integer.toHexString(error));
+      }
+
+    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.dataLength);
 
+    error = GLES30.glGetError();
     if (error != GLES30.GL_NO_ERROR)
       {
-      throw new RuntimeException("glError 0x" + Integer.toHexString(error));
+      throw new RuntimeException("2 glError 0x" + Integer.toHexString(error));
       }
 
     GLES30.glEndTransformFeedback();
diff --git a/src/main/res/raw/feedback_fragment_shader.glsl b/src/main/res/raw/feedback_fragment_shader.glsl
index 2f068f6..39f27ad 100644
--- a/src/main/res/raw/feedback_fragment_shader.glsl
+++ b/src/main/res/raw/feedback_fragment_shader.glsl
@@ -19,16 +19,11 @@
 
 precision mediump float;
 
-#if __VERSION__ != 100
-out vec4 fragColor;           // The output color
-#define FRAG_COLOR fragColor
-#else
-#define FRAG_COLOR gl_FragColor
-#endif
+out vec4 fragColor;
 
 //////////////////////////////////////////////////////////////////////////////////////////////
 
 void main()                    		
   {
-  FRAG_COLOR = vec4(1.0,1.0,1.0,1.0);
+  fragColor = vec4(1.0,1.0,1.0,1.0);
   }
\ No newline at end of file
diff --git a/src/main/res/raw/feedback_vertex_shader.glsl b/src/main/res/raw/feedback_vertex_shader.glsl
index 8482e63..c4c2eed 100644
--- a/src/main/res/raw/feedback_vertex_shader.glsl
+++ b/src/main/res/raw/feedback_vertex_shader.glsl
@@ -19,12 +19,12 @@
 
 precision lowp float;
 
-#if __VERSION__ != 100
+#if USEPOINTS == 1
 in float inValue;
 out float outValue;
 #else
-attribute float inValue;
-varying float outValue;
+in vec3 inValue;
+out vec3 outValue;
 #endif
 
 //////////////////////////////////////////////////////////////////////////////////////////////
