| Name |
| |
| NV_coverage_sample_resolve |
| |
| Name Strings |
| |
| EGL_NV_coverage_sample_resolve |
| |
| Contact |
| |
| James Jones, NVIDIA Corporation (jajones 'at' nvidia.com) |
| |
| Notice |
| |
| Copyright NVIDIA Corporation, 2011 |
| |
| Status |
| |
| NVIDIA Proprietary |
| |
| Version |
| |
| Last Modified Date: 2011/04/13 |
| NVIDIA Revision: 1.0 |
| |
| Number |
| |
| EGL Extension #30 |
| |
| Dependencies |
| |
| Written based on the wording of the EGL 1.4 specification. |
| |
| Trivially interacts with EGL_NV_coverage_sample |
| |
| Requires EGL 1.2. |
| |
| Overview |
| |
| NV_coverage_sample introduced a method to improve rendering quality |
| using a separate buffer to store coverage information for pixels in |
| the color buffers. It also provided a mechanism to disable writing |
| to the coverage buffer when coverage sample filtering was not needed |
| or undesirable. However, it did not provide a way to disable |
| reading data from the coverage buffer at resolve time. In some |
| cases performance can be improved by eliminating these memory reads. |
| To that end, this extension exposes a surface attribute that allows |
| applications to specify when no coverage sample resolve is desired. |
| |
| IP Status |
| |
| NVIDIA Proprietary |
| |
| New Types |
| |
| None |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <attribute> parameter of eglSurfaceAttrib and |
| eglQuerySurface: |
| |
| EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 |
| |
| Accepted by the <value> parameter of eglSurfaceAttrib and returned |
| in the <value> parameter of eglQuerySurface when <attribute> is |
| EGL_COVERAGE_SAMPLE_RESOLVE_NV: |
| |
| EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 |
| EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 |
| |
| Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and |
| Errors) |
| |
| Additions to section 3.5.6 (Surface Attributes) |
| |
| Replace the last sentence of paragraph 2 (p. 35): |
| |
| "Attributes that can be specified are |
| EGL_COVERAGE_SAMPLE_RESOLVE_NV, EGL_MIPMAP_LEVEL, |
| EGL_MULTISAMPLE_RESOLVE, and EGL_SWAP_BEHAVIOR." |
| |
| Add the following paragraphs between paragraphs 2 and 3 (p. 35): |
| |
| "If <attribute> is EGL_COVERAGE_SAMPLE_RESOLVE_NV, then <value> |
| specifies the filter to use when resolving the coverage sample |
| buffer. A <value> of EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV chooses |
| the default implementation-defined filtering method, while |
| EGL_MULTISAMPLE_RESOLVE_NONE_NV disables filtering based on coverage |
| data. |
| |
| "The initial value of EGL_COVERAGE_SAMPLE_RESOLVE_NV is |
| EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV." |
| |
| Add the following paragraph after paragraph 13 (p. 36): |
| |
| "Querying EGL_COVERAGE_SAMPLE_RESOLVE_NV returns the filtering |
| method used when performing coverage buffer resolution. The filter |
| may be either EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV or |
| EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV, as described above for |
| eglSurfaceAttrib." |
| |
| Interactions with EGL_NV_coverage_sample: |
| |
| This extension relies on language in EGL_NV_coverage_sample to |
| describe the coverage sample buffer. |
| |
| If EGL_NV_coverage_sample is not present, this extension has no |
| effect on rendering. |
| |
| Issues |
| |
| 1. Should it be an error to set EGL_COVERAGE_SAMPLE_RESOLVE_NV on |
| surfaces that don't have a coverage buffer? |
| |
| RESOLVED: No. EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV will behave |
| the same as EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV in this case. |
| |
| Revision History |
| |
| #1 (James Jones, 2011-04-13) |
| |
| - Initial revision. |