Name MESA_program_binary_formats Name Strings GL_MESA_program_binary_formats Contributors Ian Romanick Jordan Justen Timothy Arceri Contact Jordan Justen (jordan.l.justen 'at' intel.com) Status Complete. Version Last Modified Date: November 10, 2017 Revision: #2 Number OpenGL Extension #516 OpenGL ES Extension #294 Dependencies For use with the OpenGL ARB_get_program_binary extension, or the OpenGL ES OES_get_program_binary extension. Overview The get_program_binary exensions require a GLenum binaryFormat. This extension documents that format for use with Mesa. New Procedures and Functions None. New Tokens GL_PROGRAM_BINARY_FORMAT_MESA 0x875F For ARB_get_program_binary, GL_PROGRAM_BINARY_FORMAT_MESA may be returned from GetProgramBinary calls in the parameter and when retrieving the value of PROGRAM_BINARY_FORMATS. For OES_get_program_binary, GL_PROGRAM_BINARY_FORMAT_MESA may be returned from GetProgramBinaryOES calls in the parameter and when retrieving the value of PROGRAM_BINARY_FORMATS_OES. New State None. Issues (1) Should we have a different format for each driver? RESOLVED. Since Mesa supports multiple hardware drivers, having a single format may cause separate drivers to have to reject a binary for another type of hardware on the same machine. This could lead to an application having to invalidate and get a new binary more often. This extension, at least initially, does not to attempt to define a new token for each driver since systems that run multiple drivers are not the common case. Additionally, drivers in Mesa are now gaining the ability to transparently cache shader programs. Therefore, although they may need to provide the application with a new binary more often, they likely can retrieve the program from the cache rather than performing an expensive recompile. Revision History #02 11/10/2017 Jordan Justen Add Issues (1) suggested by Ian #01 10/28/2017 Jordan Justen First draft.