Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.