
Name

    SGIX_tag_sample_buffer

Name Strings

    GL_SGIX_tag_sample_buffer

Version

    $Date: 1995/10/31 00:11:43 $ $Revision: 1.2 $

Number

    58

Dependencies

    SGIS_multisample is required.

Overview

    The extensions defines a special purpose fast multisample clear.
    This clear can be used with some restrictions as a significantly
    faster alternative to Clear(DEPTH_BUFFER_BIT).
     
    The extension is based on the RealityEngine architecture and will
    probably never be supported by any other architecture.

New Procedures and Functions

    void TagSampleBufferSGIX(void);

New Tokens

    None.
    
Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)

    None.

Additions to Chapter 3 of the 1.0 Specification (Rasterization)

    None.

Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
and the Frame Buffer)

    The specification of the sample buffer tagging operation is added
    to the GL Specification in section 4.2.3 "Clearing the Buffers".

    Each sample in the multisample buffer carries a tag that can be
    either set or cleared.  When a tag of a sample is set, a depth
    test against that sample always succeeds.  Note, however, that the
    stencil test (if enabled) still uses the stencil value that is
    stored at the sample. When a color is written into a sample, its
    tag is cleared.  Depth tests against a sample with a cleared tag
    use the depth value stored at the sample.  Initially the state of
    the tags of all samples is undefined.  Clearing the main color
    buffer clears all the tags. For a given pixel, the color values
    stored in the sample buffer are resolved into the main color
    buffer only when the tags of all samples of that pixel are
    cleared.

    The tags of all the samples can be set by calling TagSampleBuffer.
    
    When using TagSampleBuffer, it is the responsibility of the
    application to ensure that the tags of all samples are cleared
    (i.e., that a color is stored into each sample least once) before
    the frame is completed, as color values are only resolved for
    pixels for which all tags are cleared.

    The result of blending a color into a sample whose tag is set is
    undefined.

    When SAMPLE_BUFFER_SGIS is 0, TagSampleBuffer has no effect.
    
Additions to Chapter 5 of the 1.0 Specification (Special Functions)

    None.

Additions to Chapter 6 of the 1.0 Specification (State and State Requests)

    None.

Additions to the GLX Specification

    None.

Errors

    INVALID_OPERATION is generated if TagSampleBufferSGIX is called
    between the execution of Begin and the execution of the
    corresponding End.

New State

    None.
    
New Implementation Dependent State

    None.
