Commit Graph

16 Commits

Author SHA1 Message Date
Boris Faure 2b1c8050fb evas: fix strict prototypes
SVN revision: 67456
2012-01-22 19:51:49 +00:00
Sung Park 20b3d52669 Added new Evas GL api called evas_gl_config_new/free()
to ensure backward compatibility.  Previously, the user
simply declared a Evas_GL_Config object but this can
cause problems if more config options are added.  So,
we have Evas allocate the config object for the user
so it can handle addition in the future.

Also, added some safety code around _extensions_init


SVN revision: 67141
2012-01-12 13:54:06 +00:00
Vincent Torri 6ae5eeb893 Evas: fix nonnull argument with out-of-range operand number
Patch by Fabien Romano via Jonathan Armani


SVN revision: 65381
2011-11-18 09:23:22 +00:00
Sung W. Park a3a5a85d92 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel] [E-Devel][Patch] Evas GL Color Format Enum change
(and ElmGLview changes accordingly)

I'm submitting a patch that changes the color format for Evas GL.

When I first wrote Evas_GL, I just had EVAS_GL_RGB_8 and EVAS_GL_RGBA_8 and etc
but it was misleading for some people.  It was more of a filler since I couldn't decide on
a name.  I'm finally changing it to make it more clear.



SVN revision: 64491
2011-10-28 11:08:23 +00:00
Sung W. Park c1cc0a7ed2 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: Re: [E-devel] [E-Devel][Review][Patch] Evas GL Extensions + a
bug fix


Here's an initial attempt at the GL extensions issue for Evas GL.

I have been in discussion with a few EFL developers regarding how we should
provide extensions.  Essentially, there are two ways to go about doing this.

1. provide evas_gl_proc_address_get() function as it is done in other
glue layers

2. provide all the extension functions in the EVAS_GL_API struct.

#1 approach is how it's done in other glue layers and the driver implementor can
provide new extensions easily.  It is however pretty annoying to get the
function prototypes right and use the function pointers and etc.

#2 approach provides all the extension functions in the struct so it's
definitely easier to use.  Adding new extensions can be a pain as people may
have to wait for new version releases.

For now, we thought it was OK to just throw them in the struct as in
#2 and try it out.  So, I've implemented this approach.  As for the extensions,
I've basically included all the extensions in gl2ext.h as EvasGL currently
provides all the GLES 2.0 functions.   In order to display the right
information, I had to override glGetString() with GL_EXTENSIONS as parameter to properly
display the supported extensions.

Also, I've added a few EGL extensions that have been
modified for EvasGL use.  For example, eglCreateImage/eglDestroyImage has been
defined as folllows.

   EvasGLImage  (*evasglCreateImage) (int target, void* buffer, int*
                                         attrib_list); void
                                            (*evasglDestroyImage)
(EvasGLImage image);

const char *evas_gl_string_query() function was added to return a string of
supported EvasGL extensions.  So essentially, a user can search this string to see
if the desired extension is supported.  if it is, he can use the functions.  He can
always check if the function pointers are NULL as well.

Take a look at the pach and let me know what you think.

______________

While I was adding the extension code, I've added a few fixes/ changes
to the EvasGL.

1. glDeletBuffers bug
- When I wad destroying evasgl context, I was deleting the context FBO with
glDeleteBuffers instead of glDeleteFramebuffers. This code in effect was
deleting BOs in other contexts and we had some funky behaviors as a
result.  The
bug has been fixed.

2. make_current
- I've made some changes to the make current code and also added a resource
context to the engine data.  the resource context is used for creating surface
texture/ fbos when surface/ context is created.  Before, i was using evas'
context but thought it'd be a good idea to use a separate context.



SVN revision: 64139
2011-10-18 08:13:23 +00:00
Sung W. Park f3d21a04d0 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel]  [Review] [Patch] Evas_GL bug fixes/updates


I've fixed some minor issues that I've been pushing off for later.

The patch does the following:

1. Evas_GL and Evas had an issue where the viewport parameters were
being reset in the wrong context. Previously, this issue was temporarily
patched by flushing evas' pipeline and setting
evas_gl_common_context_use(NULL) in EvasGL's
make current. I know, it was pretty hacky. It turns out that in
evas_engine,
there was a code evas_gl_common_context_resize(NULL) without doing
eng_window_use() first.  So i've added that part and problem went was
resolved properly. :-)

2. Naturally, I've taken out the temporary patch from 1.

3. I've added code that took care of glBindFramebuffer(..., fbo) where
the
fbo had to be saved and restored in case the user wanted to use his
own fbo.
Also, I've had to take care of the case when fbo is 0 since 0 need to
point
to evas_gl surface.

4. I've updated make_current a little as well.



SVN revision: 62780
2011-08-25 06:30:52 +00:00
Daniel Juyung Seo ea1123d387 evas Evas.h/Evas_GL.h: Removed trailing whitespaces.
SVN revision: 61154
2011-07-08 12:15:25 +00:00
Gustavo Lima Chaves 2205a21281 [evas] Docs: fixing a doxygen group placement.
SVN revision: 60314
2011-06-14 20:12:33 +00:00
Gustavo Lima Chaves e79cc153ea [evas] Lots of documentation groups didn't have end
delimiters set.



SVN revision: 60141
2011-06-09 16:48:31 +00:00
Lucas De Marchi 10237c5b56 evas: fix misspellings
Misspellings found by codespell



SVN revision: 59822
2011-05-30 16:45:08 +00:00
Carsten Haitzler 3610be8437 also conflict with gl2.h (gles2 headers)
SVN revision: 59142
2011-05-03 05:53:20 +00:00
Carsten Haitzler 56363c3d73 more docs.
SVN revision: 59094
2011-05-02 03:06:34 +00:00
Carsten Haitzler 0dd92d46c8 improve evas_gl docs a bit.
SVN revision: 59093
2011-05-02 02:43:10 +00:00
Sung W. Park bc8af94bfa From: "Sung W. Park" <sungwoo@gmail.com>
Subject: evas_gl_api_get patch.

Here's a patch that simply overrides the GL functions for Evas_GL
except for two functions that I provide on my own.  It may have some symbol
resolving warnings but that'll all go away eventually when we do everything
via dlsym or getProcAddress.
 
You can apply the patch to the latest revision of evas.  (I've just
updated them) I'm also attaching a sample GLES program that uses
evas_gl_api_get. You don't need to link it to -lGL.



SVN revision: 59092
2011-05-02 02:14:00 +00:00
Carsten Haitzler 09069b6172 doxy move to header.
SVN revision: 58477
2011-04-08 07:26:20 +00:00
Carsten Haitzler 7bbeca7dcd API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes). (part 2)
      


SVN revision: 58321
2011-04-04 11:48:36 +00:00