1Name 2 3 MESA_program_binary_formats 4 5Name Strings 6 7 GL_MESA_program_binary_formats 8 9Contributors 10 11 Ian Romanick 12 Jordan Justen 13 Timothy Arceri 14 15Contact 16 17 Jordan Justen (jordan.l.justen 'at' intel.com) 18 19Status 20 21 Complete. 22 23Version 24 25 Last Modified Date: November 10, 2017 26 Revision: #2 27 28Number 29 30 OpenGL Extension #516 31 OpenGL ES Extension #294 32 33Dependencies 34 35 For use with the OpenGL ARB_get_program_binary extension, or the 36 OpenGL ES OES_get_program_binary extension. 37 38Overview 39 40 The get_program_binary exensions require a GLenum binaryFormat. 41 This extension documents that format for use with Mesa. 42 43New Procedures and Functions 44 45 None. 46 47New Tokens 48 49 GL_PROGRAM_BINARY_FORMAT_MESA 0x875F 50 51 For ARB_get_program_binary, GL_PROGRAM_BINARY_FORMAT_MESA may be 52 returned from GetProgramBinary calls in the <binaryFormat> 53 parameter and when retrieving the value of PROGRAM_BINARY_FORMATS. 54 55 For OES_get_program_binary, GL_PROGRAM_BINARY_FORMAT_MESA may be 56 returned from GetProgramBinaryOES calls in the <binaryFormat> 57 parameter and when retrieving the value of 58 PROGRAM_BINARY_FORMATS_OES. 59 60New State 61 62 None. 63 64Issues 65 66 (1) Should we have a different format for each driver? 67 68 RESOLVED. Since Mesa supports multiple hardware drivers, having 69 a single format may cause separate drivers to have to reject a 70 binary for another type of hardware on the same machine. This 71 could lead to an application having to invalidate and get a new 72 binary more often. 73 74 This extension, at least initially, does not to attempt to 75 define a new token for each driver since systems that run 76 multiple drivers are not the common case. 77 78 Additionally, drivers in Mesa are now gaining the ability to 79 transparently cache shader programs. Therefore, although they 80 may need to provide the application with a new binary more 81 often, they likely can retrieve the program from the cache 82 rather than performing an expensive recompile. 83 84Revision History 85 86 #02 11/10/2017 Jordan Justen Add Issues (1) suggested by Ian 87 88 #01 10/28/2017 Jordan Justen First draft. 89