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.