[Mesa-dev] [PATCHi V2] spec: MESA_program_binary

Eric Engestrom eric.engestrom at imgtec.com
Thu Mar 16 10:13:10 UTC 2017


On Thursday, 2017-03-16 14:36:48 +1100, Timothy Arceri wrote:
> In order to add functionality for OES_get_program_binary and
> ARB_get_program_binary we need a binary format enum.
> 
> V2: share a single enum for all mesa drivers.
> 
> Cc: Ian Romanick <idr at freedesktop.org>
> ---
> 
> Hi Ian,
> 
> Did you find out if Mesa still had some available enums assigned to it?

Looking at src/mapi/glapi/registry/gl.xml [1], the following are free:
- 0x875F from the 0x8750-0x875F block
- 0x8BB8-0x8BBF from the 0x8BB0-0x8BBF block

That 2nd block already contains GL_*_PROGRAM_*_MESA, so it might be more
appropriate.

[1] This is our local copy, canonical version lives at:
https://github.com/KhronosGroup/OpenGL-Registry/blob/master/xml/gl.xml

> 
> Thanks,
> Tim
> 
>  docs/specs/MESA_program_binary.txt | 74 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 74 insertions(+)
>  create mode 100644 docs/specs/MESA_program_binary.txt
> 
> diff --git a/docs/specs/MESA_program_binary.txt b/docs/specs/MESA_program_binary.txt
> new file mode 100644
> index 0000000..fe29bb4
> --- /dev/null
> +++ b/docs/specs/MESA_program_binary.txt
> @@ -0,0 +1,74 @@
> +Name
> +
> +    MESA_program_binary
> +
> +Name Strings
> +
> +    GL_MESA_program_binary
> +
> +Contact
> +
> +    Timothy Arceri (tarceri 'at' itsqueeze.com)
> +
> +Status
> +
> +    Complete.
> +
> +Version
> +    
> +    Last Modified Date: February 16, 2017
> +    Revision: #1
> +
> +Number
> +
> +    ???
> +
> +Dependencies
> +
> +    OpenGL ES 2.0 is required.
> +
> +    Written based on the wording of the OpenGL ES 2.0 specification.
> +
> +    This extension interacts with OES_get_program_binary.
> +
> +Overview
> +
> +    This extension provides a binary format for Mesa based drivers in order to
> +    avoid conflicts with other drivers and enable the functionality provided
> +    by OES_get_program_binary.
> +
> +New Procedures and Functions
> +
> +    None.
> +
> +New Tokens
> +
> +    Accepted by the <binaryFormat> parameter of ShaderBinary:
> +
> +        MESA_PROGRAM_BINARY                    ????

GL_BINARY_PROGRAM_MESA ?

> +
> +Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation)
> +
> +    Add the following paragraph to the end of section 2.10.2:
> +
> +    "Depending on the hardware in use the apropriate <binaryFormat> is
> +    returned when querying the list of SHADER_BINARY_FORMATS.
> +
> +    Pre-compiled shader binaries in this format may be loaded via ShaderBinary.
> +
> +    When a binary fails to load, an INVALID_VALUE error is generated and a
> +    more detailed error message is appended to the shader's info log."
> +
> +Errors
> +
> +    INVALID_VALUE is generated if the <binary> parameter to ShaderBinary was
> +    produced with an incompatible version of the MESA shader compiler.
> +
> +New State
> +
> +    None.
> +
> +Revision History
> +
> +    #01    02/16/2017    Timothy Arceri       First draft.
> +
> -- 
> 2.9.3
> 


More information about the mesa-dev mailing list