Bug 929 - Reflect ES3 Compatibility with ES2
Summary: Reflect ES3 Compatibility with ES2
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All all
: --- enhancement
Assignee: Sven Gothel
Depends on:
Blocks: 852
  Show dependency treegraph
Reported: 2013-12-21 15:13 CET by Sven Gothel
Modified: 2013-12-22 03:31 CET (History)
6 users (show)

See Also:
Type: ---
SCM Refs:
3d0ab3e6263dfdbb9dd0014443ad28b1c9b0c238 ac705f0d6eea7c8ba27a7cf7c42674c7446576b4
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-12-21 15:13:24 CET
Reflect ES3 Compatibility with ES2.

F1 p322 of the OpenGL ES 3.0.2 Spec claims backward compatibility with ES2,
hence return true for 'glES3.isGLES2()' and allow 'glES3.getGLES2()'.
Comment 1 Sven Gothel 2013-12-21 15:21:45 CET
Current situation w/ ES3 implementers is that either ES3 or ES2 is available,
hence EGLDrawableFactory shall not query ES2 if ES3 is available.

Since ES3 seems to be also fully compatible w/ ES2, the above behavior is OK
and aligns to our ARB ctx GL profile aliasing.

  - ES4 will not be compatible w/ ES2.
  - ES4 will drop 'deprecated' functionality of ES3
    and hence will not be compatible w/ ES3.
Comment 2 Sven Gothel 2013-12-21 22:06:44 CET
    - Map ES2 -> ES3 GLProfile, if available
    - EGLDrawableFactory: Don't query ES2 if ES3 is available
    - Fix queries and get methods (GL, GLContext and GLProfile):
      - glES3.isGLES2()==true and glES3.getGLES2()!=null
      - ctxES3.isGLES2()==true,
      - glES3Profile.isGLES2()==true
    - Enhance Unit test: TestGLProfile01NEWT
      - Test all GLProfile availability combinations
        based on implementing GLProfile
      - Test all GLProfile's isGL*()
        based on highest GLProfile identity
      - Test all GL's isGL*()
        based on highest GL identity.
Comment 3 Sven Gothel 2013-12-22 03:31:56 CET
  See Bug 852 Comment 8