1b8e80941SmrgName 2b8e80941Smrg 3b8e80941Smrg MESA_framebuffer_flip_y 4b8e80941Smrg 5b8e80941SmrgName Strings 6b8e80941Smrg 7b8e80941Smrg GL_MESA_framebuffer_flip_y 8b8e80941Smrg 9b8e80941SmrgContact 10b8e80941Smrg 11b8e80941Smrg Fritz Koenig <frkoenig@google.com> 12b8e80941Smrg 13b8e80941SmrgContributors 14b8e80941Smrg 15b8e80941Smrg Fritz Koenig, Google 16b8e80941Smrg Kristian Høgsberg, Google 17b8e80941Smrg Chad Versace, Google 18b8e80941Smrg 19b8e80941SmrgStatus 20b8e80941Smrg 21b8e80941Smrg Proposal 22b8e80941Smrg 23b8e80941SmrgVersion 24b8e80941Smrg 25b8e80941Smrg Version 1, June 7, 2018 26b8e80941Smrg 27b8e80941SmrgNumber 28b8e80941Smrg 29b8e80941Smrg 302 30b8e80941Smrg 31b8e80941SmrgDependencies 32b8e80941Smrg 33b8e80941Smrg OpenGL ES 3.1 is required, for FramebufferParameteri. 34b8e80941Smrg 35b8e80941SmrgOverview 36b8e80941Smrg 37b8e80941Smrg This extension defines a new framebuffer parameter, 38b8e80941Smrg GL_FRAMEBUFFER_FLIP_Y_MESA, that changes the behavior of the reads and 39b8e80941Smrg writes to the framebuffer attachment points. When GL_FRAMEBUFFER_FLIP_Y_MESA 40b8e80941Smrg is GL_TRUE, render commands and pixel transfer operations access the 41b8e80941Smrg backing store of each attachment point with an y-inverted coordinate 42b8e80941Smrg system. This y-inversion is relative to the coordinate system set when 43b8e80941Smrg GL_FRAMEBUFFER_FLIP_Y_MESA is GL_FALSE. 44b8e80941Smrg 45b8e80941Smrg Access through TexSubImage2D and similar calls will notice the effect of 46b8e80941Smrg the flip when they are not attached to framebuffer objects because 47b8e80941Smrg GL_FRAMEBUFFER_FLIP_Y_MESA is associated with the framebuffer object and 48b8e80941Smrg not the attachment points. 49b8e80941Smrg 50b8e80941SmrgIP Status 51b8e80941Smrg 52b8e80941Smrg None 53b8e80941Smrg 54b8e80941SmrgIssues 55b8e80941Smrg 56b8e80941Smrg None 57b8e80941Smrg 58b8e80941SmrgNew Procedures and Functions 59b8e80941Smrg 60b8e80941Smrg None 61b8e80941Smrg 62b8e80941SmrgNew Types 63b8e80941Smrg 64b8e80941Smrg None 65b8e80941Smrg 66b8e80941SmrgNew Tokens 67b8e80941Smrg 68b8e80941Smrg Accepted by the <pname> argument of FramebufferParameteri and 69b8e80941Smrg GetFramebufferParameteriv: 70b8e80941Smrg 71b8e80941Smrg GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB 72b8e80941Smrg 73b8e80941SmrgErrors 74b8e80941Smrg 75b8e80941Smrg An INVALID_OPERATION error is generated by GetFramebufferParameteriv if the 76b8e80941Smrg default framebuffer is bound to <target> and <pname> is FRAMEBUFFER_FLIP_Y_MESA. 77b8e80941Smrg 78b8e80941SmrgRevision History 79b8e80941Smrg 80b8e80941Smrg Version 1, June, 2018 81b8e80941Smrg Initial draft (Fritz Koenig) 82