blob: f1542645a1c9d4e77f0d0e043aa670148639bc21 [file] [log] [blame]
Name
NVX_blend_equation_advanced_multi_draw_buffers
Name Strings
GL_NVX_blend_equation_advanced_multi_draw_buffers
Contact
Kedarnath Thangudu, NVIDIA Corporation (kthangudu 'at' nvidia.com)
Contributors
Mark Kilgard, NVIDIA Corporation
Status
Shipping in Pascal GPUs, June 2016.
Version
Last Modified Date: July 15, 2016
NVIDIA Revision: 2
Number
OpenGL Extension #492
OpenGL ES Extension #266
Dependencies
This extension is written against NV_blend_equation_advanced as
applied to OpenGL 4.1 Specification (Compatibility Profile).
This extension requires either NV_blend_equation_advanced or
KHR_blend_equation_advanced.
Overview
This extension adds support for using advanced blend equations
introduced with NV_blend_equation_advanced (and standardized
by KHR_blend_equation_advanced) in conjunction with multiple
draw buffers. The NV_blend_equation_advanced extension supports
advanced blending equations only when rending to a single color
buffer using fragment color zero and throws and INVALID_OPERATION
error when multiple draw buffers are used. This extension removes
this restriction.
New Procedures and Functions
None
New Tokens
None
Additions to Chapter 2 of the OpenGL 4.1 Specification (OpenGL Operation)
None.
Additions to Chapter 3 of the OpenGL 4.1 Specification (Rasterization)
None.
Additions to Chapter 4 of the OpenGL 4.1 Specification (Per-Fragment
Operations and the Frame Buffer)
[[In the "Advanced Blend Equations" subsection added in
NV_blend_equation_advanced, delete the paragraph beginning "If any
non-NONE draw buffer uses a blend equation..." and replace it with the
following paragraph. Advanced blend equations are now allowed with
multiple draw buffers as long as they use they use identical blend
equations.]]
If any non-NONE draw buffer uses a blend equation found in table X.2, X.3,
or X.4, the error INVALID_OPERATION is generated by [[Compatibility
Profile: Begin or any operation that implicitly calls Begin (such as
DrawElements)]] [[Core Profile: DrawArrays and the other drawing commands
defined in section 2.8.3]] if any other non-NONE draw buffer uses a
different blend equation.
Additions to Chapter 5 of the OpenGL 4.1 Specification (Special Functions)
None.
Additions to Chapter 6 of the OpenGL 4.1 Specification (State and
State Requests)
None.
Additions to Appendix A of the OpenGL 4.1 Specification (Invariance)
None.
Additions to the AGL/GLX/WGL/EGL Specifications
None.
GLX Protocol
None (since adds no API).
Dependencies on OpenGL 4.1 (Core Profile)
[[Delete the paragraph beginning "This extension throws an
INVALID_OPERATION..." and replace it with the following paragraph]]
This extension throws an INVALID_OPERATION when Begin is called if advanced
blend equations are used and the blend equations for all the non-NONE draw
buffers are not identical. For the core profile of OpenGL 4.1 (and other
versions of OpenGL), there is no Begin command; instead, the error is
thrown by other rendering commands such as DrawArrays. The language in
this specification documenting the error has separate versions for the
core and compatibility profiles.
Errors
[[Delete the paragraph beginning "If any non-NONE draw buffer uses a blend
equation..." and replace with the following.]]
If any non-NONE draw buffer uses a blend equation found in table X.2, X.3,
or X.4, the error INVALID_OPERATION is generated by Begin or any operation
that implicitly calls Begin (such as DrawElements) if any other non-NONE
draw buffer uses a different blend equation.
New State
None
New Implementation Dependent State
None.
Issues
1) Why does this extension have no functions or tokens?
RESOLVED: This extension only relaxes error conditions
specified by the KHR_blend_equation_advanced and
NV_blend_equation_advanced_extensions.
2) Does this extension support ES 2.x and ES 3.x?
RESOLVED: Yes, if the extension is advertised in an ES 2.x or
3.x context, the extension is supported.
Revision History
Rev. Date Author Changes
---- -------- --------- -----------------------------------------
1 kthangudu Internal revisions.
2 7/16/16 mjk typo + no GLX protocol needed