Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/docs/_extra/specs/MESA_framebuffer_flip_y.txt
4566 views
1
Name
2
3
MESA_framebuffer_flip_y
4
5
Name Strings
6
7
GL_MESA_framebuffer_flip_y
8
9
Contact
10
11
Fritz Koenig <[email protected]>
12
13
Contributors
14
15
Fritz Koenig, Google
16
Kristian Høgsberg, Google
17
Chad Versace, Google
18
Heinrich Fink, DAQRI
19
20
Status
21
22
Proposal
23
24
Version
25
26
Version 3, August, 2019
27
28
Number
29
30
OpenGL Extension #540
31
OpenGL ES Extension #302
32
33
Dependencies
34
35
Requires OpenGL ES 3.0, OpenGL 4.3, or ARB_framebuffer_no_attachments.
36
37
Overview
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
52
IP Status
53
54
None
55
56
Issues
57
58
None
59
60
New 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
67
New Types
68
69
None
70
71
New Tokens
72
73
Accepted by the <pname> argument of FramebufferParameteriMESA and
74
GetFramebufferParameterivMESA:
75
76
GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
77
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
81
82
Token GL_FRAMEBUFFER_FLIP_Y_MESA is accepted as the <pname> argument of
83
FramebufferParameteri and GetFramebufferParameteriv.
84
85
Errors
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
95
Revision 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
108