1Name 2 3 CHROMIUM_flipy 4 5Name Strings 6 7 GL_CHROMIUM_flipy 8 9Version 10 11 Last Modifed Date: April 9, 2012 12 13Dependencies 14 15 OpenGL ES 2.0 is required. 16 17Overview 18 19 This extension adds the ability to vertically flip texture image data when 20 calling TexImage2D and TexSubImage2D. 21 22Issues 23 24 25New Tokens 26 27 Accepted by the <param> parameter of PixelStorei: 28 29 UNPACK_FLIP_Y_CHROMIUM 0x9240 30 31Additions 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 66Interactions 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 102New Procedures and Functions 103 104 None. 105 106Errors 107 108 None. 109 110New State 111 112 None. 113 114Revision 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