Home | History | Annotate | Download | only in OLD
      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 
    231