V3: This is basically the V2 that Jordan sent with feedback addressed, gallium support added, some minor functional changes such as only storing the default uniforms to either disk or program binary cache (rather than fixing them up later) and some refactoring to allow greater code sharing between gallium and i965.
This series adds i965/gallium support for ARB_get_program_binary with greater than 0 supported formats. Today we support this extension, but advertise support for 0 formats. This series allows i965/gallium to advertise support for 1 format. This series defines a common Mesa format for ARB_get_program_binary, along with helper functions to read and write the format. The binary saved can only be reloaded on the exact same Mesa build using the exact same hardware. The i965/gallium implementation saves out a serialized nir/tgsi represenation of the program. For i965 we can later add support for saving the gen binary program as well. (We will still need the nir program for state based recompiles.) This implementation passes piglit, deqp and glcts functions. It also works with (and fixes a crash in) Dead Island with makes use of the extension. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev