3
MESA_packed_depth_stencil
7
GL_MESA_packed_depth_stencil
11
Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
12
Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
27
EXT_abgr affects the definition of this extension
28
SGIS_texture4D affects the definition of this extension
29
EXT_cmyka affects the definition of this extension
30
ARB_packed_pixels affects the definition of this extension
34
Provides a mechanism for DrawPixels and ReadPixels to efficiently
35
transfer depth and stencil image data. Specifically, we defined new
36
packed pixel formats and types which pack both stencil and depth
41
1. Is this the right way to distinguish between 24/8 and 8/24
42
pixel formats? Should we instead provide both:
47
And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
49
2. If not, is it correct to use _REV to indicate that stencil
50
preceeds depth in the 1_15 and 8_24 formats?
52
3. Do we really want the GL_UNSIGNED_SHORT formats?
55
New Procedures and Functions
61
Accepted by the <format> parameter of ReadPixels and DrawPixels:
63
GL_DEPTH_STENCIL_MESA 0x8750
65
Accepted by the <type> parameter of ReadPixels and DrawPixels:
67
GL_UNSIGNED_INT_24_8_MESA 0x8751
68
GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
69
GL_UNSIGNED_SHORT_15_1_MESA 0x8753
70
GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
72
Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
76
Additions to Chapter 3 of the 1.1 Specification (Rasterization)
78
One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
82
Format Name Buffer Element Meaning and Order
83
----------- ------ -------------------------
84
COLOR_INDEX Color Color index
85
STENCIL_INDEX Stencil Stencil index
86
DEPTH_COMPONENT Depth Depth component
88
GREEN Color G component
89
BLUE Color B component
90
ALPHA Color A component
91
RGB Color R, G, B components
92
RGBA Color R, G, B, A components
93
BGRA Color B, G, R, A components
94
ABGR_EXT Color A, B, G, R components
95
CMYK_EXT Color Cyan, Magenta, Yellow, Black components
96
CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
97
LUMINANCE Color Luminance component
98
LUMINANCE_ALPHA Color Luminance, A components
99
DEPTH_STENCIL Depth, Depth component, stencil index.
102
Table 3.5: DrawPixels and ReadPixels formats. The third column
103
gives a description of and the number and order of elements in a
106
Add to the description of packed pixel formats:
108
<type> Parameter Data of Matching
109
Token Name Type Elements Pixel Formats
110
---------------- ---- -------- -------------
112
UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
113
UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
114
UNSIGNED_SHORT_5_6_5 ushort 3 RGB
115
UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
116
UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
117
UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
118
UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
119
UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
120
UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
121
UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
122
UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
123
UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
124
UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
125
UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
126
UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
127
UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
131
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
132
+-----------------------+-----------------------------------------------------------------------+
134
+-----------------------+-----------------------------------------------------------------------+
142
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
143
+----------------------------------------------------------------------+------------------------+
145
+----------------------------------------------------------------------+------------------------+
152
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
153
+-----------------------------------------------------------+---+
155
+-----------------------------------------------------------+---+
161
UNSIGNED_SHORT_1_15_REV:
163
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
164
+---+-----------------------------------------------------------+
166
+---+-----------------------------------------------------------+
171
The assignment of elements to fields in the packed pixel is as
172
described in the table below:
174
First Second Third Fourth
175
Format Element Element Element Element
176
------ ------- ------- ------- -------
178
RGBA red green blue alpha
179
BGRA blue green red alpha
180
ABGR_EXT alpha blue green red
181
CMYK_EXT cyan magenta yellow black
182
DEPTH_STENCIL_MESA depth stencil
184
Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
185
and the Frame Buffer)
187
The new format is added to the discussion of Obtaining Pixels from the
188
Framebuffer. It should read " If the <format> is one of RED, GREEN,
189
BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
190
the GL is in color index mode, then the color index is obtained."
192
The new format is added to the discussion of Index Lookup. It should
193
read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
194
ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
195
reference 4 tables of color components: PIXEL_MAP_I_TO_R,
196
PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
199
Additions to Chapter 5 of the 1.1 Specification (Special Functions)
203
Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
207
Additions to the GLX Specification
225
Version 1.0 - 23 Sep 2000
226
Keith's original version.
228
Version 1.1 - 3 Nov 2000
229
Brian's edits, assigned values to new enums.