Evas GL: Apply patches for 'run-time generation and load of shaders' feature 72/62072/6
authorPrudhvi Raj, Vasireddi <prudhvi.raj@samsung.com>
Mon, 14 Mar 2016 06:12:16 +0000 (15:12 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Tue, 15 Mar 2016 06:21:03 +0000 (23:21 -0700)
commite7ae3b84795a8988caa6478e7e20aa4cd7a9545e
tree1a2b49ba7a0c3fb6f8a62663d14511fbabd6af83
parentc414c4d6bc17c826b37d32244dbb18909acc627a
Evas GL: Apply patches for 'run-time generation and load of shaders' feature

    Major changes,
    By default, compile & load only most common shaders
    Compile & load other shaders during run-time as and when needed

    Major improvements,
    Improves launching time with less number of shaders compiled & loaded by default
    Reduces memory usage, by avoiding loading all shaders
    Limits loading to most common shaders only in every subsequent run

Upstream patches list,

Evas GL: Implement runtime generation and load of shaders
Evas GL: Release shader compiler during evas_render_idle_flush
Evas GL: Fix linking to 'context_restore_set'
Evas GL: Delete shaders after linking programs
Evas GL: Precompile common shaders
Evas GL: Save all binary shaders during idle_flush
Evas GL: Fix oopsie in the shaders selection
evas_gl_shader: refractor shader/program compile check code.
Evas GL: Fix build for bigendian
Efreet, Elua : use eina_file_mkstemp instead of mkstemp
Evas GL: Fix shaders for bigendian
Evas: Fix potential crash with extraneous eet_shutdown
Evas GL: Fix shader binaries cache
Evas GL: Also fix surface cap cache
Evas: Fix shader flag 'afill' (forcing alpha to 255)
Evas: Actually fix this 'afill' thing
Evas: Discard shaders cache when the code changed
Evas: Avoid saving the shaders cache at every shutdown
Evas GL: Actually save the checksum inside the file
eina: use eina_file_path_join() and eina_environment_tmp_get() when needed
Eina: Fix eina_file_mk[ds]temp when a path is passed
elua: Fix use of eina_file_mkstemp after previous patch
Efreet, Elua : use eina_file_mkstemp instead of mkstemp
Eina: Add proper test case for eina_mk[ds]temp

Change-Id: Ica4093ebf9b89a5d270e3bde999efe9cb9fbe69f
22 files changed:
src/Makefile_Evas.am
src/lib/eina/eina_file.h
src/lib/eina/eina_file_common.c
src/lib/elua/cache.c
src/modules/evas/engines/gl_cocoa/evas_engine.c
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_common/evas_gl_core.c
src/modules/evas/engines/gl_common/evas_gl_core.h
src/modules/evas/engines/gl_common/evas_gl_shader.c
src/modules/evas/engines/gl_common/shader/evas_gl_enum.x [deleted file]
src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x
src/modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x [deleted file]
src/modules/evas/engines/gl_common/shader/fragment.glsl
src/modules/evas/engines/gl_common/shader/gen_shaders.sh
src/modules/evas/engines/gl_common/shader/include.glsl [new file with mode: 0755]
src/modules/evas/engines/gl_common/shader/shaders.txt [deleted file]
src/modules/evas/engines/gl_common/shader/vertex.glsl
src/modules/evas/engines/gl_x11/evas_engine.c
src/modules/evas/engines/gl_x11/evas_engine.h
src/modules/evas/engines/gl_x11/evas_x_main.c
src/tests/eina/eina_test_file.c