aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile_Evas.am
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-11-05 15:39:32 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-11-10 16:12:20 +0900
commit38ad8fda8ddb681707b42a17a23eba29b3bbd86e (patch)
treedcf22fb1ed0be42ae79acb4c75d08130a4171051 /src/Makefile_Evas.am
parentefl - fix eina after misnaming of piblic api (diff)
downloadefl-38ad8fda8ddb681707b42a17a23eba29b3bbd86e.tar.gz
Evas GL: Implement runtime generation and load of shaders
Instead of generating the shaders at compile-time, do this at runtime. Also load only the required shaders in memory. This saves 25000 LOC, lots of strings inside the .so files and save a non negligible amount of memory since those shader binaries can weigh a few megabytes in total. The current shader selection mechanism is a bit complex and uses eina_hash_int32 but this can be optimized later if it's deemed too slow.
Diffstat (limited to 'src/Makefile_Evas.am')
-rw-r--r--src/Makefile_Evas.am12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index b94ac1fa20..aaf4ea22f2 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -682,9 +682,8 @@ modules/evas/engines/gl_common/evas_gl_api_gles1.c \
modules/evas/engines/gl_common/evas_gl_api_gles3_def.h \
modules/evas/engines/gl_common/evas_gl_api_ext.c \
modules/evas/engines/gl_common/shader/evas_gl_shaders.x \
-modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x \
modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x \
-modules/evas/engines/gl_common/shader/evas_gl_enum.x
+$(NULL)
# 3D
GL_COMMON_SOURCES += \
@@ -696,24 +695,17 @@ modules/evas/engines/gl_common/evas_gl_3d_shader.c
GL_SHADERS_GEN = \
modules/evas/engines/gl_common/shader/gen_shaders.sh \
-modules/evas/engines/gl_common/shader/shaders.txt \
modules/evas/engines/gl_common/shader/fragment.glsl \
modules/evas/engines/gl_common/shader/vertex.glsl \
+modules/evas/engines/gl_common/shader/include.glsl \
$(NULL)
EXTRA_DIST += $(GL_SHADERS_GEN)
-EXTRA_lib_evas_libevas_la_DEPENDENCIES = modules/evas/engines/gl_common/shader/evas_gl_enum.x
modules/evas/engines/gl_common/shader/evas_gl_shaders.x: $(GL_SHADERS_GEN)
@echo " SHADERS $@"
@bash $(srcdir)/modules/evas/engines/gl_common/shader/gen_shaders.sh
-modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x: $(GL_SHADERS_GEN)
- @echo " SHADERS $@"
- @bash $(srcdir)/modules/evas/engines/gl_common/shader/gen_shaders.sh _bigendian
-
-modules/evas/engines/gl_common/shader/evas_gl_enum.x: modules/evas/engines/gl_common/shader/evas_gl_shaders.x modules/evas/engines/gl_common/shader/evas_gl_shaders_bigendian.x
-
# NOTE: order here should be equal with modes in file Evas_Eo.h
GL_SHADERS_3D_GEN = \
modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd \