Name

    EXT_blend_logic_op

Name Strings

    GL_EXT_blend_logic_op

Version

    $Date: 2005/06/02 18:11:10 $ $Revision: 1.1 $

Number

    39

Dependencies

    EXT_blend_minmax affects the definition of this extension

Overview

    A single additional blending equation is specified using the interface
    defined by EXT_blend_minmax.  This equation is a simple logical
    combination of the source and destination colors, where the specific
    logical operation is as specified by LogicOp.  While only the XOR
    operation may find wide application, the generality of full logical
    operations is allowed.
    
New Procedures and Functions

    None

New Tokens

    None

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

    None

Additions to Chapter 3 of the GL Specification (Rasterization)

    None

Additions to Chapter 4 of the GL Specification (Per-Fragment Operations
and the Framebuffer)

    A single additional blending equation is defined.  If BlendEquationEXT
    is called with <mode> set to LOGIC_OP, the blending equation becomes

	C = Cs OP Cd

    where Cs and Cd are the source and destination colors, and OP is the
    logic operation as specified by LogicOp.

    The value of boolean parameter LOGIC_OP (specified by Enable and
    Disable, and queried with IsEnabled) has no affect on blending, even
    when the blend equation is specified as LOGIC_OP.

Additions to Chapter 5 of the GL Specification (Special Functions)

    None

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

    None

Additions to the GLX Specification

    None

GLX Protocol

    None

Dependencies on EXT_blend_minmax

    If this extension is supported, but EXT_blend_minmax is not, then
    this extension effectively adds the procedure BlendEquationEXT, its
    parameter FUNC_ADD_EXT, and the query target BLEND_EQUATION_EXT, as
    described in EXT_blend_minmax.  It is therefore as though
    EXT_blend_minmax were also supported, except that equations MIN_EXT
    and MAX_EXT are not supported.

Errors

    INVALID_ENUM is generated by BlendEquationEXT if its single parameter
    is not FUNC_ADD_EXT, MIN_EXT, MAX_EXT, FUNC_SUBTRACT_EXT,
    FUNC_REVERSE_SUBTRACT_EXT, or LOGIC_OP.

    INVALID_OPERATION is generated if BlendEquationEXT is executed between
    the execution of Begin and the corresponding execution to End.

New State

    Get Value		Get Command	Type	Initial Value	Attribute
    ---------		-----------	----	-------------	---------
    BLEND_EQUATION_EXT	GetIntegerv	Z6	FUNC_ADD_EXT	color-buffer

New Implementation Dependent State

    None
