15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_texture_env_combine
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_EXT_texture_env_combine
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Michael Gold (gold 'at' nvidia.com)
125bd8deadSopenharmony_ci    Tom Frisinger, AMD (tom.frisinger 'at' amd.com)
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciStatus
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Shipping (NVIDIA, ATI)
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciVersion
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    $Date$ $Revision$
215bd8deadSopenharmony_ci    Last Modified Date: 2006/11/04 02:49:00  Revision: 1.8
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciNumber
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    158
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ciDependencies
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ci    SGI_texture_color_table affects the definition of this extension
305bd8deadSopenharmony_ci    SGIX_texture_scale_bias affects the definition of this extension
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciOverview
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    New texture environment function COMBINE_EXT allows programmable
355bd8deadSopenharmony_ci    texture combiner operations, including:
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci        REPLACE                 Arg0
385bd8deadSopenharmony_ci        MODULATE                Arg0 * Arg1
395bd8deadSopenharmony_ci        ADD                     Arg0 + Arg1
405bd8deadSopenharmony_ci        ADD_SIGNED_EXT          Arg0 + Arg1 - 0.5
415bd8deadSopenharmony_ci        INTERPOLATE_EXT         Arg0 * (Arg2) + Arg1 * (1-Arg2)
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    where Arg0, Arg1 and Arg2 are derived from
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci        PRIMARY_COLOR_EXT       primary color of incoming fragment
465bd8deadSopenharmony_ci        TEXTURE                 texture color of corresponding texture unit
475bd8deadSopenharmony_ci        CONSTANT_EXT            texture environment constant color
485bd8deadSopenharmony_ci        PREVIOUS_EXT            result of previous texture environment; on
495bd8deadSopenharmony_ci                                texture unit 0, this maps to PRIMARY_COLOR_EXT
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    and Arg2 is restricted to the alpha component of the corresponding source.
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ci    In addition, the result may be scaled by 1.0, 2.0 or 4.0.
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ciIssues
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    Should the explicit bias be removed in favor of an implcit bias as
585bd8deadSopenharmony_ci    part of a ADD_SIGNED_EXT function?
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci     - Yes.  This pre-scale bias is a special case and will be treated
615bd8deadSopenharmony_ci       as such.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    Should the primary color of the incoming fragment be available to
645bd8deadSopenharmony_ci    all texture environments?  Currently it is only available to the
655bd8deadSopenharmony_ci    texture environment of texture unit 0.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci     - Yes, PRIMARY_COLOR_EXT has been added as an input source.
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ci    Should textures from other texture units be allowed as sources?
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci     - No, not in the base spec.  Too many vendors have expressed
725bd8deadSopenharmony_ci       concerns about the scalability of such functionality.  This can
735bd8deadSopenharmony_ci       be added as a subsequent extension.
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    All of the 1.2 modes except BLEND can be expressed in terms of
765bd8deadSopenharmony_ci    this extension.  Should texture color be allowed as a source for
775bd8deadSopenharmony_ci    Arg2, so all of the 1.2 modes can be expressed?  If so, should all
785bd8deadSopenharmony_ci    color sources be allowed, to maintain orthogonality?
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci     - No, not in the base spec.  This can be added as a subsequent
815bd8deadSopenharmony_ci       extension.
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ciNew Procedures and Functions
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci    None
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ciNew Tokens
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
905bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is TEXTURE_ENV_MODE
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci        COMBINE_EXT                                     0x8570
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    Accepted by the <pname> parameter of TexEnvf, TexEnvi, TexEnvfv,
955bd8deadSopenharmony_ci    and TexEnviv when the <target> parameter value is TEXTURE_ENV
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci        COMBINE_RGB_EXT                                 0x8571
985bd8deadSopenharmony_ci        COMBINE_ALPHA_EXT                               0x8572
995bd8deadSopenharmony_ci        SOURCE0_RGB_EXT                                 0x8580
1005bd8deadSopenharmony_ci        SOURCE1_RGB_EXT                                 0x8581
1015bd8deadSopenharmony_ci        SOURCE2_RGB_EXT                                 0x8582
1025bd8deadSopenharmony_ci        SOURCE0_ALPHA_EXT                               0x8588
1035bd8deadSopenharmony_ci        SOURCE1_ALPHA_EXT                               0x8589
1045bd8deadSopenharmony_ci        SOURCE2_ALPHA_EXT                               0x858A
1055bd8deadSopenharmony_ci        OPERAND0_RGB_EXT                                0x8590
1065bd8deadSopenharmony_ci        OPERAND1_RGB_EXT                                0x8591
1075bd8deadSopenharmony_ci        OPERAND2_RGB_EXT                                0x8592
1085bd8deadSopenharmony_ci        OPERAND0_ALPHA_EXT                              0x8598
1095bd8deadSopenharmony_ci        OPERAND1_ALPHA_EXT                              0x8599
1105bd8deadSopenharmony_ci        OPERAND2_ALPHA_EXT                              0x859A
1115bd8deadSopenharmony_ci        RGB_SCALE_EXT                                   0x8573
1125bd8deadSopenharmony_ci        ALPHA_SCALE
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1155bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is COMBINE_RGB_EXT
1165bd8deadSopenharmony_ci    or COMBINE_ALPHA_EXT
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci        REPLACE
1195bd8deadSopenharmony_ci        MODULATE
1205bd8deadSopenharmony_ci        ADD
1215bd8deadSopenharmony_ci        ADD_SIGNED_EXT                                  0x8574
1225bd8deadSopenharmony_ci        INTERPOLATE_EXT                                 0x8575
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1255bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is SOURCE0_RGB_EXT,
1265bd8deadSopenharmony_ci    SOURCE1_RGB_EXT, SOURCE2_RGB_EXT, SOURCE0_ALPHA_EXT,
1275bd8deadSopenharmony_ci    SOURCE1_ALPHA_EXT, or SOURCE2_ALPHA_EXT
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci        TEXTURE
1305bd8deadSopenharmony_ci        CONSTANT_EXT                                    0x8576
1315bd8deadSopenharmony_ci        PRIMARY_COLOR_EXT                               0x8577
1325bd8deadSopenharmony_ci        PREVIOUS_EXT                                    0x8578
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1355bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is
1365bd8deadSopenharmony_ci    OPERAND0_RGB_EXT or OPERAND1_RGB_EXT
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci        SRC_COLOR
1395bd8deadSopenharmony_ci        ONE_MINUS_SRC_COLOR
1405bd8deadSopenharmony_ci        SRC_ALPHA
1415bd8deadSopenharmony_ci        ONE_MINUS_SRC_ALPHA     
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1445bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is
1455bd8deadSopenharmony_ci    OPERAND0_ALPHA_EXT or OPERAND1_ALPHA_EXT
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci        SRC_ALPHA
1485bd8deadSopenharmony_ci        ONE_MINUS_SRC_ALPHA     
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1515bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is
1525bd8deadSopenharmony_ci    OPERAND2_RGB_EXT or OPERAND2_ALPHA_EXT
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci        SRC_ALPHA
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
1575bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is RGB_SCALE_EXT or
1585bd8deadSopenharmony_ci    ALPHA_SCALE
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci        1.0
1615bd8deadSopenharmony_ci        2.0
1625bd8deadSopenharmony_ci        4.0     
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ciAdditions to Chapter 2 of the GL Specification (OpenGL Operation)
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ci    None
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ciAdditions to Chapter 3 of the GL Specification (Rasterization)
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    Added to subsection 3.8.9, before the paragraph describing the
1715bd8deadSopenharmony_ci    state requirements:
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ci    If the value of TEXTURE_ENV_MODE is COMBINE_EXT, the form of the
1745bd8deadSopenharmony_ci    texture function depends on the values of COMBINE_RGB_EXT and
1755bd8deadSopenharmony_ci    COMBINE_ALPHA_EXT, according to table 3.20.  The RGB and ALPHA
1765bd8deadSopenharmony_ci    results of the texture function are then multiplied by the values
1775bd8deadSopenharmony_ci    of RGB_SCALE_EXT and ALPHA_SCALE, respectively.  The results are
1785bd8deadSopenharmony_ci    clamped to [0,1].
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci        COMBINE_RGB_EXT or
1825bd8deadSopenharmony_ci        COMBINE_ALPHA_EXT       Texture Function
1835bd8deadSopenharmony_ci        ------------------      ----------------
1845bd8deadSopenharmony_ci        REPLACE                 Arg0
1855bd8deadSopenharmony_ci        MODULATE                Arg0 * Arg1
1865bd8deadSopenharmony_ci        ADD                     Arg0 + Arg1
1875bd8deadSopenharmony_ci        ADD_SIGNED_EXT          Arg0 + Arg1 - 0.5
1885bd8deadSopenharmony_ci        INTERPOLATE_EXT         Arg0 * (Arg2) + Arg1 * (1-Arg2)
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci        Table 3.20: COMBINE_EXT texture functions
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ci    The arguments Arg0, Arg1 and Arg2 are determined by the values of
1935bd8deadSopenharmony_ci    SOURCE<n>_RGB_EXT, SOURCE<n>_ALPHA_EXT, OPERAND<n>_RGB_EXT and
1945bd8deadSopenharmony_ci    OPERAND<n>_ALPHA_EXT.  In the following two tables, Ct and At are
1955bd8deadSopenharmony_ci    the filtered texture RGB and alpha values; Cc and Ac are the
1965bd8deadSopenharmony_ci    texture environment RGB and alpha values; Cf and Af are the RGB
1975bd8deadSopenharmony_ci    and alpha of the primary color of the incoming fragment; and Cp
1985bd8deadSopenharmony_ci    and Ap are the RGB and alpha values resulting from the previous
1995bd8deadSopenharmony_ci    texture environment.  On texture environment 0, Cp and Ap are
2005bd8deadSopenharmony_ci    identical to Cf and Af, respectively.  The relationship is
2015bd8deadSopenharmony_ci    described in tables 3.21 and 3.22.
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ci        SOURCE<n>_RGB_EXT       OPERAND<n>_RGB_EXT      Argument
2045bd8deadSopenharmony_ci        -----------------       --------------          --------
2055bd8deadSopenharmony_ci        TEXTURE                 SRC_COLOR               Ct
2065bd8deadSopenharmony_ci                                ONE_MINUS_SRC_COLOR     (1-Ct)
2075bd8deadSopenharmony_ci                                SRC_ALPHA               At
2085bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-At)
2095bd8deadSopenharmony_ci        CONSTANT_EXT            SRC_COLOR               Cc
2105bd8deadSopenharmony_ci                                ONE_MINUS_SRC_COLOR     (1-Cc)
2115bd8deadSopenharmony_ci                                SRC_ALPHA               Ac
2125bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Ac)
2135bd8deadSopenharmony_ci        PRIMARY_COLOR_EXT       SRC_COLOR               Cf
2145bd8deadSopenharmony_ci                                ONE_MINUS_SRC_COLOR     (1-Cf)
2155bd8deadSopenharmony_ci                                SRC_ALPHA               Af
2165bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Af)
2175bd8deadSopenharmony_ci        PREVIOUS_EXT            SRC_COLOR               Cp
2185bd8deadSopenharmony_ci                                ONE_MINUS_SRC_COLOR     (1-Cp)
2195bd8deadSopenharmony_ci                                SRC_ALPHA               Ap
2205bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Ap)
2215bd8deadSopenharmony_ci
2225bd8deadSopenharmony_ci        Table 3.21: Arguments for COMBINE_RGB_EXT functions
2235bd8deadSopenharmony_ci
2245bd8deadSopenharmony_ci        SOURCE<n>_ALPHA_EXT     OPERAND<n>_ALPHA_EXT    Argument
2255bd8deadSopenharmony_ci        -----------------       --------------          --------
2265bd8deadSopenharmony_ci        TEXTURE                 SRC_ALPHA               At
2275bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-At)
2285bd8deadSopenharmony_ci        CONSTANT_EXT            SRC_ALPHA               Ac
2295bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Ac)
2305bd8deadSopenharmony_ci        PRIMARY_COLOR_EXT       SRC_ALPHA               Af
2315bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Af)
2325bd8deadSopenharmony_ci        PREVIOUS_EXT            SRC_ALPHA               Ap
2335bd8deadSopenharmony_ci                                ONE_MINUS_SRC_ALPHA     (1-Ap)
2345bd8deadSopenharmony_ci
2355bd8deadSopenharmony_ci        Table 3.22: Arguments for COMBINE_ALPHA_EXT functions
2365bd8deadSopenharmony_ci
2375bd8deadSopenharmony_ci    The mapping of texture components to source components is
2385bd8deadSopenharmony_ci    summarized in Table 3.23.  In the following table, At, Lt, It, Rt,
2395bd8deadSopenharmony_ci    Gt and Bt are the filtered texel values.
2405bd8deadSopenharmony_ci
2415bd8deadSopenharmony_ci        Base Internal Format            RGB Values      Alpha Value
2425bd8deadSopenharmony_ci        --------------------            ----------      -----------
2435bd8deadSopenharmony_ci        ALPHA                           0,  0,  0       At
2445bd8deadSopenharmony_ci        LUMINANCE                       Lt, Lt, Lt      1
2455bd8deadSopenharmony_ci        LUMINANCE_ALPHA                 Lt, Lt, Lt      At
2465bd8deadSopenharmony_ci        INTENSITY                       It, It, It      It
2475bd8deadSopenharmony_ci        RGB                             Rt, Gt, Bt      1
2485bd8deadSopenharmony_ci        RGBA                            Rt, Gt, Bt      At
2495bd8deadSopenharmony_ci        
2505bd8deadSopenharmony_ci        Table 3.23: Correspondence of texture components to source
2515bd8deadSopenharmony_ci        components for COMBINE_RGB_EXT and COMBINE_ALPHA_EXT arguments
2525bd8deadSopenharmony_ci
2535bd8deadSopenharmony_ciAdditions to Chapter 4 of the GL Specification (Per-Fragment Operations
2545bd8deadSopenharmony_ciand the Framebuffer)
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci    None
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ciAdditions to Chapter 5 of the GL Specification (Special Functions)
2595bd8deadSopenharmony_ci
2605bd8deadSopenharmony_ci    None
2615bd8deadSopenharmony_ci
2625bd8deadSopenharmony_ciAdditions to Chapter 6 of the GL Specification (State and State Requests)
2635bd8deadSopenharmony_ci
2645bd8deadSopenharmony_ci    None
2655bd8deadSopenharmony_ci
2665bd8deadSopenharmony_ciAdditions to the GLX Specification
2675bd8deadSopenharmony_ci
2685bd8deadSopenharmony_ci    None
2695bd8deadSopenharmony_ci
2705bd8deadSopenharmony_ciGLX Protocol
2715bd8deadSopenharmony_ci
2725bd8deadSopenharmony_ci    None
2735bd8deadSopenharmony_ci
2745bd8deadSopenharmony_ciErrors
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for COMBINE_RGB_EXT or
2775bd8deadSopenharmony_ci    COMBINE_ALPHA_EXT is not one of REPLACE, MODULATE, ADD,
2785bd8deadSopenharmony_ci    ADD_SIGNED_EXT, or INTERPOLATE_EXT.
2795bd8deadSopenharmony_ci
2805bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for SOURCE0_RGB_EXT,
2815bd8deadSopenharmony_ci    SOURCE1_RGB_EXT, SOURCE2_RGB_EXT, SOURCE0_ALPHA_EXT,
2825bd8deadSopenharmony_ci    SOURCE1_ALPHA_EXT or SOURCE2_ALPHA_EXT is not one of TEXTURE,
2835bd8deadSopenharmony_ci    CONSTANT_EXT, PRIMARY_COLOR_EXT or PREVIOUS_EXT.
2845bd8deadSopenharmony_ci
2855bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for OPERAND0_RGB_EXT
2865bd8deadSopenharmony_ci    or OPERAND1_RGB_EXT is not one of SRC_COLOR, ONE_MINUS_SRC_COLOR,
2875bd8deadSopenharmony_ci    SRC_ALPHA or ONE_MINUS_SRC_ALPHA.
2885bd8deadSopenharmony_ci
2895bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for OPERAND0_ALPHA_EXT
2905bd8deadSopenharmony_ci    or OPERAND1_ALPHA_EXT is not one of SRC_ALPHA or
2915bd8deadSopenharmony_ci    ONE_MINUS_SRC_ALPHA.
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for OPERAND2_RGB_EXT
2945bd8deadSopenharmony_ci    or OPERAND2_ALPHA_EXT is not SRC_ALPHA.
2955bd8deadSopenharmony_ci
2965bd8deadSopenharmony_ci    INVALID_VALUE is generated if <params> value for RGB_SCALE_EXT or
2975bd8deadSopenharmony_ci    ALPHA_SCALE is not one of 1.0, 2.0, or 4.0.
2985bd8deadSopenharmony_ci
2995bd8deadSopenharmony_ciDependencies on SGI_texture_color_table
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ci    If SGI_texture_color_table is implemented, the expanded Rt, Gt,
3025bd8deadSopenharmony_ci    Bt, and At values are used directly instead of the expansion
3035bd8deadSopenharmony_ci    described by Table 3.23.
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ciDependencies on SGIX_texture_scale_bias
3065bd8deadSopenharmony_ci
3075bd8deadSopenharmony_ci    If SGIX_texture_scale_bias is implemented, the expanded Rt, Gt,
3085bd8deadSopenharmony_ci    Bt, and At values are used directly instead of the expansion
3095bd8deadSopenharmony_ci    described by Table 3.23.
3105bd8deadSopenharmony_ci
3115bd8deadSopenharmony_ciNew State
3125bd8deadSopenharmony_ci
3135bd8deadSopenharmony_ci    Get Value           Get Command    Type     Initial Value   Attribute
3145bd8deadSopenharmony_ci    ---------           -----------    ----     -------------   ---------
3155bd8deadSopenharmony_ci    COMBINE_RGB_EXT     GetTexEnviv    n x Z4   MODULATE        texture
3165bd8deadSopenharmony_ci    COMBINE_ALPHA_EXT   GetTexEnviv    n x Z4   MODULATE        texture
3175bd8deadSopenharmony_ci    SOURCE0_RGB_EXT     GetTexEnviv    n x Z3   TEXTURE         texture
3185bd8deadSopenharmony_ci    SOURCE1_RGB_EXT     GetTexEnviv    n x Z3   PREVIOUS_EXT    texture
3195bd8deadSopenharmony_ci    SOURCE2_RGB_EXT     GetTexEnviv    n x Z3   CONSTANT_EXT    texture
3205bd8deadSopenharmony_ci    SOURCE0_ALPHA_EXT   GetTexEnviv    n x Z3   TEXTURE         texture
3215bd8deadSopenharmony_ci    SOURCE1_ALPHA_EXT   GetTexEnviv    n x Z3   PREVIOUS_EXT    texture
3225bd8deadSopenharmony_ci    SOURCE2_ALPHA_EXT   GetTexEnviv    n x Z3   CONSTANT_EXT    texture
3235bd8deadSopenharmony_ci    OPERAND0_RGB_EXT    GetTexEnviv    n x Z6   SRC_COLOR       texture
3245bd8deadSopenharmony_ci    OPERAND1_RGB_EXT    GetTexEnviv    n x Z6   SRC_COLOR       texture
3255bd8deadSopenharmony_ci    OPERAND2_RGB_EXT    GetTexEnviv    n x Z1   SRC_ALPHA       texture
3265bd8deadSopenharmony_ci    OPERAND0_ALPHA_EXT  GetTexEnviv    n x Z4   SRC_ALPHA       texture
3275bd8deadSopenharmony_ci    OPERAND1_ALPHA_EXT  GetTexEnviv    n x Z4   SRC_ALPHA       texture
3285bd8deadSopenharmony_ci    OPERAND2_ALPHA_EXT  GetTexEnviv    n x Z1   SRC_ALPHA       texture
3295bd8deadSopenharmony_ci    RGB_SCALE_EXT       GetTexEnvfv    n x R3   1.0             texture
3305bd8deadSopenharmony_ci    ALPHA_SCALE         GetTexEnvfv    n x R3   1.0             texture
3315bd8deadSopenharmony_ci
3325bd8deadSopenharmony_ciNew Implementation Dependent State
3335bd8deadSopenharmony_ci
3345bd8deadSopenharmony_ci    None
3355bd8deadSopenharmony_ci
3365bd8deadSopenharmony_ciNVIDIA Implementation Details
3375bd8deadSopenharmony_ci
3385bd8deadSopenharmony_ci    Because of a hardware limitation, TNT, TNT2, GeForce, and Quadro
3395bd8deadSopenharmony_ci    treat "scale by 4.0" with the COMBINE_RGB_EXT or COMBINE_ALPHA_EXT
3405bd8deadSopenharmony_ci    mode of ADD_SIGNED_EXT as "scale by 2.0".
3415bd8deadSopenharmony_ci
3425bd8deadSopenharmony_ci    GeForce 6 Series and later GPUs (NV40 and on) support "scale by 4.0"
3435bd8deadSopenharmony_ci    properly.
3445bd8deadSopenharmony_ci
3455bd8deadSopenharmony_ciRevision History
3465bd8deadSopenharmony_ci
3475bd8deadSopenharmony_ci    2/22/00 mjk - added NVIDIA Implementation Details
348