Path: blob/21.2-virgl/docs/_extra/specs/MESA_framebuffer_flip_y.txt
4566 views
Name12MESA_framebuffer_flip_y34Name Strings56GL_MESA_framebuffer_flip_y78Contact910Fritz Koenig <[email protected]>1112Contributors1314Fritz Koenig, Google15Kristian Høgsberg, Google16Chad Versace, Google17Heinrich Fink, DAQRI1819Status2021Proposal2223Version2425Version 3, August, 20192627Number2829OpenGL Extension #54030OpenGL ES Extension #3023132Dependencies3334Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments.3536Overview3738This extension defines a new framebuffer parameter,39GL_FRAMEBUFFER_FLIP_Y_MESA, that changes the behavior of the reads and40writes to the framebuffer attachment points. When GL_FRAMEBUFFER_FLIP_Y_MESA41is GL_TRUE, render commands and pixel transfer operations access the42backing store of each attachment point with an y-inverted coordinate43system. This y-inversion is relative to the coordinate system set when44GL_FRAMEBUFFER_FLIP_Y_MESA is GL_FALSE.4546Access through TexSubImage2D and similar calls will notice the effect of47the flip when they are not attached to framebuffer objects because48GL_FRAMEBUFFER_FLIP_Y_MESA is associated with the framebuffer object and49not the attachment points.5051IP Status5253None5455Issues5657None5859New Procedures and Functions6061OpenGL ES must provide the following functions:6263void FramebufferParameteriMESA(enum target, enum pname, int param);64void GetFramebufferParameterivMESA(enum target, enum pname, int *params);6566New Types6768None6970New Tokens7172Accepted by the <pname> argument of FramebufferParameteriMESA and73GetFramebufferParameterivMESA:7475GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB7677Interactions with OpenGL 4.3, OpenGL ES 3.1, ARB_framebuffer_no_attachments78and any other versions and extensions that provide the entry points79FramebufferParameteri and GetFramebufferParameteriv8081Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of82FramebufferParameteri and GetFramebufferParameteriv.8384Errors8586An INVALID_OPERATION error is generated by GetFramebufferParameteriv or87GetFramebufferParameterivMESA if the default framebuffer is bound88to <target> and <pname> is GL_FRAMEBUFFER_FLIP_Y_MESA.899091929394Revision History9596Version 3, August, 201997Allow OpenGL ES 3.0 to implement by adding functions98FramebufferParameteriMESA and GetFramebufferParameterivMESA which were99previously only available in OpenGL ES 3.1.100101Version 2, June, 2019102Enable extension for OpenGL 4.3 and beyond103104Version 1, June, 2018105Initial draft (Fritz Koenig)106107108