| Summary: | Accept an ES3 Context, if reported via GL-Version-String w/o EGL_OPENGL_ES3_BIT_KHR | ||
|---|---|---|---|
| Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
| Component: | core | Assignee: | Sven Gothel <sgothel> |
| Status: | RESOLVED FIXED | ||
| Severity: | enhancement | CC: | gouessej, julien.carlos, org.jogamp, rami.santina, sgothel, xerxes |
| Priority: | --- | ||
| Version: | 2 | ||
| Hardware: | All | ||
| OS: | all | ||
| Type: | DEFECT | SCM Refs: |
bbb7f94c015fbfefdff672eb2d261fbd230c4e81
972feb4be95d1c16c71b84694729952e91dda668
ddd5eb35b83ca85dbf43039e8199a7ecf011cdd8
|
| Workaround: | TRUE | ||
|
Description
Sven Gothel
2013-12-13 22:23:34 CET
Dropped ' ES3 Compatibility w/ ES2' to remove side-effects and simplify bug-fix, i.e.: false == es3.isGLES2() false == es2.isGLES3() however common profiles match, i.e.: true == es3.isGL2ES2() true == es2.isGL2ES2() bbb7f94c015fbfefdff672eb2d261fbd230c4e81
Use proper common profile and test compatibility for GLContextImpl's default VAO.
972feb4be95d1c16c71b84694729952e91dda668
Add Quirk 'GLES3ViaEGLES2Config': ES3 Context is used via EGL_OPENGL_ES2_BIT
and 'version 2' for create context attributes.
- GLContextImpl.setGLFunctionAvailability(..)'s ES version validation
only fails if requested major version == 1 and doesn't match.
Hence requesting major==2 and having version 3 is tolerated.
- GLContextImpl.setGLFunctionAvailability(..)'s Quirks:
requested-major < has-major -> Adding GLES3ViaEGLES2Config
- EGLDrawableFactory.mapAvailableEGLESConfig(..):
Reflects has-major version, i.e. GLES3ViaEGLES2Config situation where
an ES2 request leads to an ES3 version.
Note: All workarounds can be found via lookup of GLES3ViaEGLES2Config (as usual when using quirks).
(In reply to comment #1) > Dropped ' ES3 Compatibility w/ ES2' to remove side-effects and simplify > bug-fix, > i.e.: > false == es3.isGLES2() > false == es2.isGLES3() > > however common profiles match, i.e.: > true == es3.isGL2ES2() > true == es2.isGL2ES2() Bug 929 will take care of 'Reflect ES3 Compatibility with ES2' ddd5eb35b83ca85dbf43039e8199a7ecf011cdd8
Refine GLContextImpl.setGLFunctionAvailability(..)'s ES version validation:
+ // - fail if ES major-version mismatch:
+ // - request 1, >= 3 must be equal
+ // - request 2 must be [2..3]
i.e. the following is accepted, otherwise fails:
request has
1 1
2 2,3
3 3
4 4
|