[Mesa-dev] [wip 0/9] GL_OES_get_program_binary extension

Paul Berry stereotype441 at gmail.com
Wed Jan 15 08:17:54 PST 2014


On 2 January 2014 03:58, Tapani Pälli <tapani.palli at intel.com> wrote:

> Hi;
>
> Here's another take on the get_program_binary extension. I've rewritten big
> chunks of it based on Paul's review and comments earlier. Here's a brief
> list
> out of my head of things changed:
>
> - uses mesa compilation time as verification method for cache, not git sha
> - much smaller serialization code size, now as part of IR classes
> - smaller binary blob size
> - does not dump separate 'prototypes block' for functions but instead
>  deserialization iterates over the whole blob for functions first
> - hashtables written faster than previously (iterated only once)
> - no 'unique_id' for ir_variables but using the address as identifier
> - patch set broken down to more individual patches/changes
>
> Mesa branch with these patches applied on top:
> http://cgit.freedesktop.org/~tpalli/mesa/log/?h=oes_get_program_binary
>
> I have plans for the addition of driver backend data but I was hoping this
> to
> be as a separate addition on top. Basically I extend gl_shader_program
> struct
> and offer API for drivers to dump their binary data there, some proto here:
>
> http://cgit.freedesktop.org/~tpalli/mesa/log/?h=driver_interface
> (in order to work more data needed like the keys but this is just test)
>
> I have also 'automatic' cache implementation here that can be used to
> verify
> the cache functionality with any application (without extension):
> http://cgit.freedesktop.org/~tpalli/mesa/log/?h=new_serialization
>
> Any comments appreciated;
>
> Tapani Pälli (9):
>   glsl: memory_writer helper class for data serialization
>   glsl: serialize methods for IR instructions
>   glsl: memory_map helper class for data deserialization
>   glsl: add MESA_SHADER_CACHE_MAGIC string for shader binary cache
>   glsl: export populate_symbol_table function
>   glsl: ir_deserializer class for the binary shader cache
>   mesa: iterate method for string_to_uint_map
>   glsl: functions to serialize gl_shader and gl_shader_program
>   mesa: OES_get_program_binary extension functionality
>

I sent comments on all patches but 4, 5, and 7.  Those patches are:

Reviewed-by: Paul Berry <stereotype441 at gmail.com>

I see that you've already responded to some of my comments.  I'm on a
business trip this week so I have limited time to answer email, but I'll
try to respond to your responses as soon as I can.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140115/90cba209/attachment.html>


More information about the mesa-dev mailing list