[Mesa-dev] [PATCH 0/4] GL_OES_get_program_binary extension

Tapani Pälli tapani.palli at intel.com
Thu Oct 24 10:28:02 CEST 2013


These patches introduce GL_OES_get_program_binary extension support for Mesa.
There are already stub functions for this extension, patches add the missing
functionality part. This is based on the 'more automatic' shader cache work
I've been implementing. I wanted to implement this first as this is a standard
for applications to use and the automatic cache can be built separately based
on these same enablers.

As well as code review I would also appreciate any testing efforts with this.
I've tested this with my own test apps but as you can imagine the coverage
ain't that big. I'm also thinking of building piglit test cases to exercise
cache shader but that is still on planning stage.

The spec for extension is here:

Tapani Pälli (4):
  glsl: export populate_symbol_table
  mesa: iterate method for string_to_uint_map
  glsl: add ir_cache class and functions for shader serialization
  mesa: OES_get_program_binary functionality

 src/glsl/Makefile.sources         |    2 +
 src/glsl/ir_cache.h               |  691 +++++++++++++++++
 src/glsl/ir_cache_serialize.cpp   |  967 ++++++++++++++++++++++++
 src/glsl/ir_cache_unserialize.cpp | 1508 +++++++++++++++++++++++++++++++++++++
 src/glsl/linker.cpp               |    2 +-
 src/glsl/linker.h                 |    3 +
 src/mesa/main/shaderapi.c         |   46 +-
 src/mesa/program/hash_table.h     |    8 +
 8 files changed, 3219 insertions(+), 8 deletions(-)
 create mode 100644 src/glsl/ir_cache.h
 create mode 100644 src/glsl/ir_cache_serialize.cpp
 create mode 100644 src/glsl/ir_cache_unserialize.cpp


More information about the mesa-dev mailing list