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 |