Home | History | Annotate | Download | only in CHROMIUM
      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
    119