• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ARM_mali_program_binary
4
5Name Strings
6
7    GL_ARM_mali_program_binary
8
9Contributors
10
11    Jan-Harald Fredriksen, ARM
12    Tom Olson, ARM
13
14Contact
15
16    Jan-Harald Fredriksen (jan-harald.fredriksen 'at' arm.com)
17
18Status
19
20    Shipping as of August 2012.
21
22Version
23
24    Last Modified Date: June 26, 2015
25
26Number
27
28    OpenGL ES Extension #120
29
30Dependencies
31
32    OpenGL ES 2.0 is required.
33    OES_get_program_binary is required.
34
35    This extension is written based on the wording of the OpenGL ES 2.0.25
36    specification and the OES_get_program_binary extension.
37
38Overview
39
40    The OES_get_program_binary extension enables applications to retrieve program
41    binaries using GetProgramBinaryOES and reload them using ProgramBinaryOES.
42
43    The mechanism for retrieval and reloading of program binaries is vendor
44    agnostic, but the binary format itself is vendor specific.
45
46    This extension adds a token to identify program binaries that are
47    compatible with the ARM Mali family of GPUs.
48
49Issues
50
51    1. When should applications recompile and relink program binaries?
52
53    UNRESOLVED: ProgramBinaryOES may fail after a driver update. In this
54    case, it may be useful for applications to know whether all program
55    binaries need to be recompiled and/or relinked. There is no language
56    mechanism other than the program object info log to provide this
57    information to the application. However, it is expected that if any
58    binary fails to load after a driver update, then all programs binaries
59    retrieved prior to the driver update will fail to load.
60
61New Procedures and Functions
62
63    None
64
65New Tokens
66
67    Accepted by the <binaryFormat> parameter of ProgramBinaryOES:
68
69        MALI_PROGRAM_BINARY_ARM              0x8F61
70
71Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL ES Operation)
72
73    At the end of the section called Program Binaries, add:
74
75    "The format MALI_PROGRAM_BINARY_ARM will be present in the list of
76    program binary formats returned when querying PROGRAM_BINARY_FORMATS_OES.
77    This format will be returned in <binaryFormat> by GetProgramBinaryOES, and
78    may be used as the <binaryFormat> in calls to ProgramBinaryOES.
79
80    ProgramBinaryOES may reject a MALI_PROGRAM_BINARY_ARM program binary. This
81    can happen if <binary> is not a valid Mali program binary, if <binary> has
82    been compiled for an incompatible Mali GPU, if <binary> has been compiled
83    for a different API version, or if <binary> has been produced by an
84    incompatible version of the shader compiler or driver. If <binary> is
85    rejected for any of these reasons, the LINK_STATUS will be set to FALSE
86    and the program object's info log will be updated with a reason for the
87    rejection.
88
89    If <binary> was rejected because it was produced by an incompatible version
90    of the shader compiler or driver, applications should recompile and relink
91    all programs produced with the previous version of the shader compiler and
92    driver."
93
94Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization)
95
96    None
97
98Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment Operations and the Frame Buffer)
99
100    None
101
102Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions)
103
104    None
105
106Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State Requests)
107
108    None
109
110Errors
111
112    None
113
114New State
115
116    None
117
118New Implementation Dependent State
119
120    None
121
122Revision History
123
124    #1  21/03/2012   Jan-Harald Fredriksen    First draft.
125    #2  26/03/2012   Jan-Harald Fredriksen    Completed internal review.
126    #3  24/06/2012   Jan-Harald Fredriksen    Clarified behavior for incompatible binaries.
127    #4  01/09/2012   Jan-Harald Fredriksen    Updated status.
128    #5  25/06/2015   Jan-Harald Fredriksen    Fixed typo.
129