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 parameter of eglSurfaceAttrib and eglQuerySurface: EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 Accepted by the parameter of eglSurfaceAttrib and returned in the parameter of eglQuerySurface when 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 is EGL_COVERAGE_SAMPLE_RESOLVE_NV, then specifies the filter to use when resolving the coverage sample buffer. A 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.