skia / external / github.com / KhronosGroup / OpenGL-Registry / af0cc3e97875b3c4b7f6b23786495c94475d6368 / . / extensions / AMD / AMD_blend_minmax_factor.txt

Name | |

AMD_blend_minmax_factor | |

Name Strings | |

GL_AMD_blend_minmax_factor | |

Contributors | |

Graham Sellers | |

Pierre Boudier | |

Contact | |

Graham Sellers, AMD (graham.sellers 'at' amd.com) | |

Status | |

Shipping. | |

Version | |

Last Modified Date: April 8, 2011 | |

Author Revision: 3 | |

Number | |

404 | |

Dependencies | |

The extension is written against the OpenGL 4.1 (Core) Specification. | |

OpenGL 1.0 is required. | |

Overview | |

The EXT_blend_minmax extension extended the GL's blending functionality | |

to allow the blending equation to be specified by the application. That | |

extension introduced the MIN_EXT and MAX_EXT blend equations, which caused the | |

result of the blend equation to become the minimum or maximum of the source | |

color and destination color, respectively. | |

The MIN_EXT and MAX_EXT blend equations, however, do not include the source | |

or destination blend factors in the arguments to the min and max functions. | |

This extension provides two new blend equations that produce the minimum | |

or maximum of the products of the source color and source factor, and the | |

destination color and destination factor. | |

New Procedures and Functions | |

None. | |

New Tokens | |

Accepted by the <mode> parameter of BlendEquation and BlendEquationi, and by | |

the <modeRGB> and <modeAlpha> parameters of BlendEquationSeparate and | |

BlendEquationSeparatei: | |

FACTOR_MIN_AMD 0x901C | |

FACTOR_MAX_AMD 0x901D | |

Additions to Chapter 2 of the OpenGL 4.1 (Core) Specification (OpenGL Operation) | |

None. | |

Additions to Chapter 3 of the OpenGL 4.1 (Core) Specification (Rasterization) | |

None. | |

Additions to Chapter 4 of the OpenGL 4.1 (Core) Specification (Per-Fragment | |

Operations and the Frame Buffer) | |

Modify the list of accepted tokens for <mode>, <modeRGB> and <modeAlpha> | |

in the description of BlendEquation{i} and BlendEquationSeparate{i}, p.262: | |

"... <mode>, <modeRGB>, <modeAlpha> must be one of FUNC_ADD, FUNC_SUBTRACT, | |

FUNC_REVERSE_SUBTRACT, MIN, MAX, FACTOR_MIN_AMD, or FACTOR_MAX_AMD. ..." | |

Add to Table 4.1: RGB and Alpha Blend Equations | |

+-----------------+---------------------------+-----------------------------+ | |

| Mode | RGB Components | Alpha Component | | |

+-----------------+---------------------------+-----------------------------+ | |

| FACTOR_MIN_AMD | R = min(Rs * Sr, Rd * Dr) | A = min(As * Sa, Ad * Da) | | |

| | G = min(Gs * Sg, Gd * Dg) | | | |

| | B = min(Bs * Sb, Bd * Db) | | | |

+-----------------+---------------------------+-----------------------------+ | |

| FACTOR_MAX_AMD | R = max(Rs * Sr, Rd * Dr) | A = max(As * Sa, Ad * Da) | | |

| | G = max(Gs * Sg, Gd * Dg) | | | |

| | B = max(Bs * Sb, Bd * Db) | | | |

+-----------------+---------------------------+-----------------------------+ | |

Additions to Chapter 5 of the OpenGL 4.1 (Core) Specification (Special Functions) | |

None. | |

Additions to Chapter 6 of the OpenGL 4.1 (Core) Specification (State and | |

State Requests) | |

None. | |

Additions to Appendix A of the OpenGL 4.1 (Core) Specification (Invariance) | |

None. | |

Additions to the AGL/GLX/WGL Specifications | |

None. | |

Errors | |

None. | |

New State | |

Modify Table 6.21: Pixel Operations (cont.) p.343 | |

Change entries for BLEND_EQUATION_ALPHA and BLEND_EQUATION_RGB to: | |

+----------------------+---------+---------------+---------------+-------------------------+-------+ | |

| Get Value | Type | Get Command | Initial Value | Description | Sec. | | |

+----------------------+---------+---------------+---------------+-------------------------+-------+ | |

| BLEND_EQUATION_RGB | 8* x Z7 | GetIntegeri_v | FUNC_ADD | RGB Blending Equation | 4.1.7 | | |

| | | | | for Draw Buffer i | | | |

+----------------------+---------+---------------+---------------+-------------------------+-------+ | |

| BLEND_EQUATION_ALPHA | 8* x Z7 | GetIntegeri_v | FUNC_ADD | Alpha Blending Equation | 4.1.7 | | |

| | | | | for Draw Buffer i | | | |

+----------------------+---------+---------------+---------------+-------------------------+-------+ | |

* Note that the only change change is that BLEND_EQUATION_RGB and | |

BLEND_EQUATION_ALPHA are now Z7 rather than Z5. | |

Issues | |

None, so far. | |

Revision History | |

Rev. Date Author Changes | |

---- -------- -------- ----------------------------------------- | |

3 04/08/2011 gsellers Fix typo bug in Table 4.1 (caught by Brian Paul) | |

2 09/15/2010 gsellers Update to stand against OpenGL 4.1 | |

Add token values. | |

Rename to AMD_blend_minmax_factor. | |

1 03/16/2010 gsellers Initial draft. |