15bd8deadSopenharmony_ciXXX - Not complete yet!!!
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    SGIX_async_pixel
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GL_SGIX_async_pixel
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1998/06/04 20:57:38 $ $Revision: 1.7 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    133
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci    SGIX_async is required.
225bd8deadSopenharmony_ci    EXT_texture3D affects the definition of this extension
235bd8deadSopenharmony_ci    SGIS_texture4D affects the definition of this extension
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciOverview
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    This extension introduces a new asynchronous mode for texture
285bd8deadSopenharmony_ci    download, pixel download and pixel readback commands.  It allows
295bd8deadSopenharmony_ci    programs to transfer textures or images between the host and the
305bd8deadSopenharmony_ci    graphics accelerator in parallel with the execution of other
315bd8deadSopenharmony_ci    graphics commands (possibly taking advantage of a secondary path
325bd8deadSopenharmony_ci    to the graphics accelerator).  It also allows programs to issue
335bd8deadSopenharmony_ci    non-blocking pixel readback commands that return immediately after
345bd8deadSopenharmony_ci    they are issued so that the program can issue other commands while
355bd8deadSopenharmony_ci    the readback takes place.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciNew Procedures and Functions
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    None
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ciNew Tokens
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    Accepted by the <cap> parameter of Enable, Disable and IsEnabled,
445bd8deadSopenharmony_ci    and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
455bd8deadSopenharmony_ci    and GetDoublev:
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci        ASYNC_TEX_IMAGE_SGIX		0x835C
485bd8deadSopenharmony_ci	ASYNC_DRAW_PIXELS_SGIX		0x835D
495bd8deadSopenharmony_ci	ASYNC_READ_PIXELS_SGIX		0x835E
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
525bd8deadSopenharmony_ci    GetFloatv, and GetDoublev:
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci        MAX_ASYNC_TEX_IMAGE_SGIX	0x835F
555bd8deadSopenharmony_ci        MAX_ASYNC_DRAW_PIXELS_SGIX	0x8360
565bd8deadSopenharmony_ci        MAX_ASYNC_READ_PIXELS_SGIX	0x8361
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    None
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization)
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    Add a section following 3.6.3 ("Rasterization of Pixel
655bd8deadSopenharmony_ci    Rectangles") entitled "Asynchronous Pixel Downloads":
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    Normally the DrawPixels command is synchronous: OpenGL executes a
685bd8deadSopenharmony_ci    DrawPixels command in the order it is issued in the OpenGL command
695bd8deadSopenharmony_ci    stream.  Calling Enable with the <cap> parameter set to
705bd8deadSopenharmony_ci    ASYNC_DRAW_PIXELS_SGIX causes subsequent DrawPixels commands to be
715bd8deadSopenharmony_ci    asynchronous as defined in the SGIX_async extension spec.  An
725bd8deadSopenharmony_ci    asynchronous DrawPixels command samples the OpenGL state vector at
735bd8deadSopenharmony_ci    the point in the OpenGL command stream where the command is
745bd8deadSopenharmony_ci    issued, but the results of the command (e.g. updates to the frame
755bd8deadSopenharmony_ci    buffer) do not happen until some unspecified time in the future.
765bd8deadSopenharmony_ci    In particular, the order of the asynchronous command relative to
775bd8deadSopenharmony_ci    other OpenGL commands issued later in the command stream is
785bd8deadSopenharmony_ci    undefined.  An implementation may choose to execute asynchronous
795bd8deadSopenharmony_ci    commands in parallel with the normal command stream or at some
805bd8deadSopenharmony_ci    convenient time in the future.
815bd8deadSopenharmony_ci    
825bd8deadSopenharmony_ci    Calling Disable with the <cap> parameter set to
835bd8deadSopenharmony_ci    ASYNC_DRAW_PIXELS_SGIX restores the default synchronous behavior
845bd8deadSopenharmony_ci    for subsequent DrawPixels commands.  It does not affect any
855bd8deadSopenharmony_ci    pending asynchronous DrawPixels commands, or wait for their
865bd8deadSopenharmony_ci    completion.
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    When an asynchronous DrawPixels command is issued, it is
895bd8deadSopenharmony_ci    associated with the current value of ASYNC_MARKER_SGIX as
905bd8deadSopenharmony_ci    described in the SGIX_async extension specification.  A program
915bd8deadSopenharmony_ci    can determine if an asynchronous DrawPixels command has completed
925bd8deadSopenharmony_ci    using the FinishAsyncSGIX or PollAsyncSGIX commands.
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    Add a subsection to section 3.8 ("Texturing") entitled
955bd8deadSopenharmony_ci    "Asynchronous Texture Downloads":
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    Calling Enable with the <cap> parameter set to
985bd8deadSopenharmony_ci    ASYNC_TEX_IMAGE_SGIX causes subsequent TexImage1D, TexSubImage1D,
995bd8deadSopenharmony_ci    TexImage2D, TexSubImage2D, TexImage3DEXT, TexSubImage3DEXT,
1005bd8deadSopenharmony_ci    TexImage4DSGIS and TexSubImage4DSGIS commands to be asynchronous
1015bd8deadSopenharmony_ci    (similar to the asynchronous DrawPixels command described
1025bd8deadSopenharmony_ci    earlier).  Calling Disable with the <cap> parameter set to
1035bd8deadSopenharmony_ci    ASYNC_TEX_IMAGE_SGIX restores the default synchronous behavior for
1045bd8deadSopenharmony_ci    subsequent TexImage commands.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Fragments and the
1075bd8deadSopenharmony_ciFrame Buffer)
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    Add to section 4.3.2 ("Reading Pixels"):
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    Calling Enable with the <cap> parameter set to
1125bd8deadSopenharmony_ci    ASYNC_READ_PIXELS_SGIX causes subsequent ReadPixels commands to be
1135bd8deadSopenharmony_ci    asynchronous (similar to the asynchronous DrawPixels command
1145bd8deadSopenharmony_ci    described earlier).  An implementation of the asynchronous
1155bd8deadSopenharmony_ci    ReadPixels command may be non-blocking: It may return control to
1165bd8deadSopenharmony_ci    the program immediately rather than waiting for the command's
1175bd8deadSopenharmony_ci    results to be written into the destination rectangle in host
1185bd8deadSopenharmony_ci    memory.  The ReadPixels command samples the OpenGL state vector at
1195bd8deadSopenharmony_ci    the time it is issued, but it may be executed at some undefined
1205bd8deadSopenharmony_ci    point in the future.  In particular, if subsequent commands change
1215bd8deadSopenharmony_ci    the contents of the source rectangle in the framebuffer then the
1225bd8deadSopenharmony_ci    result of the ReadPixels is undefined.
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci    Calling Disable with the <cap> parameter set to
1255bd8deadSopenharmony_ci    ASYNC_READ_PIXELS_SGIX restores the default synchronous behavior
1265bd8deadSopenharmony_ci    for subsequent ReadPixels commands.
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions)
1295bd8deadSopenharmony_ci
1305bd8deadSopenharmony_ci    None
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests)
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    None
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciAdditions to the GLX Specification
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    None
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ciGLX Protocol
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci    None
1435bd8deadSopenharmony_ci
1445bd8deadSopenharmony_ciDependencies on SGIX_async
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_ci    This document adds three categories of asynchronous commands to
1475bd8deadSopenharmony_ci    the framework defined by SGIX_async.
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ciDependencies on EXT_texture3D
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ci    If EXT_texture3D is not implemented then the references to
1525bd8deadSopenharmony_ci    TexImage3DEXT and TexSubImage3DEXT should be ignored.
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ciDependencies on SGIS_texture4D
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci    If SGIS_texture4D is not implemented then the references to
1575bd8deadSopenharmony_ci    TexImage4DSGIS and TexSubImage4DSGIS should be ignored.
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ciErrors
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci    INVALID_OPERATION is generated if DrawPixels is called and
1625bd8deadSopenharmony_ci    ASYNC_DRAW_PIXELS_SGIX is enabled and the number of asynchronous
1635bd8deadSopenharmony_ci    DrawPixels commands that have been issued but not queried (using
1645bd8deadSopenharmony_ci    FinishAsyncSGIX or PollAsyncSGIX) exceeds MAX_ASYNC_DRAW_PIXELS_SGIX.
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ci    INVALID_OPERATION is generated if TexImage1D, TexSubImage1D,
1675bd8deadSopenharmony_ci    TexImage2D, TexSubImage2D, TexImage3DEXT, TexSubImage3DEXT,
1685bd8deadSopenharmony_ci    TexImage4DSGIS or TexSubImage4DSGIS is called and
1695bd8deadSopenharmony_ci    ASYNC_TEX_IMAGE_SGIX is enabled and the number of asynchronous
1705bd8deadSopenharmony_ci    TexImage commands that have been issued but not queried (using
1715bd8deadSopenharmony_ci    FinishAsyncSGIX or PollAsyncSGIX) exceeds
1725bd8deadSopenharmony_ci    MAX_ASYNC_TEX_IMAGE_SGIX.
1735bd8deadSopenharmony_ci
1745bd8deadSopenharmony_ci    INVALID_OPERATION is generated if ReadPixels is called and
1755bd8deadSopenharmony_ci    ASYNC_READ_PIXELS_SGIX is enabled and the number of asynchronous
1765bd8deadSopenharmony_ci    ReadPixels commands that have been issued but not queried (using
1775bd8deadSopenharmony_ci    FinishAsyncSGIX or PollAsyncSGIX) exceeds
1785bd8deadSopenharmony_ci    MAX_ASYNC_READ_PIXELS_SGIX.
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ciNew State
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ci    Get Value			Get Command	Type	Value	Attrib
1835bd8deadSopenharmony_ci    ---------			-----------	----	-------	------
1845bd8deadSopenharmony_ci    ASYNC_TEX_IMAGE_SGIX        IsEnabled       B       False   enable
1855bd8deadSopenharmony_ci    ASYNC_DRAW_PIXELS_SGIX      IsEnabled       B       False   enable
1865bd8deadSopenharmony_ci    ASYNC_READ_PIXELS_SGIX      IsEnabled       B       False   enable
1875bd8deadSopenharmony_ci
1885bd8deadSopenharmony_ciNew Implementation Dependent State
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci								Minimum
1915bd8deadSopenharmony_ci    Get Value			Get Command	Type		Value
1925bd8deadSopenharmony_ci    ---------			-----------	----		-------
1935bd8deadSopenharmony_ci    MAX_ASYNC_TEX_IMAGE_SGIX    GetIntegerv     Z+              1
1945bd8deadSopenharmony_ci    MAX_ASYNC_DRAW_PIXELS_SGIX  GetIntegerv     Z+              1
1955bd8deadSopenharmony_ci    MAX_ASYNC_READ_PIXELS_SGIX  GetIntegerv     Z+              1
196