mesa: Allow MESA_framebuffer_flip_y for GLES 3
[mesa.git] / docs / specs / MESA_framebuffer_flip_y.txt
1 Name
2
3 MESA_framebuffer_flip_y
4
5 Name Strings
6
7 GL_MESA_framebuffer_flip_y
8
9 Contact
10
11 Fritz Koenig <frkoenig@google.com>
12
13 Contributors
14
15 Fritz Koenig, Google
16 Kristian Høgsberg, Google
17 Chad Versace, Google
18 Heinrich Fink, DAQRI
19
20 Status
21
22 Proposal
23
24 Version
25
26 Version 3, August, 2019
27
28 Number
29
30 OpenGL Extension #540
31 OpenGL ES Extension #302
32
33 Dependencies
34
35 Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments.
36
37 Overview
38
39 This extension defines a new framebuffer parameter,
40 GL_FRAMEBUFFER_FLIP_Y_MESA, that changes the behavior of the reads and
41 writes to the framebuffer attachment points. When GL_FRAMEBUFFER_FLIP_Y_MESA
42 is GL_TRUE, render commands and pixel transfer operations access the
43 backing store of each attachment point with an y-inverted coordinate
44 system. This y-inversion is relative to the coordinate system set when
45 GL_FRAMEBUFFER_FLIP_Y_MESA is GL_FALSE.
46
47 Access through TexSubImage2D and similar calls will notice the effect of
48 the flip when they are not attached to framebuffer objects because
49 GL_FRAMEBUFFER_FLIP_Y_MESA is associated with the framebuffer object and
50 not the attachment points.
51
52 IP Status
53
54 None
55
56 Issues
57
58 None
59
60 New Procedures and Functions
61
62 OpenGL ES must provide the following functions:
63
64 void FramebufferParameteriMESA(enum target, enum pname, int param);
65 void GetFramebufferParameterivMESA(enum target, enum pname, int *params);
66
67 New Types
68
69 None
70
71 New Tokens
72
73 Accepted by the <pname> argument of FramebufferParameteriMESA and
74 GetFramebufferParameterivMESA:
75
76 GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
77
78 Interactions with OpenGL 4.3, OpenGL ES 3.1, ARB_framebuffer_no_attachments
79 and any other versions and extensions that provide the entry points
80 FramebufferParameteri and GetFramebufferParameteriv
81
82 Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of
83 FramebufferParameteri and GetFramebufferParameteriv.
84
85 Errors
86
87 An INVALID_OPERATION error is generated by GetFramebufferParameteriv or
88 GetFramebufferParameterivMESA if the default framebuffer is bound
89 to <target> and <pname> is GL_FRAMEBUFFER_FLIP_Y_MESA.
90
91
92
93
94
95 Revision History
96
97 Version 3, August, 2019
98 Allow OpenGL ES 3.0 to implement by adding functions
99 FramebufferParameteriMESA and GetFramebufferParameterivMESA which were
100 previously only available in OpenGL ES 3.1.
101
102 Version 2, June, 2019
103 Enable extension for OpenGL 4.3 and beyond
104
105 Version 1, June, 2018
106 Initial draft (Fritz Koenig)