| Name |
| |
| ANGLE_program_binary_readiness_query |
| |
| Name Strings |
| |
| GL_ANGLE_program_binary_readiness_query |
| |
| Contributors |
| |
| Shahbaz Youssefi, Google |
| |
| Contact |
| |
| Shahbaz Youssefi (syoussefi 'at' google.com) |
| |
| Notice |
| |
| Copyright (c) 2024 The Khronos Group Inc. Copyright terms at |
| http://www.khronos.org/registry/speccopyright.html |
| |
| Status |
| |
| Draft |
| |
| Version |
| |
| Version 1, April 9, 2024 |
| |
| Number |
| |
| OpenGL ES Extension #?? |
| |
| Dependencies |
| |
| Requires OpenGL ES 2.0 |
| |
| Written against the OpenGL ES 2.0 specification. |
| |
| Overview |
| |
| After a program is linked, its binary can be queried by a call to |
| GetProgramBinary. In ANGLE, binary data may not necessarily be readily |
| available after link, for example because post-link tasks are filling in |
| caches that make the binary more useful. Calling GetProgramBinary in |
| such cases can lead to a CPU wait. |
| |
| Ideally, applications should query the program binary after having used the |
| program with all graphics states it may be used in during the lifetime of |
| the application (often, that is after one frame). In that case, any binary |
| that may be generated and cached due to the state combinations is |
| associated with program's binary, making the next run of the application |
| fully hit the caches. |
| |
| Nevertheless, this extension provides a query for the application to know |
| when ANGLE's best-guess binaries are cached and the program binary is ready |
| for retrieval. As long as this query returns FALSE, the application should |
| defer calling GetProgramBinary, or GetProgramiv with PROGRAM_BINARY_LENGTH |
| to avoid getting blocked on the CPU. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <pname> parameters of GetProgramiv: |
| |
| PROGRAM_BINARY_READY_ANGLE 0x96BE |
| |
| Additions to the OpenGL ES Specification |
| |
| Append to paragraph 8 of section 6.1.8 "Shader and Program Queries" |
| (description of GetProgramiv): |
| |
| If pname is PROGRAM_BINARY_READY_ANGLE, TRUE is returned if a call to |
| GetProgramBinary will not block, and FALSE is returned otherwise. |
| |
| New State |
| |
| None |
| |
| Conformance Tests |
| |
| TBD |
| |
| Issues |
| |
| None |
| |
| Revision History |
| |
| Rev. Date Author Changes |
| ---- ------------- --------- ---------------------------------------- |
| 1 Apr 09, 2024 syoussefi Initial version |