Commit Graph

26 Commits

Author SHA1 Message Date
mythri.venugopal 4d1a45627f Evas GL: Add support for Evas GL 3.0
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
2015-03-16 15:56:43 +09:00
Jean-Philippe Andre db0f9f4ccd Evas GL: Fix value of GL_COVERAGE_SAMPLES_NV
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.
2015-03-02 19:15:01 +09:00
Boris Faure 0c5c1c97da evas gl: fix build when GL_COVERAGE_SAMPLES_NV is defined byg <GL/gl.h> 2015-02-19 22:52:50 +01:00
Jean-Philippe Andre ef36e0d887 Evas GL: Clarify doc about Evas_GL_API struct version 2014-12-03 16:57:50 +09:00
Gwanglim Lee 5ccf585e15 Evas GL: Update evas gl api version number to 3
evas gl api supports wayland extensions as being part of a struct
of version 3.
2014-12-03 11:48:03 +09:00
Gwanglim Lee 9eefb3ea89 Evas GL: Add support for bind_wayland_display extension
This provides EGL_WL_bind_wayland_display EGL extension to bind
and unbind the wl_display of a wayland server to an EGLDisplay.

@feature
2014-12-02 22:45:36 +09:00
Jean-Philippe Andre da87709dd3 Evas GL: Doc: Tell people not to read info from Evas_Native_Surface
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.
2014-11-27 16:46:31 +09:00
Jean-Philippe Andre 549cbbcfb2 Evas GL: Remove useless #ifdef/#endif 2014-10-22 08:43:28 +09:00
Nicolas Aguirre d6eda8b0ce evas: add documentation for enums in Evas_Gl.h. 2014-10-20 18:21:02 +02:00
Jean-Philippe Andre 4858776205 Evas GL: Fix compilation on some platforms
Damn these OpenGL headers and their typedefs!
2014-10-20 15:42:22 +09:00
Jean-Philippe Andre 3f9caaf16d Evas GL: Add support for OpenGL-ES 1.1 (part 1)
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
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre a0712e25e1 Evas GL: Add support for pbuffer surfaces
Supports only EGL for now :(

These pbuffer surfaces can be used to create dummy surfaces for
make_current and render threads.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 6cd0aa17da Evas GL: Some documentation fixups 2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 29e7f54ea0 Evas GL: Add evas_gl_surface_query
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
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 81bf993c6c Evas GL: Add support for fence_sync and similar extensions
This should add support for the following EGL extensions:
- EGL_KHR_fence_sync
- EGL_KHR_reusable_sync (eglSignalSyncKHR)
- EGL_KHR_wait_sync (eglWaitSyncKHR)

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 6848cf40b6 Evas GL: Add evasglCreateImageForContext + import defs
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
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre de7a8a3dab Evas GL: Add API evas_gl_rotation_get
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
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre cb5e88d20f Evas GL: Add APIs to get current surface/context
- evas_gl_current_surface_get
- evas_gl_current_context_get

@feature
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 8d6f873354 Evas GL: Add API evas_gl_error_get()
Similar in meaning to eglGetError()

@feature
2014-10-20 12:16:06 +09:00
Dongyeon Kim acc95afbd8 evas gl: distinguish between IMG and EXT MSAA extensions
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
2014-06-10 19:20:17 +09:00
Jean-Philippe Andre a0fc68ee11 Evas GL: Fix invalid definitions of ETC2 GLenum
Bad copy and paste.
2014-04-29 09:03:41 +09:00
Jean-Philippe Andre 86ce491a86 Evas gl_x11: Add ETC2 support to the GL/X11 engine
This should allow texture upload with ETC2 RGB8 or RGBA8 formats.
Untested for now...

@feature
2014-04-25 16:50:29 +09:00
Carsten Haitzler 4e52fbdc74 evas gl example - make bg blue to make onefang not freak out. :) 2014-01-11 11:12:16 +09:00
Jihoon Kim cb9dedd44d fix typos in EFL documents 2014-01-07 14:28:45 +09:00
Gustavo Sverzut Barbieri de7dc1c2cc efl/evas: proper glShaderSource() definition as glext.h
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
2013-01-05 15:55:58 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
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
2012-11-04 11:51:42 +00:00