3 MESA_framebuffer_flip_y
7 GL_MESA_framebuffer_flip_y
11 Fritz Koenig <frkoenig@google.com>
16 Kristian Høgsberg, Google
26 Version 3, August, 2019
31 OpenGL ES Extension #302
35 Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments.
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.
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.
60 New Procedures and Functions
62 OpenGL ES must provide the following functions:
64 void FramebufferParameteriMESA(enum target, enum pname, int param);
65 void GetFramebufferParameterivMESA(enum target, enum pname, int *params);
73 Accepted by the <pname> argument of FramebufferParameteriMESA and
74 GetFramebufferParameterivMESA:
76 GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
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
82 Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of
83 FramebufferParameteri and GetFramebufferParameteriv.
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.
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.
102 Version 2, June, 2019
103 Enable extension for OpenGL 4.3 and beyond
105 Version 1, June, 2018
106 Initial draft (Fritz Koenig)