While this seems to go against the rest of the API (because we
always pass in the Evas GL object), there is no way right now
fully restore a context if there are multiple Evas GL objects.
For instance, an app can use Evas GL from an Elm GLView, and also
use Cairo with another Evas GL at the same time. In that case Cairo
needs to restore the previous Evas GL but the library had no way
of getting the current Evas GL. This is the equivalent of
eglGetCurrentDisplay().
@feature
If the TLS variable was not initialized, Evas GL can't get a pointer
to a valid EGLDisplay which is required by eglImageDestroy.
So, we keep track of the dpy used at creation time and use that
if we're in another thread.
Summary:
This should enable applications to use GLES 3.0 through evas gl.
Todo: Fix indirect rendering issue occuring because texture objects
cannot be shared between different version of GLES contexts.
Todo: extension pointers need to be updated for GLES 3.0
Reviewers: wonsik, spacegrapher, jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2017
@feature
Use the Khronos version from extension EGL_NV_coverage_sample.
In the extension multisample_coverage version 4 (since 3/7/2013),
there is an explicite note about the name conflict.
The information set there is not meant to be read by applications
and reused there. This would break the whole concept of letting
Evas deal with its surfaces.
Ideally Evas GL should not expose texture or fbo ID to external
applications. We could even use a new (non public) surface type
for that purpose.
This commit adds lots of required definitions (GL_ stuff),
new API entries in the Evas_GL_API struct, and basic new APIs
to create OpenGL-ES 1.1 contexts.
@feature
When using EGL, this function should return the properties of
a surface. Limited to a subset of known attributes.
Right now, this function will only work fine with EGL.
GLX support or any other engine is not implemented.
@feature
This should add support for the following EGL extensions:
- EGL_KHR_fence_sync
- EGL_KHR_reusable_sync (eglSignalSyncKHR)
- EGL_KHR_wait_sync (eglWaitSyncKHR)
@feature
evas gl CreateImage function was assuming the current context
should be used to create an image, while the equivalent EGL function
specifically requires the context to be specified.
This also imports some definitions for CreateImage.
And fixes typo in glEGLImageTargetRenderbufferStorageOES.
This adds new functions in Evas_GL_API struct. The version
number will be bumped to 2 in a later commit.
@feature
This will be used to increase the chances of having direct
rendering (no fallback to FBO) even if the window is rotated.
The client is then responsible for handling the view rotation.
@feature
Summary:
For drivers that support IMG_multisampled_render_to_texture,
GL_MAX_SAMPLES_IMG should be used to query max supported samples
Likewise, for drivers that support EXT_multisampled_render_to_texture,
GL_MAX_SAMPLES_EXT should be used to query max supported samples
@fix
Reviewers: seoz, Hermet, raster, cedric
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D948
it is "const char * const *", not "const char **", and it was triggering a warning in our code.
it's just constness and will not trigger an error in our user's code, just an warning that he should fix.
SVN revision: 82278
I've tested make -j 3 install and it works nicely
I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.
TODO: examples and tests, I'll add them later
ISSUE: Eina_Unicode size check. It indirectly depends on
eina_config.h, which is created at the end of the
configure script. So its size is always 0. I don't
know how that size is used, so I can't do a lot,
for now.
SVN revision: 78895