1XXX - Not complete yet!!! 2 3Name 4 5 SGIX_async_histogram 6 7Name Strings 8 9 GL_SGIX_async_histogram 10 11Version 12 13 $Date: 1998/02/11 23:24:25 $ $Revision: 1.3 $ 14 15Number 16 17 134 18 19Dependencies 20 21 SGIX_async is required. 22 EXT_histogram is required. 23 24Overview 25 26 This extension introduces a new asynchronous mode for histogram 27 and minmax readbacks. It allows programs to get the contents of a 28 histogram or minmax table without blocking and to continue issuing 29 graphics commands during the readback. 30 31New Procedures and Functions 32 33 None 34 35New Tokens 36 37 Accepted by the <cap> parameter of Enable, Disable and IsEnabled, 38 and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, 39 and GetDoublev: 40 41 ASYNC_HISTOGRAM_SGIX 0x832C 42 43 Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 44 GetFloatv, and GetDoublev: 45 46 MAX_ASYNC_HISTOGRAM_SGIX 0x832D 47 48Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) 49 50 None 51 52Additions to Chapter 3 of the 1.1 Specification (Rasterization) 53 54 Add the following to the end of the specification of histogram and 55 minmax operators in section 3.6.4 ("Pixel Transfer Operations"): 56 57 Calling Enable with the <cap> parameter set to 58 ASYNC_HISTOGRAM_SGIX causes subsequent GetHistogramEXT and 59 GetMinmaxEXT commands to be asynchronous (similar to the 60 asynchronous DrawPixels command described earlier). An 61 implementation of these asynchronous commands may be non-blocking: 62 It may return control to the program immediately rather than 63 waiting for an asynchronous query command's results to be written 64 into host memory. Asynchronous histogram and minmax readback 65 commands sample the OpenGL state vector at the time they are 66 issued, but they may be executed at some undefined point in the 67 future. In particular, if subsequent commands change the contents 68 of the histogram or minmax table then the result of the query is 69 undefined. 70 71 Calling Disable with the <cap> parameter set to 72 ASYNC_HISTOGRAM_SGIX restores the default synchronous behavior. 73 74Additions to Chapter 4 of the 1.1 Specification (Fragments and the 75Frame Buffer) 76 77 None 78 79Additions to Chapter 5 of the 1.1 Specification (Special Functions) 80 81 None 82 83Additions to Chapter 6 of the 1.1 Specification (State and State Requests) 84 85 None 86 87Additions to the GLX Specification 88 89 None 90 91GLX Protocol 92 93 None 94 95Dependencies on SGIX_async 96 97 This document adds a new category of asynchronous commands to 98 the framework defined by SGIX_async. 99 100Dependencies on EXT_histogram 101 102 This document changes the semantics of the query commands defined 103 by EXT_histogram. 104 105Errors 106 107 INVALID_OPERATION is generated if GetHistogramEXT or GetMinmaxEXT 108 is called and ASYNC_HISTOGRAM_SGIX is enabled and the number of 109 asynchronous histogram or minmax readback commands that have been 110 issued but not queried (using FinishAsyncSGIX or PollAsyncSGIX) 111 exceeds MAX_ASYNC_HISTOGRAM_SGIX. 112 113New State 114 115 Get Value Get Command Type Value Attrib 116 --------- ----------- ---- ------- ------ 117 ASYNC_HISTOGRAM_SGIX IsEnabled B False enable 118 119New Implementation Dependent State 120 121 Minimum 122 Get Value Get Command Type Value 123 --------- ----------- ---- ------- 124 MAX_ASYNC_HISTOGRAM_SGIX GetIntegerv Z+ 1 125