- add sources.
[platform/framework/web/crosswalk.git] / src / gpu / GLES2 / extensions / CHROMIUM / CHROMIUM_flipy.txt
1 Name
2
3     CHROMIUM_flipy
4
5 Name Strings
6
7     GL_CHROMIUM_flipy
8
9 Version
10
11     Last Modifed Date: April 9, 2012
12
13 Dependencies
14
15     OpenGL ES 2.0 is required.
16
17 Overview
18
19     This extension adds the ability to vertically flip texture image data when
20     calling TexImage2D and TexSubImage2D.
21
22 Issues
23
24
25 New Tokens
26
27     Accepted by the <param> parameter of PixelStorei:
28
29         UNPACK_FLIP_Y_CHROMIUM              0x9240
30
31 Additions to the OpenGL ES 2.0 Specification
32
33     Modifications to Table 3.1 (PixelStore Parameters)
34
35         Add the following entry:
36
37         Parameter Name                   Type      Initial Value  Valid Range
38         ==============                   ====      =============  ===========
39         UNPACK_FLIP_Y_CHROMIUM           boolean   FALSE          {TRUE, FALSE}
40
41     Modifications to 3.6.2 Transfer of Pixel Rectangles, in the Unpacking
42     section:
43
44     Change
45         "If p indicates the location in memory of the first element of the first
46         row, then the first element of the Nth row is indicated by
47                             p + Nk (3.9)"
48     to
49         "If p indicates the location in memory of the first element of the first
50         row, then the first element of the Nth row is indicated by
51                             p + Nk (3.9)
52         if UNPACK_FLIP_Y is FALSE. Otherwise, the first element of the Nth row
53         is indicated by
54                             p - Nk (3.10)
55
56     After the sentence
57
58         "If the number of bits per element is not 1, 2, 4, or 8 times the number
59         of bits in a GL ubyte, then k = nl for all values of a."
60
61     insert:
62
63         "If UNPACK_FLIP_Y_CHROMIUM is FALSE then p is equal to pixels. Otherwise
64         p is pixels + (height - 1)k."
65
66 Interactions with GL_EXT_unpack_subimage
67
68     Do not add the sentence "If UNPACK_FLIP_Y_CHROMIUM is FALSE ..." described
69     in this extension. Instead do the following after applying
70     GL_EXT_unpack_subimage:
71
72     Change
73
74          "There is a mechanism for selecting a sub-rectangle of groups
75           from a larger containing rectangle. This mechanism relies on
76           three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
77           and UNPACK_SKIP_PIXELS. Before obtaining the first group from
78           memory, the pointer supplied to TexImage2D is effectively
79           advanced by (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k
80           elements. Then <width> groups are obtained from contiguous
81           elements in memory (without advancing the pointer), after
82           which the pointer is advanced by k elements. <height> sets of
83           <width> groups of values are obtained this way. See figure
84           3.6."
85
86     to
87
88          "There is a mechanism for selecting a sub-rectangle of groups
89           from a larger containing rectangle. This mechanism relies on
90           three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
91           and UNPACK_SKIP_PIXELS. IF UNPACK_FLIP_Y_CHROMIUM is FALSE then
92           p, the location of the first element of the first
93           group, is pixels + (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k.
94           When UNPACK_FLIP_Y_CHROMIUM is TRUE then p is pixels +
95           (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS + height - 1)k. After
96           p is determined <width> groups are obtained from contiguous
97           elements in memory (without advancing the pointer), after which
98           the pointer is advanced by +/-k elements depending on the value
99           of UNPACK_CHROMIUM_FLIP_Y. <height> sets of <width> groups of
100           values are obtained this way. See figure 3.6."
101
102 New Procedures and Functions
103
104     None.
105
106 Errors
107
108     None.
109
110 New State
111
112     None.
113
114 Revision History
115
116     7/22/2011    Documented the extension
117     4/09/2012    Added more documentation and described interactions with
118                  GL_EXT_unpack_subimage