OSDN Git Service

docs: document how to apply a candidate to a stable branch
[android-x86/external-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