blob: 891cc43fe5f5371e27440ffde734762a5d4cce1b [file] [log] [blame]
Name
MESA_framebuffer_flip_y
Name Strings
GL_MESA_framebuffer_flip_y
Contact
Fritz Koenig <frkoenig@google.com>
Contributors
Fritz Koenig, Google
Kristian Høgsberg, Google
Chad Versace, Google
Heinrich Fink, DAQRI
Status
Proposal
Version
Version 3, August, 2019
Number
OpenGL Extension #540
OpenGL ES Extension #302
Dependencies
Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments.
Overview
This extension defines a new framebuffer parameter,
GL_FRAMEBUFFER_FLIP_Y_MESA, that changes the behavior of the reads and
writes to the framebuffer attachment points. When GL_FRAMEBUFFER_FLIP_Y_MESA
is GL_TRUE, render commands and pixel transfer operations access the
backing store of each attachment point with an y-inverted coordinate
system. This y-inversion is relative to the coordinate system set when
GL_FRAMEBUFFER_FLIP_Y_MESA is GL_FALSE.
Access through TexSubImage2D and similar calls will notice the effect of
the flip when they are not attached to framebuffer objects because
GL_FRAMEBUFFER_FLIP_Y_MESA is associated with the framebuffer object and
not the attachment points.
IP Status
None
Issues
None
New Procedures and Functions
OpenGL ES must provide the following functions:
void FramebufferParameteriMESA(enum target, enum pname, int param);
void GetFramebufferParameterivMESA(enum target, enum pname, int *params);
New Types
None
New Tokens
Accepted by the <pname> argument of FramebufferParameteriMESA and
GetFramebufferParameterivMESA:
GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
Interactions with OpenGL 4.3, OpenGL ES 3.1, ARB_framebuffer_no_attachments
and any other versions and extensions that provide the entry points
FramebufferParameteri and GetFramebufferParameteriv
Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of
FramebufferParameteri and GetFramebufferParameteriv.
Errors
An INVALID_OPERATION error is generated by GetFramebufferParameteriv or
GetFramebufferParameterivMESA if the default framebuffer is bound
to <target> and <pname> is GL_FRAMEBUFFER_FLIP_Y_MESA.
Revision History
Version 3, August, 2019
Allow OpenGL ES 3.0 to implement by adding functions
FramebufferParameteriMESA and GetFramebufferParameterivMESA which were
previously only available in OpenGL ES 3.1.
Version 2, June, 2019
Enable extension for OpenGL 4.3 and beyond
Version 1, June, 2018
Initial draft (Fritz Koenig)