[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