XXX - Not complete yet!!!

Name

    SGIX_async_histogram

Name Strings

    GL_SGIX_async_histogram

Version

    $Date: 2005/06/02 18:12:32 $ $Revision: 1.1 $

Number

    134

Dependencies

    SGIX_async is required.
    EXT_histogram is required.

Overview

    This extension introduces a new asynchronous mode for histogram
    and minmax readbacks.  It allows programs to get the contents of a
    histogram or minmax table without blocking and to continue issuing
    graphics commands during the readback.

New Procedures and Functions

    None

New Tokens

    Accepted by the <cap> parameter of Enable, Disable and IsEnabled,
    and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
    and GetDoublev:

        ASYNC_HISTOGRAM_SGIX		0x832C

    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
    GetFloatv, and GetDoublev:

        MAX_ASYNC_HISTOGRAM_SGIX        0x832D

Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)

    None

Additions to Chapter 3 of the 1.1 Specification (Rasterization)

    Add the following to the end of the specification of histogram and
    minmax operators in section 3.6.4 ("Pixel Transfer Operations"):

    Calling Enable with the <cap> parameter set to
    ASYNC_HISTOGRAM_SGIX causes subsequent GetHistogramEXT and
    GetMinmaxEXT commands to be asynchronous (similar to the
    asynchronous DrawPixels command described earlier).  An
    implementation of these asynchronous commands may be non-blocking:
    It may return control to the program immediately rather than
    waiting for an asynchronous query command's results to be written
    into host memory.  Asynchronous histogram and minmax readback
    commands sample the OpenGL state vector at the time they are
    issued, but they may be executed at some undefined point in the
    future.  In particular, if subsequent commands change the contents
    of the histogram or minmax table then the result of the query is
    undefined.

    Calling Disable with the <cap> parameter set to
    ASYNC_HISTOGRAM_SGIX restores the default synchronous behavior.
    
Additions to Chapter 4 of the 1.1 Specification (Fragments and the
Frame Buffer)

    None
    
Additions to Chapter 5 of the 1.1 Specification (Special Functions)

    None

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

    None

Additions to the GLX Specification

    None

GLX Protocol

    None

Dependencies on SGIX_async

    This document adds a new category of asynchronous commands to
    the framework defined by SGIX_async.

Dependencies on EXT_histogram
    
    This document changes the semantics of the query commands defined
    by EXT_histogram.

Errors

    INVALID_OPERATION is generated if GetHistogramEXT or GetMinmaxEXT
    is called and ASYNC_HISTOGRAM_SGIX is enabled and the number of
    asynchronous histogram or minmax readback commands that have been
    issued but not queried (using FinishAsyncSGIX or PollAsyncSGIX)
    exceeds MAX_ASYNC_HISTOGRAM_SGIX.

New State

    Get Value			Get Command	Type	Value	Attrib
    ---------			-----------	----	-------	------
    ASYNC_HISTOGRAM_SGIX        IsEnabled       B       False   enable

New Implementation Dependent State

								Minimum
    Get Value			Get Command	Type		Value
    ---------			-----------	----		-------
    MAX_ASYNC_HISTOGRAM_SGIX    GetIntegerv     Z+              1
