1Name 2 3 MESA_framebuffer_flip_y 4 5Name Strings 6 7 GL_MESA_framebuffer_flip_y 8 9Contact 10 11 Fritz Koenig <frkoenig@google.com> 12 13Contributors 14 15 Fritz Koenig, Google 16 Kristian Høgsberg, Google 17 Chad Versace, Google 18 Heinrich Fink, DAQRI 19 20Status 21 22 Proposal 23 24Version 25 26 Version 3, August, 2019 27 28Number 29 30 OpenGL Extension #540 31 OpenGL ES Extension #302 32 33Dependencies 34 35 Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments. 36 37Overview 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 52IP Status 53 54 None 55 56Issues 57 58 None 59 60New 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 67New Types 68 69 None 70 71New Tokens 72 73 Accepted by the <pname> argument of FramebufferParameteriMESA and 74 GetFramebufferParameterivMESA: 75 76 GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB 77 78Interactions with OpenGL 4.3, OpenGL ES 3.1, ARB_framebuffer_no_attachments 79and any other versions and extensions that provide the entry points 80FramebufferParameteri and GetFramebufferParameteriv 81 82 Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of 83 FramebufferParameteri and GetFramebufferParameteriv. 84 85Errors 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 95Revision 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) 107