• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    NVX_blend_equation_advanced_multi_draw_buffers
4
5Name Strings
6
7    GL_NVX_blend_equation_advanced_multi_draw_buffers
8
9Contact
10
11    Kedarnath Thangudu, NVIDIA Corporation (kthangudu 'at' nvidia.com)
12
13Contributors
14
15    Mark Kilgard, NVIDIA Corporation
16
17Status
18
19    Shipping in Pascal GPUs, June 2016.
20
21Version
22
23    Last Modified Date:         July 15, 2016
24    NVIDIA Revision:            2
25
26Number
27
28    OpenGL Extension #492
29    OpenGL ES Extension #266
30
31Dependencies
32
33    This extension is written against NV_blend_equation_advanced as
34    applied to OpenGL 4.1 Specification (Compatibility Profile).
35
36    This extension requires either NV_blend_equation_advanced or
37    KHR_blend_equation_advanced.
38
39Overview
40
41    This extension adds support for using advanced blend equations
42    introduced with NV_blend_equation_advanced (and standardized
43    by KHR_blend_equation_advanced) in conjunction with multiple
44    draw buffers.  The NV_blend_equation_advanced extension supports
45    advanced blending equations only when rending to a single color
46    buffer using fragment color zero and throws and INVALID_OPERATION
47    error when multiple draw buffers are used. This extension removes
48    this restriction.
49
50New Procedures and Functions
51
52    None
53
54New Tokens
55
56    None
57
58Additions to Chapter 2 of the OpenGL 4.1 Specification (OpenGL Operation)
59
60    None.
61
62Additions to Chapter 3 of the OpenGL 4.1 Specification (Rasterization)
63
64    None.
65
66Additions to Chapter 4 of the OpenGL 4.1 Specification (Per-Fragment
67Operations and the Frame Buffer)
68
69    [[In the "Advanced Blend Equations" subsection added in
70      NV_blend_equation_advanced, delete the paragraph beginning "If any
71      non-NONE draw buffer uses a blend equation..." and replace it with the
72      following paragraph. Advanced blend equations are now allowed with
73      multiple draw buffers as long as they use they use identical blend
74      equations.]]
75
76    If any non-NONE draw buffer uses a blend equation found in table X.2, X.3,
77    or X.4, the error INVALID_OPERATION is generated by [[Compatibility
78    Profile:  Begin or any operation that implicitly calls Begin (such as
79    DrawElements)]] [[Core Profile:  DrawArrays and the other drawing commands
80    defined in section 2.8.3]] if any other non-NONE draw buffer uses a
81    different blend equation.
82
83Additions to Chapter 5 of the OpenGL 4.1 Specification (Special Functions)
84
85    None.
86
87Additions to Chapter 6 of the OpenGL 4.1 Specification (State and
88State Requests)
89
90    None.
91
92Additions to Appendix A of the OpenGL 4.1 Specification (Invariance)
93
94    None.
95
96Additions to the AGL/GLX/WGL/EGL Specifications
97
98    None.
99
100GLX Protocol
101
102    None (since adds no API).
103
104Dependencies on OpenGL 4.1 (Core Profile)
105
106    [[Delete the paragraph beginning "This extension throws an
107      INVALID_OPERATION..." and replace it with the following paragraph]]
108
109    This extension throws an INVALID_OPERATION when Begin is called if advanced
110    blend equations are used and the blend equations for all the non-NONE draw
111    buffers are not identical.  For the core profile of OpenGL 4.1 (and other
112    versions of OpenGL), there is no Begin command; instead, the error is
113    thrown by other rendering commands such as DrawArrays.  The language in
114    this specification documenting the error has separate versions for the
115    core and compatibility profiles.
116
117Errors
118
119    [[Delete the paragraph beginning "If any non-NONE draw buffer uses a blend
120      equation..." and replace with the following.]]
121
122    If any non-NONE draw buffer uses a blend equation found in table X.2, X.3,
123    or X.4, the error INVALID_OPERATION is generated by Begin or any operation
124    that implicitly calls Begin (such as DrawElements) if any other non-NONE
125    draw buffer uses a different blend equation.
126
127New State
128
129    None
130
131New Implementation Dependent State
132
133    None.
134
135Issues
136
137    1)  Why does this extension have no functions or tokens?
138
139        RESOLVED:  This extension only relaxes error conditions
140        specified by the KHR_blend_equation_advanced and
141        NV_blend_equation_advanced_extensions.
142
143    2)  Does this extension support ES 2.x and ES 3.x?
144
145        RESOLVED:  Yes, if the extension is advertised in an ES 2.x or
146        3.x context, the extension is supported.
147
148Revision History
149
150    Rev.    Date    Author      Changes
151    ----  --------  ---------   -----------------------------------------
152     1              kthangudu   Internal revisions.
153     2    7/16/16   mjk         typo + no GLX protocol needed
154