Project

General

Profile

« Previous | Next » 

Revision a9d4bb9a

Added by Leszek Koltunski almost 3 years ago

- report the Graphics driver's Renderer and Version.
- new Diamond, Skewb2 and Skewb3 meshes.

View differences:

src/main/java/org/distorted/library/main/DistortedLibrary.java
116 116
  private static int mGLSL;
117 117
  private static String mGLSL_VERSION;
118 118
  private static boolean mOITCompilationAttempted, mNeedsTransformFeedback;
119
  private static boolean mBuggyUBOs;
120 119

  
121 120
  private static int mMaxTextureSize         = Integer.MAX_VALUE;
122 121
  private static int mMaxNumberOfVerUniforms = Integer.MAX_VALUE;
123 122
  private static int mMaxNumberOfFraUniforms = Integer.MAX_VALUE;
124 123

  
124
  private static boolean mBuggyUBOs;
125
  private static String mVendor, mVersion, mRenderer;
126

  
125 127
  //////////////////////////////////////////////////////////////////////////////////////////////
126 128
  /// MAIN PROGRAM ///
127 129
  private static DistortedProgram mMainProgram;
......
889 891

  
890 892
  private static void detectBuggyDriversAndSetQueueSize(int queueSize)
891 893
    {
892
    String vendor  = GLES30.glGetString(GLES30.GL_VENDOR);
893
    String version = GLES30.glGetString(GLES30.GL_VERSION);
894
    String renderer= GLES30.glGetString(GLES30.GL_RENDERER);
894
    mVendor  = GLES30.glGetString(GLES30.GL_VENDOR);
895
    mVersion = GLES30.glGetString(GLES30.GL_VERSION);
896
    mRenderer= GLES30.glGetString(GLES30.GL_RENDERER);
895 897

  
896 898
    mFBOQueueSize = 1;
897 899

  
898
    if( vendor.contains("ARM") )
900
    if( mVendor.contains("ARM") )
899 901
      {
900 902
      try
901 903
        {
902 904
        String regex = ".*r(\\d+)p\\d.*";
903 905
        Pattern pattern = Pattern.compile(regex);
904
        Matcher matcher = pattern.matcher(version);
906
        Matcher matcher = pattern.matcher(mVersion);
905 907

  
906 908
        if( matcher.find() )
907 909
          {
......
926 928
        android.util.Log.e("library", "exception trying to pattern match version: "+ex.toString());
927 929
        }
928 930
      }
929
    else if( vendor.contains("Imagination") )
931
    else if( mVendor.contains("Imagination") )
930 932
      {
931
      if( renderer.contains("GE8") )
933
      if( mRenderer.contains("GE8") )
932 934
        {
933 935
        Log.e("DISTORTED", "You are running this on a PowerVR GE8XXX.\nDue to a buggy compiler OIT rendering will not work");
934 936
        Log.e("DISTORTED", "GLSL Version "+GLES30.glGetString(GLES31.GL_SHADING_LANGUAGE_VERSION));
935 937
        }
936 938
      }
937
    else if( vendor.contains("Qualcomm"))
939
    else if( mVendor.contains("Qualcomm"))
938 940
      {
939
      if( version.contains("V@331.0") )
941
      if( mVersion.contains("V@331.0") )
940 942
        {
941 943
        Log.e("DISTORTED", "You are running this on an Adreno 3xx driver version 331.\nStrange shit might happen.");
942 944
        mBuggyUBOs = true;
......
1226 1228
    {
1227 1229
    return EffectQueue.setMax(type.ordinal(),max);
1228 1230
    }
1231

  
1232
///////////////////////////////////////////////////////////////////////////////////////////////////
1233
/**
1234
 * Return a String defining the vendor of the graphics driver.
1235
 */
1236
  public static String getDriverVendor()
1237
    {
1238
    return mVendor;
1239
    }
1240

  
1241
///////////////////////////////////////////////////////////////////////////////////////////////////
1242
/**
1243
 * Return a String defining the version of the graphics driver.
1244
 */
1245
  public static String getDriverVersion()
1246
    {
1247
    return mVersion;
1248
    }
1249

  
1250
///////////////////////////////////////////////////////////////////////////////////////////////////
1251
/**
1252
 * Return a String defining the renderer of the graphics driver.
1253
 */
1254
  public static String getDriverRenderer()
1255
    {
1256
    return mRenderer;
1257
    }
1229 1258
  }

Also available in: Unified diff