Name
CHROMIUM_flipy
Name Strings
GL_CHROMIUM_flipy
Version
Last Modifed Date: April 9, 2012
Dependencies
OpenGL ES 2.0 is required.
Overview
This extension adds the ability to vertically flip texture image data when
calling TexImage2D and TexSubImage2D.
Issues
New Tokens
Accepted by the <param> parameter of PixelStorei:
UNPACK_FLIP_Y_CHROMIUM 0x9240
Additions to the OpenGL ES 2.0 Specification
Modifications to Table 3.1 (PixelStore Parameters)
Add the following entry:
Parameter Name Type Initial Value Valid Range
============== ==== ============= ===========
UNPACK_FLIP_Y_CHROMIUM boolean FALSE {TRUE, FALSE}
Modifications to 3.6.2 Transfer of Pixel Rectangles, in the Unpacking
section:
Change
"If p indicates the location in memory of the first element of the first
row, then the first element of the Nth row is indicated by
p + Nk (3.9)"
to
"If p indicates the location in memory of the first element of the first
row, then the first element of the Nth row is indicated by
p + Nk (3.9)
if UNPACK_FLIP_Y is FALSE. Otherwise, the first element of the Nth row
is indicated by
p - Nk (3.10)
After the sentence
"If the number of bits per element is not 1, 2, 4, or 8 times the number
of bits in a GL ubyte, then k = nl for all values of a."
insert:
"If UNPACK_FLIP_Y_CHROMIUM is FALSE then p is equal to pixels. Otherwise
p is pixels + (height - 1)k."
Interactions with GL_EXT_unpack_subimage
Do not add the sentence "If UNPACK_FLIP_Y_CHROMIUM is FALSE ..." described
in this extension. Instead do the following after applying
GL_EXT_unpack_subimage:
Change
"There is a mechanism for selecting a sub-rectangle of groups
from a larger containing rectangle. This mechanism relies on
three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
and UNPACK_SKIP_PIXELS. Before obtaining the first group from
memory, the pointer supplied to TexImage2D is effectively
advanced by (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k
elements. Then <width> groups are obtained from contiguous
elements in memory (without advancing the pointer), after
which the pointer is advanced by k elements. <height> sets of
<width> groups of values are obtained this way. See figure
3.6."
to
"There is a mechanism for selecting a sub-rectangle of groups
from a larger containing rectangle. This mechanism relies on
three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
and UNPACK_SKIP_PIXELS. IF UNPACK_FLIP_Y_CHROMIUM is FALSE then
p, the location of the first element of the first
group, is pixels + (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k.
When UNPACK_FLIP_Y_CHROMIUM is TRUE then p is pixels +
(UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS + height - 1)k. After
p is determined <width> groups are obtained from contiguous
elements in memory (without advancing the pointer), after which
the pointer is advanced by +/-k elements depending on the value
of UNPACK_CHROMIUM_FLIP_Y. <height> sets of <width> groups of
values are obtained this way. See figure 3.6."
New Procedures and Functions
None.
Errors
None.
New State
None.
Revision History
7/22/2011 Documented the extension
4/09/2012 Added more documentation and described interactions with
GL_EXT_unpack_subimage