102f4aeb0Sopenharmony_ciName
202f4aeb0Sopenharmony_ci
302f4aeb0Sopenharmony_ci    NV_stream_fifo_next
402f4aeb0Sopenharmony_ci
502f4aeb0Sopenharmony_ciName Strings
602f4aeb0Sopenharmony_ci
702f4aeb0Sopenharmony_ci    EGL_NV_stream_fifo_next
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ciContributors
1002f4aeb0Sopenharmony_ci
1102f4aeb0Sopenharmony_ci    Daniel Kartch
1202f4aeb0Sopenharmony_ci    Miguel A. Vico
1302f4aeb0Sopenharmony_ci
1402f4aeb0Sopenharmony_ciContacts
1502f4aeb0Sopenharmony_ci
1602f4aeb0Sopenharmony_ci    Daniel Kartch, NVIDIA (dkartch 'at' nvidia.com)
1702f4aeb0Sopenharmony_ci
1802f4aeb0Sopenharmony_ciStatus
1902f4aeb0Sopenharmony_ci
2002f4aeb0Sopenharmony_ci    Draft
2102f4aeb0Sopenharmony_ci
2202f4aeb0Sopenharmony_ciVersion
2302f4aeb0Sopenharmony_ci
2402f4aeb0Sopenharmony_ci    Version 3 - October 27, 2016
2502f4aeb0Sopenharmony_ci
2602f4aeb0Sopenharmony_ciNumber
2702f4aeb0Sopenharmony_ci
2802f4aeb0Sopenharmony_ci    EGL Extension #110
2902f4aeb0Sopenharmony_ci
3002f4aeb0Sopenharmony_ciExtension Type
3102f4aeb0Sopenharmony_ci
3202f4aeb0Sopenharmony_ci    EGL display extension
3302f4aeb0Sopenharmony_ci
3402f4aeb0Sopenharmony_ciDependencies
3502f4aeb0Sopenharmony_ci
3602f4aeb0Sopenharmony_ci    Requires EGL_KHR_stream_fifo
3702f4aeb0Sopenharmony_ci
3802f4aeb0Sopenharmony_ciOverview
3902f4aeb0Sopenharmony_ci
4002f4aeb0Sopenharmony_ci    When operating on a FIFO stream, a consumer may need to know the
4102f4aeb0Sopenharmony_ci    timestamp associated with the next frame in the stream before
4202f4aeb0Sopenharmony_ci    deciding whether to acquire it or reuse the previous frame. In the
4302f4aeb0Sopenharmony_ci    case of a FIFO size of 1, the EGL_STREAM_TIME_PRODUCER_KHR attribute
4402f4aeb0Sopenharmony_ci    is sufficient to determine this. However, when the size is greater
4502f4aeb0Sopenharmony_ci    than 1, there may be frames available with earlier time stamps than
4602f4aeb0Sopenharmony_ci    the one most recently inserted by the producer. This extension
4702f4aeb0Sopenharmony_ci    enables querying of the next pending frame in a stream.
4802f4aeb0Sopenharmony_ci
4902f4aeb0Sopenharmony_ciNew Types
5002f4aeb0Sopenharmony_ci
5102f4aeb0Sopenharmony_ci    None
5202f4aeb0Sopenharmony_ci
5302f4aeb0Sopenharmony_ciNew Functions
5402f4aeb0Sopenharmony_ci
5502f4aeb0Sopenharmony_ci    None
5602f4aeb0Sopenharmony_ci
5702f4aeb0Sopenharmony_ciNew Tokens
5802f4aeb0Sopenharmony_ci
5902f4aeb0Sopenharmony_ci    Accepted as the <attribute> parameter of eglQueryStreamu64KHR
6002f4aeb0Sopenharmony_ci
6102f4aeb0Sopenharmony_ci        EGL_PENDING_FRAME_NV                        0x3329
6202f4aeb0Sopenharmony_ci
6302f4aeb0Sopenharmony_ci    Accepted as the <attribute> parameter of eglQueryStreamTimeKHR
6402f4aeb0Sopenharmony_ci
6502f4aeb0Sopenharmony_ci        EGL_STREAM_TIME_PENDING_NV                  0x332A
6602f4aeb0Sopenharmony_ci
6702f4aeb0Sopenharmony_ciAdd to "Table 3.10.4.4 EGLStream Attributes" in the EGL_KHR_stream
6802f4aeb0Sopenharmony_ciextension spec:
6902f4aeb0Sopenharmony_ci
7002f4aeb0Sopenharmony_ci        Attribute                  Read/Write Type         Section
7102f4aeb0Sopenharmony_ci        -------------------------- ---------- ------------ --------
7202f4aeb0Sopenharmony_ci        EGL_PENDING_FRAME_NV           ro     EGLuint64KHR 3.10.4.x
7302f4aeb0Sopenharmony_ci        EGL_STREAM_TIME_PENDING_NV     ro     EGLTimeKHR   3.10.4.y
7402f4aeb0Sopenharmony_ci
7502f4aeb0Sopenharmony_ciAdd new subsections to section "3.10.4 EGLStream Attributes" in the
7602f4aeb0Sopenharmony_ciEGL_KHR_stream extension spec
7702f4aeb0Sopenharmony_ci
7802f4aeb0Sopenharmony_ci    3.10.4.x EGL_PENDING_FRAME_NV Attribute
7902f4aeb0Sopenharmony_ci
8002f4aeb0Sopenharmony_ci    The EGL_PENDING_FRAME_NV attribute indicates the frame number of the
8102f4aeb0Sopenharmony_ci    image frame that would be obtained if an acquire operation were
8202f4aeb0Sopenharmony_ci    performed at the time of the query. This is the value that
8302f4aeb0Sopenharmony_ci    EGL_PRODUCER_FRAME_KHR contained just after this image frame was
8402f4aeb0Sopenharmony_ci    inserted into the stream.
8502f4aeb0Sopenharmony_ci
8602f4aeb0Sopenharmony_ci    3.10.4.y EGL_STREAM_TIME_PENDING_NV Attribute
8702f4aeb0Sopenharmony_ci
8802f4aeb0Sopenharmony_ci    The EGL_STREAM_TIME_PENDING_NV attribute indicates the timestamp of
8902f4aeb0Sopenharmony_ci    the image frame that would be obtained if an acquire operation were
9002f4aeb0Sopenharmony_ci    performed at the time of the query.
9102f4aeb0Sopenharmony_ci
9202f4aeb0Sopenharmony_ciIssues
9302f4aeb0Sopenharmony_ci
9402f4aeb0Sopenharmony_ci    None
9502f4aeb0Sopenharmony_ci
9602f4aeb0Sopenharmony_ciRevision History
9702f4aeb0Sopenharmony_ci
9802f4aeb0Sopenharmony_ci    #3  (October 27, 2016) Daniel Kartch
9902f4aeb0Sopenharmony_ci        - Clean up for publication
10002f4aeb0Sopenharmony_ci
10102f4aeb0Sopenharmony_ci    #2  (April 2nd, 2015) Miguel A. Vico
10202f4aeb0Sopenharmony_ci        - Assigned enumerated values for constants.
10302f4aeb0Sopenharmony_ci
10402f4aeb0Sopenharmony_ci    #1  (March 20th, 2015) Daniel Kartch
10502f4aeb0Sopenharmony_ci        - Initial draft
106