| Name |
| |
| EXT_histogram |
| |
| Name Strings |
| |
| GL_EXT_histogram |
| |
| Version |
| |
| $Date: 1996/04/05 19:17:02 $ $Revision: 1.24 $ |
| |
| Number |
| |
| 11 |
| |
| Dependencies |
| |
| EXT_abgr affects the definition of this extension |
| EXT_texture is required |
| |
| Overview |
| |
| This extension defines pixel operations that count occurences of |
| specific color component values (histogram) and that track the minimum |
| and maximum color component values (minmax). An optional mode allows |
| pixel data to be discarded after the histogram and/or minmax operations |
| are completed. Otherwise the pixel data continue on to the next |
| operation unaffected. |
| |
| New Procedures and Functions |
| |
| void HistogramEXT(enum target, |
| sizei width, |
| enum internalformat, |
| boolean sink); |
| |
| void ResetHistogramEXT(enum target); |
| |
| void GetHistogramEXT(enum target, |
| boolean reset, |
| enum format, |
| enum type, |
| void* values); |
| |
| void GetHistogramParameterivEXT(enum target, |
| enum pname, |
| int* params); |
| |
| void GetHistogramParameterfvEXT(enum target, |
| enum pname, |
| float* params); |
| |
| void MinmaxEXT(enum target, |
| enum internalformat, |
| boolean sink); |
| |
| void ResetMinmaxEXT(enum target); |
| |
| void GetMinmaxEXT(enum target, |
| boolean reset, |
| enum format, |
| enum type, |
| void* values); |
| |
| void GetMinmaxParameterivEXT(enum target, |
| enum pname, |
| int* params); |
| |
| void GetMinmaxParameterfvEXT(enum target, |
| enum pname, |
| float* params); |
| |
| New Tokens |
| |
| Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by |
| the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and |
| GetDoublev, and by the <target> parameter of HistogramEXT, |
| ResetHistogramEXT, GetHistogramEXT, GetHistogramParameterivEXT, and |
| GetHistogramParameterfvEXT: |
| |
| HISTOGRAM_EXT 0x8024 |
| |
| Accepted by the <target> parameter of HistogramEXT, |
| GetHistogramParameterivEXT, and GetHistogramParameterfvEXT: |
| |
| PROXY_HISTOGRAM_EXT 0x8025 |
| |
| Accepted by the <pname> parameter of GetHistogramParameterivEXT and |
| GetHistogramParameterfvEXT: |
| |
| HISTOGRAM_WIDTH_EXT 0x8026 |
| HISTOGRAM_FORMAT_EXT 0x8027 |
| HISTOGRAM_RED_SIZE_EXT 0x8028 |
| HISTOGRAM_GREEN_SIZE_EXT 0x8029 |
| HISTOGRAM_BLUE_SIZE_EXT 0x802A |
| HISTOGRAM_ALPHA_SIZE_EXT 0x802B |
| HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C |
| HISTOGRAM_SINK_EXT 0x802D |
| |
| Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by |
| the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and |
| GetDoublev, and by the <target> parameter of MinmaxEXT, ResetMinmaxEXT, |
| GetMinmaxEXT, GetMinmaxParameterivEXT, and GetMinmaxParameterfvEXT: |
| |
| MINMAX_EXT 0x802E |
| |
| Accepted by the <pname> parameter of GetMinmaxParameterivEXT and |
| GetMinmaxParameterfvEXT: |
| |
| MINMAX_FORMAT_EXT 0x802F |
| MINMAX_SINK_EXT 0x8030 |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| A new error token value, TABLE_TOO_LARGE_EXT, is defined and added to |
| table 2.3: |
| Offending |
| command |
| Error Description ignored? |
| ----- ----------- --------- |
| INVALID_ENUM enum argument out of range Yes |
| INVALID_VALUE Numeric argument out of range Yes |
| INVALID_OPERATION Operation illegal in current state Yes |
| STACK_OVERFLOW Command would cause a stack overflow Yes |
| STACK_UNDERFLOW Command would cause a stack underflow Yes |
| OUT_OF_MEMORY Not enough memory left to execute command Unknown |
| TEXTURE_TOO_LARGE_EXT The specified texture is too large Yes |
| TABLE_TOO_LARGE_EXT The specified table is too large Yes |
| |
| Table 2.3: Summary of GL errors |
| |
| and defined as follows: |
| |
| GL_TABLE_TOO_LARGE_EXT 0x8031 |
| |
| |
| Additions to Chapter 3 of the 1.0 specification (Rasterization) |
| |
| The specification of histogram and minmax operators is added to |
| the GL Specification in section 3.6.2, "Pixel Transfer Modes." A |
| histogram table is specified using the HistogramEXT command. Its |
| <target> parameter must be HISTOGRAM_EXT if a histogram table is |
| to be specified. (Optional target value PROXY_HISTOGRAM_EXT is |
| described below.) Its <width> parameter, which must be a power of |
| 2, specifies the number of entries in the histogram table, and its |
| <internalformat> parameter specifies the format of each table |
| entry. <sink> specifies whether pixel groups will be consumed by |
| the histogram operation (TRUE) or passed on to the minmax |
| operation (FALSE). The error INVALID_VALUE results if <width> is |
| specified less than zero or is not a power of 2. The error |
| TABLE_TOO_LARGE_EXT results if the specified histogram table is |
| too large for the implementation. (See the PROXY discussion |
| below.) The error INVALID_ENUM results if <internalformat> is not |
| one of the values accepted by the <components> parameter of |
| TexImage2D (as defined by EXT_texture), except that values 1, 2, |
| 3, 4, INTENSITY_EXT, INTENSITY4_EXT, INTENSITY8_EXT, |
| INTENSITY12_EXT, and INTENSITY16_EXT are not accepted. |
| |
| If no error results from the execution of HistogramEXT, the specified |
| histogram table is redefined to have <width> entries, each with the |
| specified internal format. The entries are indexed zero through N-1, |
| where N is the <width> of the table. Each value in each entry is set |
| to zero. The values in the previous histogram table, if any, are lost. |
| |
| It is acceptable for an implementation to vary its allocation of |
| internal component resolution based any HistogramEXT parameter, but the |
| allocation must not be a function of any other factor, and cannot be |
| changed once it is established. In particular, allocations must be |
| invariant -- the same allocation must be made each time a histogram is |
| specified with the same parameter values. Provision is made for an |
| application to determine what component resolutions are available |
| without having to fully specify the histogram (see below). |
| |
| A minmax table is specified using the MinmaxEXT command. Its <target> |
| parameter must be MINMAX_EXT. <internalformat> may be any of the token |
| values accepted by the <components> parameter of TexImage2D, except that |
| 1, 2, 3, 4, INTENSITY_EXT, INTENSITY4_EXT, INTENSITY8_EXT, |
| INTENSITY12_EXT, and INTENSITY16_EXT are not accepted. <sink> is set |
| to TRUE or FALSE. The resulting minmax table always has 2 entries, |
| each with values corresponding only to the components of the internal |
| format. |
| |
| The operations of the histogram and minmax are added to the GL |
| Specification in section 3.6.3, "Rasterization of Pixel |
| Rectangles, immediately following the subsection "Index Lookup", |
| and immediately prior to the subsection "Final Conversion". |
| Histogram and minmax operations are performed only for RGBA pixel |
| groups, though these groups may have been specified as color |
| indices and converted to RGBA by index table lookup. Histogram |
| and minmax are enabled and disabled by calling Enable or Disable |
| with HISTOGRAM_EXT or MINMAX_EXT passed as the <cap> parameter. |
| If HISTOGRAM_EXT is enabled and the width of the table is |
| non-zero, and the pixel groups contain RGBA values, then indices |
| Ri, Gi, Bi, and Ai are derived from the red, green, blue, and |
| alpha components of each pixel group (without modifying these |
| components) by clamping the components to [0,1], multiplying each |
| by one less than the width of the histogram table, and rounding |
| each to the nearest integer. If the format of the HISTOGRAM_EXT |
| table includes red or luminance, the red or luminance component of |
| histogram entry Ri is incremented by one. If the format of the |
| HISTOGRAM_EXT table includes green, the green component of |
| histogram entry Gi is incremented by one. The blue and alpha |
| components of histogram entries Bi and Ai are incremented in the |
| same way. If a histogram entry component is incremented beyond |
| its maximum value, its value becomes undefined. (This is not an |
| error.) |
| |
| If MINMAX_EXT is enabled, and the pixel groups contain RGBA values, then |
| the red, green, blue, and alpha components of each group are compared |
| to the minimum and maximum values for each, which are stored in the |
| 2-element minmax table. (The first element stores the minimum values, |
| the second stores the maximum values.) If the format of this table |
| includes red or luminance, the red component value replaces the red or |
| luminance value in the minimum table element if and only if it is less |
| than that component. Likewise, if the format includes red or luminance |
| and the red component of the group is greater than the red or luminance |
| value in the maximum element, the red group component replaces the red |
| or luminance maximum component. If the format of the table includes |
| green, the green group component conditionally replaces the green |
| minimum and/or maximum if it is smaller or larger, respectively. The |
| blue and alpha group components are similarly tested and replaced, if |
| the table format includes blue and/or alpha. The internal type of the |
| minimum and maximum component values is floating point -- there are no |
| semantics defined for the treatment of group component values that are |
| outside the representable range of the minimum and maximum values. |
| |
| By default histogram and minmax operations have no effect on the stream |
| of pixel groups being processed. If HISTOGRAM_EXT is enabled and the |
| histogram <sink> parameter was specified as TRUE, however, all RGBA |
| pixel groups are discarded immediately after the histogram operation |
| is completed. Because histogram precedes minmax, no minmax operation |
| is performed. No pixel fragments are generated, no change is made to |
| texture memory contents, and no pixel values are returned. If |
| MINMAX_EXT is enabled and the minmax <sink> parameter was specified |
| as TRUE, all RGBA pixel groups are discarded immediately after the |
| minmax operation is completed. Because minmax follows histogram, a |
| histogram operation with <sink> set to FALSE may precede such a minmax |
| operation. Again no pixel fragments are generated, no change is made |
| to texture memory contents, and no pixel values are returned. |
| |
| The current contents of the histogram tables are queried using |
| GetHistogramEXT. <target> must be HISTOGRAM_EXT. <format> must be one |
| of RED, GREEN, BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or |
| LUMINANCE_ALPHA. <type> must be UNSIGNED_BYTE, BYTE, UNSIGNED_SHORT, |
| SHORT, UNSIGNED_INT, INT, or FLOAT. A 1-dimensional image with the |
| same width as the histogram is returned to <values>. No pixel |
| transfer operations are performed on this image, but pixel storage |
| modes that are applicable to ReadPixels are performed. Color |
| components that are requested in the specified <format>, but which are |
| not included in the internal format of the histogram, are returned as |
| zero. The assignments of internal color components to the components |
| requested by <format> are |
| |
| internal component resulting component |
| ------------------ ------------------- |
| red red |
| green green |
| blue blue |
| alpha alpha |
| luminance red |
| |
| <reset> is either TRUE or FALSE. If TRUE, each component counter that |
| is actually returned is reset to zero. Counters that are not returned |
| are not modified. All counters of all elements of histogram <target> |
| are reset to zero when ResetHistogramEXT is called. <target> must be |
| either HISTOGRAM_EXT. It is not an error to reset or query the contents |
| of a histogram table with zero entries. |
| |
| The current contents of the minmax tables are queried using |
| GetMinmaxEXT. <target> must be MINMAX_EXT. <format> must be one |
| of RED, GREEN, BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or |
| LUMINANCE_ALPHA. <type> must be UNSIGNED_BYTE, BYTE, |
| UNSIGNED_SHORT, SHORT, UNSIGNED_INT, INT, or FLOAT. A |
| 1-dimensional image with width of 2 is returned to values. No |
| pixel transfer operations are performed on this image, but pixel |
| storage modes that are applicable to ReadPixels are |
| performed. Color components that are requested in the specified |
| <format>, but which are not included in the internal format of the |
| minmax table, are returned as zero. The assignment of internal |
| color components to the components requested by <format> are the |
| same as for histogram return. |
| |
| <reset> is either TRUE or FALSE. If TRUE, each minimum value that is |
| actually returned is reset to the maximum representable value, and each |
| maximum value that is returned is reset to the minimum representable |
| value. Minimum and maximum values that are not returned are not |
| modified. All minimum and maximum values of minmax table <target> are |
| reset to their maximum and minimum representable values, respectively, |
| when ResetMinmaxEXT is called. <target> must be MINMAX_EXT. |
| |
| Query support |
| ------------- |
| |
| Alternate sets of partial histogram state are defined for the |
| proxy histogram PROXY_HISTOGRAM_EXT. Specifically, |
| HISTOGRAM_WIDTH_EXT, HISTOGRAM_FORMAT, HISTOGRAM_RED_SIZE_EXT, |
| HISTOGRAM_GREEN_SIZE_EXT, HISTOGRAM_BLUE_SIZE_EXT, |
| HISTOGRAM_ALPHA_SIZE_EXT, and HISTOGRAM_LUMINANCE_SIZE_EXT are |
| maintained for the proxy histogram. When HistogramEXT is called |
| with <target> set to PROXY_HISTOGRAM_EXT, these proxy state values |
| are always recomputed and updated, even if the histogram is too |
| large to actually be used. If the histogram is too large, all of |
| these state variables are set to zero. If the histogram could be |
| accommodated by Histogram called with <target> HISTOGRAM_EXT, |
| these values are set as though HISTOGRAM_EXT were being defined. |
| All of these state values can be queried with |
| GetHistogramParameterivEXT or GetHistogramParameterfvEXT with |
| <target> set to PROXY_HISTOGRAM_EXT. Calling HistogramEXT with |
| <target> PROXY_HISTOGRAM_EXT has no effect on the actual |
| histogram. |
| |
| There is no image associated with PROXY_HISTOGRAM_EXT. Therefore |
| PROXY_HISTOGRAM_EXT cannot be used as a histogram, and its image must |
| never be queried using GetHistogramEXT. (The error INVALID_ENUM |
| results if this is attempted.) |
| |
| Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations |
| and the Framebuffer) |
| |
| The operation of histogram and minmax during pixel copy and query |
| operations is identical to the operation during pixel drawing and |
| texture image definition. |
| |
| Additions to Chapter 5 of the 1.0 Specification (Special Functions) |
| |
| HistogramEXT with a proxy target, GetHistogramEXT, |
| GetHistogramParameterivEXT, GetHistogramParameterfvEXT, GetMinmaxEXT, |
| GetMinmaxParameterivEXT, and GetMinmaxParameterfvEXT are not included in |
| display lists -- they are executed immediately when called. |
| |
| Additions to Chapter 6 of the 1.0 Specification (State and State Requests) |
| |
| Integer and floating point query functions GetHistogramParameterivEXT |
| and GetHistogramParameterfvEXT are provided. <target> must be |
| HISTOGRAM_EXT or PROXY_HISTOGRAM_EXT. <pname> is one of |
| HISTOGRAM_FORMAT_EXT, HISTOGRAM_WIDTH_EXT, HISTOGRAM_RED_SIZE_EXT, |
| HISTOGRAM_GREEN_SIZE_EXT, HISTOGRAM_BLUE_SIZE_EXT, |
| HISTOGRAM_ALPHA_SIZE_EXT, HISTOGRAM_LUMINANCE_SIZE_EXT, |
| or HISTOGRAM_SINK_EXT. The value of the specified parameter is |
| returned in <params>. |
| |
| Integer and floating point query functions GetMinmaxParameterivEXT and |
| GetMinmaxParameterfvEXT are provided. <target> must be MINMAX_EXT. |
| <pname> is MINMAX_FORMAT_EXT or MINMAX_SINK_EXT. The value of the |
| specified parameter is returned in <params>. |
| |
| Additions to the GLX Specification |
| |
| None |
| |
| GLX Protocol |
| |
| Ten new GL commands are added. |
| |
| The following four rendering commands are sent to the server as |
| part of a glXRender request: |
| |
| HistogramEXT |
| 2 20 rendering command length |
| 2 4110 rendering command opcode |
| 4 ENUM target |
| 4 INT32 width |
| 4 ENUM internalformat |
| 1 BOOL sink |
| 3 unused |
| |
| ResetHistogramEXT |
| 2 8 rendering command length |
| 2 4112 rendering command opcode |
| 4 ENUM target |
| |
| MinmaxEXT |
| 2 16 rendering command length |
| 2 4111 rendering command opcode |
| 4 ENUM target |
| 4 ENUM internalformat |
| 1 BOOL sink |
| 3 unused |
| |
| ResetMinmaxEXT |
| 2 8 rendering command length |
| 2 4113 rendering command opcode |
| 4 ENUM target |
| |
| |
| The remaining commands are non-rendering commands. These commands |
| are sent separately (i.e., not as part of a glXRender or |
| glXRenderLarge request), using the glXVendorPrivateWithReply |
| request: |
| |
| GetHistogramEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 7 request length |
| 4 5 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM format |
| 4 ENUM type |
| 1 BOOL swap_bytes |
| 1 BOOL reset |
| 2 unused |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 n reply length |
| 24 unused |
| 4*n LISTofBYTE pixels |
| |
| If <format> or <type> is not valid then the command is |
| erroneous and n=0. The structure of <pixels> is described in |
| Appendix A of the GLX Protocol Specification, "Pixel Data", |
| using the parameters <swap_bytes>, <format>, and <type>. No |
| extra padding is needed after <pixels> because the image |
| format already pads to 32 bits. |
| |
| |
| GetHistogramParameterfvEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 5 request length |
| 4 6 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM pname |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 m reply length, m = (n==1 ? 0 : n) |
| 4 unused |
| 4 CARD32 n |
| |
| if (n=1) this follows: |
| |
| 4 INT32 params |
| 12 unused |
| |
| otherwise this follows: |
| |
| 16 unused |
| n*4 LISTofINT32 params |
| |
| Note that n may be zero, indicating that a GL error |
| occurred. Also, n>1, is for future extensibility. |
| |
| |
| GetHistogramParameterivEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 5 request length |
| 4 7 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM pname |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 m reply length, m = (n==1 ? 0 : n) |
| 4 unused |
| 4 CARD32 n |
| |
| if (n=1) this follows: |
| |
| 4 INT32 params |
| 12 unused |
| |
| otherwise this follows: |
| |
| 16 unused |
| n*4 LISTofINT32 params |
| |
| Note that n may be zero, indicating that a GL error |
| occurred. Also, n>1, is for future extensibility. |
| |
| |
| GetMinmaxEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 7 request length |
| 4 8 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM format |
| 4 ENUM type |
| 1 BOOL swap_bytes |
| 1 BOOL reset |
| 2 unused |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 n reply length |
| 24 unused |
| 4*n LISTofBYTE pixels |
| |
| If <format> or <type> is not valid then the command is |
| erroneous and n=0. The structure of <pixels> is described in |
| Appendix A of the GLX Protocol Specification, "Pixel Data", |
| using the parameters <swap_bytes>, <format>, and <type>. No |
| extra padding is needed after <pixels> because the image |
| format already pads to 32 bits. |
| |
| |
| GetMinmaxParameterfvEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 5 request length |
| 4 9 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM pname |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 m reply length, m = (n==1 ? 0 : n) |
| 4 unused |
| 4 CARD32 n |
| |
| if (n=1) this follows: |
| |
| 4 INT32 params |
| 12 unused |
| |
| otherwise this follows: |
| |
| 16 unused |
| n*4 LISTofINT32 params |
| |
| Note that n may be zero, indicating that a GL error |
| occurred. Also, n>1, is for future extensibility. |
| |
| |
| GetMinmaxParameterivEXT |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 5 request length |
| 4 10 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM target |
| 4 ENUM pname |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 m reply length, m = (n==1 ? 0 : n) |
| 4 unused |
| 4 CARD32 n |
| |
| if (n=1) this follows: |
| |
| 4 INT32 params |
| 12 unused |
| |
| otherwise this follows: |
| |
| 16 unused |
| n*4 LISTofINT32 params |
| |
| |
| Note that n may be zero, indicating that a GL error |
| occurred. Also, n>1, is for future extensibility. |
| |
| Dependencies on EXT_abgr |
| |
| If EXT_abgr is supported, the <format> parameters of GetHistogramEXT |
| and GetMinmaxEXT accept ABGR_EXT. Otherwise they do not. |
| |
| Dependencies on EXT_texture |
| |
| EXT_texture is required. This extension builds on the notion of |
| internal image format, which is defined by EXT_texture. |
| |
| Errors |
| |
| INVALID_ENUM is generated if HistogramEXT parameter <target> is not |
| HISTOGRAM_EXT or PROXY_HISTOGRAM_EXT. |
| |
| INVALID_VALUE is generated if HistogramEXT parameter <width> is less |
| than zero or is not a power of 2. |
| |
| INVALID_ENUM is generated if HistogramEXT parameter <internalformat> is |
| not ALPHA, RGB, RGBA, LUMINANCE, LUMINANCE_ALPHA, or one of the tokens |
| defined by the EXT_texture extension. (Values 1, 2, 3, and 4 are not |
| accepted as internal formats by HistogramEXT). |
| |
| TABLE_TOO_LARGE_EXT is generated if HistogramEXT is called with |
| parameter <target> of HISTOGRAM_EXT and the histogram as specified is |
| too large for the implementation. |
| |
| INVALID_ENUM is generated if ResetHistogramEXT parameter <target> is |
| not HISTOGRAM_EXT. |
| |
| INVALID_ENUM is generated if GetHistogramEXT parameter <target> is not |
| HISTOGRAM_EXT. |
| |
| INVALID_ENUM is generated if GetHistogramEXT parameter <format> is not |
| RED, GREEN, BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or |
| LUMINANCE_ALPHA. |
| |
| INVALID_ENUM is generated if GetHistogramEXT parameter <type> is not |
| UNSIGNED_BYTE, BYTE, UNSIGNED_SHORT, SHORT, UNSIGNED_INT, INT, or FLOAT. |
| |
| INVALID_ENUM is generated if GetHistogramParameterivEXT or |
| GetHistogramParameterfvEXT parameter <target> is not HISTOGRAM_EXT or |
| PROXY_HISTOGRAM_EXT. |
| |
| INVALID_ENUM is generated if GetHistogramParameterivEXT or |
| GetHistogramParameterfvEXT parameter <pname> is not |
| HISTOGRAM_FORMAT_EXT, HISTOGRAM_WIDTH_EXT, HISTOGRAM_RED_SIZE_EXT, |
| HISTOGRAM_GREEN_SIZE_EXT, HISTOGRAM_BLUE_SIZE_EXT, |
| HISTOGRAM_ALPHA_SIZE_EXT, HISTOGRAM_LUMINANCE_SIZE_EXT, or |
| HISTOGRAM_SINK_EXT. INVALID_ENUM is also generated if |
| GetHistogramParameterivEXT or GetHistogramParameterfvEXT parameter |
| <target> specifies the proxy histogram and <pname> specifies a |
| piece of state which is not maintained for the proxy histogram. |
| |
| INVALID_OPERATION is generated if HistogramEXT, ResetHistogramEXT, |
| GetHistogramEXT, GetHistogramParameterivEXT, or |
| GetHistogramParameterfvEXT is called between execution of Begin and the |
| corresponding execution of End. |
| |
| INVALID_ENUM is generated if MinmaxEXT parameter <target> is not |
| MINMAX_EXT. |
| |
| INVALID_ENUM is generated if MinmaxEXT parameter <internalformat> is |
| not ALPHA, RGB, RGBA, LUMINANCE, LUMINANCE_ALPHA, or one of the tokens |
| defined by the EXT_texture extension. (Values 1, 2, 3, and 4 are not |
| accepted as internal formats by MinmaxEXT). |
| |
| INVALID_ENUM is generated if ResetMinmaxEXT parameter <target> is not |
| MINMAX_EXT. |
| |
| INVALID_ENUM is generated if GetMinmaxEXT parameter <target> is not |
| MINMAX_EXT. |
| |
| INVALID_ENUM is generated if GetMinmaxEXT parameter <format> is not |
| RED, GREEN, BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or |
| LUMINANCE_ALPHA. |
| |
| INVALID_ENUM is generated if GetMinmaxEXT parameter <type> is not |
| UNSIGNED_BYTE, BYTE, UNSIGNED_SHORT, SHORT, UNSIGNED_INT, INT, or FLOAT. |
| |
| INVALID_ENUM is generated if GetMinmaxParameterivEXT or |
| GetMinmaxParameterfvEXT parameter <target> is not MINMAX_EXT. |
| |
| INVALID_ENUM is generated if GetMinmaxParameterivEXT or |
| GetMinmaxParameterfvEXT parameter <pname> is not MINMAX_FORMAT_EXT or |
| MINMAX_SINK_EXT. |
| |
| INVALID_OPERATION is generated if MinmaxEXT, ResetMinmaxEXT, |
| GetMinmaxEXT, GetMinmaxParameterivEXT, or GetMinmaxParameterfvEXT is |
| called between execution of Begin and the corresponding execution of End. |
| |
| New State |
| |
| Get Value Get Command Type Initial Value Attribute |
| --------- ----------- ---- ------------- --------- |
| HISTOGRAM_EXT IsEnabled B False pixel/enable |
| HISTOGRAM GetHistogramEXT I empty - |
| HISTOGRAM_WIDTH_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_FORMAT_EXT GetHistogramParameterivEXT Z33 RGBA - |
| HISTOGRAM_RED_SIZE_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_GREEN_SIZE_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_BLUE_SIZE_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_ALPHA_SIZE_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_LUMINANCE_SIZE_EXT GetHistogramParameterivEXT Z+ 0 - |
| HISTOGRAM_SINK_EXT GetHistogramParameterivEXT B False - |
| |
| MINMAX_EXT IsEnabled B False pixel/enable |
| MINMAX GetMinmaxEXT Rn (M,M,M,M),(m,m,m,m) - |
| MINMAX_FORMAT_EXT GetMinmaxParameterivEXT Z33 RGBA - |
| MINMAX_SINK_EXT GetMinmaxParameterivEXT B False - |
| |
| Note, M and m are the maximum and minimum representable values of the |
| minmax components. |
| |
| New Implementation Dependent State |
| |
| None |