Commit Graph

236 Commits

Author SHA1 Message Date
Cedric BAIL 26ee52dd61 evas: add NV12 and MT12 colorspace.
MT12 is has documented in Linux videodev documentation
a 64 * 32 macro block tiled colorspace format used on
Samsung hardware.


SVN revision: 62967
2011-08-29 20:56:48 +00:00
Cedric BAIL a4601bb4b7 evas: refactorise code.
SVN revision: 62788
2011-08-25 08:28:34 +00:00
Carsten Haitzler 5cc90f00d9 oh my bad! i broke desktop gl compilation! bad bad bad me. spank! fix.
SVN revision: 62777
2011-08-25 05:17:43 +00:00
Jiyoun Park 4b59fd460e From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] evas gl engine's texture creation

Hello. 

1. _pool_tex_dynamic_new function, it didn’t set pt to NULL when secsym_eglCreateImage function failed.
In this case, it returns wrong pt pointer and it has possibility to make crash.
So I add free pt code and return NULL code into _pool_tex_dynamic_new function.

2. I modified eng_image_data_get of gl engine.

If Evas_GL_Image's texture creation failed and evas_gl_image's cache image was droped, 
Im->im can be NULL. So I add check code. 
Example: evas_gl_common_image_content_hint_set
     1) EVAS_IMAGE_CONTENT_HINT_DYNAMIC , it drop cache image
     2) if evas_gl_common_texture_dynamic_new failed
     3) then, im->im =NULL, im->tex=NULL
        In this situation, if application call's evas_object_image_data_get function, 
It make crash in evas_cache_image_load_data function.

3. I think function's related with evas_object's engine data have to be return NULL if it failed.
If function's returns null, evas object code can handle error more easily.  
But evas object's code was implemented differently each case. Does my suggestion right?
I add engine data null check code to evas_object_image based on upper consumtion.
If it is wrong , the patch code related with evas object image have to be removed.
If it is right , I will survey other evas object type also.  



SVN revision: 62775
2011-08-25 04:48:45 +00:00
Cedric BAIL cea7b9dddb evas: refactorize OpenGL engine.
SVN revision: 62752
2011-08-24 16:20:15 +00:00
Cedric BAIL 7ae4bd0f31 evas: add YUY2 shader to GL engine.
TODO: add NV12 and NV12T to evas.


SVN revision: 62721
2011-08-23 15:13:40 +00:00
우승수 f34ac1e24a From: 우승수 <om101.woo@samsung.com>
Subject: [E-devel] [Patch] Map/Unmap image for zero-copy texture

this modifies the zero copy texture feature to map and unmap on get and put
data to allow the put to "flush gpu caches".



SVN revision: 62493
2011-08-16 07:06:36 +00:00
ChunEon Park cf4ed126c4 [E-devel] [Patch] evas_gl_shader patch for get_program_binary extension
from gl77.lee@samsung.com

Dear all,

I attached a patch of evas_gl_shader.

I've removed a comment which is creating dummy shader when using GL_OES_get_program_binary extension.
Mr. Haegeun Park who is in charge of GPU driver fixed get_program_binary bug in the SGX driver.
There's no need to create dummy shaders any longer.

And I've added link status checking code to validate the binary object.

Please review this patch.

Thanks.



SVN revision: 61309
2011-07-13 00:56:12 +00:00
Christopher Michael af78dafc91 Evas: Pass 'make distcheck' for gl_common.
SVN revision: 60607
2011-06-22 20:32:43 +00:00
Vincent Torri 18d1e68924 whitespaces--------
SVN revision: 60426
2011-06-17 07:47:28 +00:00
Boris Faure e6119fa4d9 remove .cvsignore files
SVN revision: 60246
2011-06-12 21:38:37 +00:00
Carsten Haitzler 5d2bd283c3 disable evas filter code. buggy. doesn't work right.
SVN revision: 59898
2011-06-02 10:40:43 +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 f854f1f275 fix glpipe optimization that stops the pipes from being used with many
maps



SVN revision: 59638
2011-05-24 06:51:47 +00:00
Carsten Haitzler 97a12de552 make get program binary able to be disabled via env var and display if
wee find the extn too. tested on gles now too.



SVN revision: 59178
2011-05-04 08:05:46 +00:00
Jiyoun Park 56111d2b69 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] Evas gl shader use binary shader

I make patch related with evas gl binary shader.
 
The concept of binary shader is  compile shader only once.
 
Some people want to use binary shader because of performance issue.
 
In current evas gl engine, every application have to compile shader each
time. 

But I modify code , so only first running application need compile shader.

Other application use already compiled shader(binary shader)

 
The binary shader is made under HOME/.evas/gl_common_shaders directory. 

Binary shader is created according to GL vendor,GL renderer, GL version and
Module_arch.

The basic flow is
 
1.     First running application which use gl engine check binary shader
directory, but it can't find binary shader. 
2.     After compiling shader, It saves compiled shaders..
3.     Other application checks shader directory, it can use binary
shaders.
 
In mobile target, using binary shader, I can save 150ms. (that time, there
is 11 shaders).

If there is more shaders and more applications, this flow maybe save more
total time. 

(the above is now in, changelog coming, with change to using ~/.cache,
some formatting fixes, make ity do the desktop gl one right with the
retrievable hint parameter ont he program etc. - doesn't break desktop
gl at least. yay. a,so fixes to mke it compile at all).



SVN revision: 59167
2011-05-04 06:15:00 +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 c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Brett Nash 5c88b6c8f2 Evas: filter: Remove warning from evil type things.
SVN revision: 58780
2011-04-21 06:26:49 +00:00
Brett Nash d157c43997 Evas: Mask: Add the part where evas actually uses the mask in GL.
SVN revision: 58778
2011-04-21 06:22:06 +00:00
Carsten Haitzler 7ed47808cb more bad code - why pass in void * image and data? sero point.. and it
totally is out of step with the rest of the api for gl_common.. that
alone would tell you "dont so that". ugh. more filter fixes.



SVN revision: 58746
2011-04-20 08:05:23 +00:00
Carsten Haitzler 18619830c4 oh god. more warning fixes...
SVN revision: 58745
2011-04-20 08:01:04 +00:00
Carsten Haitzler 384892d7fa start fixing shader mess. at least add mask compile to scripts. need
to do filters.



SVN revision: 58743
2011-04-20 07:12:51 +00:00
Brett Nash 9eaea94252 Evas: Filters:
More work, proudly supported by Samsung.  Filters!

So now you can apply a whole host of cheesy visual effects to objects at
runtime.  This is the first commit, there are a couple of more to come as I
tweak the filters, and fix blur with GL[1].

Please direct bugs to me nash@nash.id.au.

[1] You'd think shaders would be good at this.. but no, generic blur and GL
are like trying to get an apple product to work with Linux.

SVN revision: 58726
2011-04-19 05:47:56 +00:00
Brett Nash 36370ae91e Evas: Filter: Add the shaders - nice and safe change here.
SVN revision: 58725
2011-04-19 05:47:51 +00:00
Carsten Haitzler 27609d0572 no need to get this.
SVN revision: 58574
2011-04-12 00:06:57 +00:00
Carsten Haitzler 6b3e820f35 gles warning--
SVN revision: 58514
2011-04-09 04:13:21 +00:00
Carsten Haitzler fe933e7b34 and now REALLY fix that viewport bug...
SVN revision: 58386
2011-04-06 10:11:01 +00:00
Carsten Haitzler 70bc3602c7 fix scossor clip on 90 degree rots.
SVN revision: 58381
2011-04-06 07:32:33 +00:00
Brett Nash cc34e132be Evas: Mask: Add shader init code.
SVN revision: 58377
2011-04-06 06:15:59 +00:00
Carsten Haitzler 5c994667c2 fixme notice, fix make current context to force if it was changed.
SVN revision: 58375
2011-04-06 05:56:53 +00:00
Brett Nash b96d227334 Masking: Push a bit more arbitrary clipping
This seems to have got lost in my big messup before.  This pushes enough of
mask/arbitrary clip to be somewhat useful.  I need to push a little more soon
for it to be 100% happy, but this is useful level.

SVN revision: 58373
2011-04-06 05:38:38 +00:00
Cedric BAIL 30f906aac9 evas: one more death: gl_glew !
SVN revision: 58360
2011-04-05 13:19:20 +00:00
Carsten Haitzler 8859f850fb API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes).



SVN revision: 58318
2011-04-04 10:23:12 +00:00
Carsten Haitzler 6b4d91830e wer can release compiler data if we want when done with glsl compiling.
SVN revision: 58172
2011-03-29 09:10:57 +00:00
Cedric BAIL 76a0da7a1c evas: rename Evas_GL_Context to Evas_Engine_GL_Context
patch by Sung W. Park <sungwoo@gmail.com>


SVN revision: 57803
2011-03-16 17:32:49 +00:00
Sung W. Park 37c3f59341 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel] Evas - OpenGL and Image Object -
evas_object_image_native_surface_set()

Fix bug with yinvert handling of native surfaces.



SVN revision: 57658
2011-03-10 08:23:39 +00:00
Mike Blumenkrantz 63638f7393 _evas_gl_common_viewport_set segv fix: ROUND 2!
SVN revision: 57561
2011-03-08 01:00:21 +00:00
Carsten Haitzler d0ac8d8601 fix up gl side image cache to cleanly ref/deref and shadow image
cache. yes - changelog - this is just fixing up whats already
changelogged.



SVN revision: 56949
2011-02-11 06:23:10 +00:00
Carsten Haitzler aaad5f7319 fix most of nash's mess. 2 added aborts that nash has to fix.
SVN revision: 56891
2011-02-10 06:52:53 +00:00
Carsten Haitzler 7881c0b849 improvement to gl engine wrt. caching.
SVN revision: 56801
2011-02-08 11:41:38 +00:00
Brett Nash aa59164001 Support for Proxy Objects (and others)
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times.  One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.

This is complete.

Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).

SVN revision: 56777
2011-02-06 23:52:17 +00:00
Carsten Haitzler 1b89a7ac5f change map points to use double and floats to reduce perspective
correction adjustment seams in gl engine. almost all gone.



SVN revision: 56180
2011-01-16 07:49:49 +00:00
Carsten Haitzler fdc17c8c84 oooh thank you valgrind! found some bad mem access stuff in the gl
engine on shutdown. was freeing the wring kind of thing in the first
place.. and even then it should be more robust, so fix gl texture
robustness and this bug. can cause on-exit crashes if not fixed.



SVN revision: 56068
2011-01-13 10:41:08 +00:00
Carsten Haitzler 87a0e6575d and avoid some work if there is nothing to flush at all.
SVN revision: 55978
2011-01-07 10:22:22 +00:00
Carsten Haitzler 13df30ab2b i read the other day that glgeterror... causes driverstalls.. at least
in some drivers/architectures... so this may slow things down. disable.



SVN revision: 55976
2011-01-07 10:04:41 +00:00
Carsten Haitzler 3a568d6fd4 fmting.
SVN revision: 53887
2010-10-26 07:00:26 +00:00
Carsten Haitzler 5bf2fbcc63 make sure they are extern fn pointers
SVN revision: 53831
2010-10-24 13:30:27 +00:00
Gustavo Sverzut Barbieri 379b546adf better logging.
* log domains in lower-case only please. let's make it a standard so
   we don't have to look at the code everytime to figure out the name...

 * logs do NOT require trailing newline (\n), it's automatic!

 * do NOT add newline inside log messages!

 * add gl_common logging.

NOTE: I tried to compile all modules, but there are clear broken
      modules such as cairo and qtopia. Other modules like gl_sdl are
      broken as they were not updated to new gl_common api (resize
      method AFAIR).



SVN revision: 53174
2010-10-07 23:46:42 +00:00
Carsten Haitzler 21a7dde012 dynamic tex ref wrong. fix.
SVN revision: 53027
2010-10-04 11:17:11 +00:00