progs/egl: Add an OpenGL ES demo for EGL_OES_image_pixmap.
[mesa.git] / docs / OLD / MESA_packed_depth_stencil.spec
1 Name
2
3 MESA_packed_depth_stencil
4
5 Name Strings
6
7 GL_MESA_packed_depth_stencil
8
9 Contact
10
11 Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
12 Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
13
14 Status
15
16 Obsolete.
17
18 Version
19
20
21 Number
22
23 ???
24
25 Dependencies
26
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
31
32 Overview
33
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
37 into one value.
38
39 Issues:
40
41 1. Is this the right way to distinguish between 24/8 and 8/24
42 pixel formats? Should we instead provide both:
43
44 GL_DEPTH_STENCIL_MESA
45 GL_STENCIL_DEPTH_MESA
46
47 And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
48
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?
51
52 3. Do we really want the GL_UNSIGNED_SHORT formats?
53
54
55 New Procedures and Functions
56
57 None.
58
59 New Tokens
60
61 Accepted by the <format> parameter of ReadPixels and DrawPixels:
62
63 GL_DEPTH_STENCIL_MESA 0x8750
64
65 Accepted by the <type> parameter of ReadPixels and DrawPixels:
66
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
71
72 Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
73
74 None
75
76 Additions to Chapter 3 of the 1.1 Specification (Rasterization)
77
78 One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
79 The new table is:
80
81 Target
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
87 RED Color R 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.
100 Stencil
101
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
104 group.
105
106 Add to the description of packed pixel formats:
107
108 <type> Parameter Data of Matching
109 Token Name Type Elements Pixel Formats
110 ---------------- ---- -------- -------------
111
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
128
129 UNSIGNED_INT_8_24:
130
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 +-----------------------+-----------------------------------------------------------------------+
133 | | |
134 +-----------------------+-----------------------------------------------------------------------+
135
136 first second
137 element element
138
139
140 UNSIGNED_INT_24_8:
141
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 +----------------------------------------------------------------------+------------------------+
144 | | |
145 +----------------------------------------------------------------------+------------------------+
146
147 first second
148 element element
149
150 UNSIGNED_SHORT_15_1:
151
152 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
153 +-----------------------------------------------------------+---+
154 | | |
155 +-----------------------------------------------------------+---+
156
157 first second
158 element element
159
160
161 UNSIGNED_SHORT_1_15_REV:
162
163 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
164 +---+-----------------------------------------------------------+
165 | | |
166 +---+-----------------------------------------------------------+
167
168 second first
169 element element
170
171 The assignment of elements to fields in the packed pixel is as
172 described in the table below:
173
174 First Second Third Fourth
175 Format Element Element Element Element
176 ------ ------- ------- ------- -------
177 RGB red green blue
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
183
184 Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
185 and the Frame Buffer)
186
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."
191
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."
197
198
199 Additions to Chapter 5 of the 1.1 Specification (Special Functions)
200
201 None
202
203 Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
204
205 None
206
207 Additions to the GLX Specification
208
209 None
210
211 GLX Protocol
212
213 TBD
214
215 Errors
216
217 None
218
219 New State
220
221 None
222
223 Revision History
224
225 Version 1.0 - 23 Sep 2000
226 Keith's original version.
227
228 Version 1.1 - 3 Nov 2000
229 Brian's edits, assigned values to new enums.
230