[Mesa-dev] [v2 0/6] GL_OES_get_program_binary extension
Tapani Pälli
tapani.palli at intel.com
Fri Nov 1 02:16:21 PDT 2013
Hi;
Here's version 2 of my GL_OES_get_program_binary implementation I sent before:
http://lists.freedesktop.org/archives/mesa-dev/2013-October/046934.html
I've fixed the errors Paul Berry found and refactored the code quite a bit. I
also split it in to more patches to hopefully make it more readable. My next
step is to test how Chrome utilizes this extension and hopefully come up with
some nice numbers.
I'm also progressing on the automatic cache but it still seems quite a problem
as the API allows all kinds of things so I'm trying to come up with a plan
what should be done on different entrypoints. Any tips and knowledge on the
possible corner cases appreciated ...
Branch with the patches applied:
http://cgit.freedesktop.org/~tpalli/mesa/log/?h=oes_get_program_binary
Tapani Pälli (6):
glsl: export populate_symbol_table
mesa: iterate method for string_to_uint_map
glsl: ir_serializer class for the shader cache
glsl: ir_deserializer class for the shader cache
glsl: functions to serialize gl_shader and gl_shader_program
mesa: OES_get_program_binary functionality
src/glsl/Makefile.sources | 3 +
src/glsl/ir_cache.cpp | 373 ++++++++++
src/glsl/ir_cache.h | 58 ++
src/glsl/ir_cache_deserializer.cpp | 1341 ++++++++++++++++++++++++++++++++++++
src/glsl/ir_cache_deserializer.h | 301 ++++++++
src/glsl/ir_cache_serializer.cpp | 933 +++++++++++++++++++++++++
src/glsl/ir_cache_serializer.h | 207 ++++++
src/glsl/linker.cpp | 2 +-
src/glsl/linker.h | 3 +
src/mesa/main/shaderapi.c | 46 +-
src/mesa/program/hash_table.h | 8 +
11 files changed, 3267 insertions(+), 8 deletions(-)
create mode 100644 src/glsl/ir_cache.cpp
create mode 100644 src/glsl/ir_cache.h
create mode 100644 src/glsl/ir_cache_deserializer.cpp
create mode 100644 src/glsl/ir_cache_deserializer.h
create mode 100644 src/glsl/ir_cache_serializer.cpp
create mode 100644 src/glsl/ir_cache_serializer.h
--
1.8.1.4
More information about the mesa-dev
mailing list