code: void onSurfaceCreated() {
          Log.v(TAG, "onSurfaceCreated");
  
          Thread currentThread = Thread.currentThread();
  
          // Reduce contention with other Android processes
          currentThread.setPriority(Thread.MAX_PRIORITY);
  
          // we know that the current thread is a GL one, so we store it to
          // prevent non-GL thread from calling GL functions
          mGLThreadID = currentThread.getId();
  
          // Evaluating anisotropic support on GL Thread
          String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);
          isAnisotropicSupported = extensions.contains("GL_EXT_texture_filter_anisotropic");
  
          // Evaluating max anisotropic value if supported
          if (isAnisotropicSupported) {
              maxAnisotropicValue = NativeTextureParameters.getMaxAnisotropicValue();
          }
  
          mPreviousTimeNanos = GVRTime.getCurrentTime();
  
  
          final GVRScene scene = null == mMainScene ? new GVRScene(GVRViewManager.this) : mMainScene;
          setMainSceneImpl(scene);
          mRenderBundle = makeRenderBundle();
  
          final DepthFormat depthFormat = mApplication.getAppSettings().getEyeBufferParams().getDepthFormat();
          mApplication.getConfigurationManager().configureRendering(DepthFormat.DEPTH_24_STENCIL_8 == depthFormat);
      }
docs: Called when the surface changed size. When
  setPreserveEGLContextOnPause(true) is called in the surface, this is
  called only once.