• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    NV_coverage_sample_resolve
4
5Name Strings
6
7    EGL_NV_coverage_sample_resolve
8
9Contact
10
11    James Jones, NVIDIA Corporation (jajones 'at' nvidia.com)
12
13Notice
14
15    Copyright NVIDIA Corporation, 2011
16
17Status
18
19    NVIDIA Proprietary
20
21Version
22
23    Last Modified Date:  2011/04/13
24    NVIDIA Revision: 1.0
25
26Number
27
28    EGL Extension #30
29
30Dependencies
31
32    Written based on the wording of the EGL 1.4 specification.
33
34    Trivially interacts with EGL_NV_coverage_sample
35
36    Requires EGL 1.2.
37
38Overview
39
40    NV_coverage_sample introduced a method to improve rendering quality
41    using a separate buffer to store coverage information for pixels in
42    the color buffers.  It also provided a mechanism to disable writing
43    to the coverage buffer when coverage sample filtering was not needed
44    or undesirable.  However, it did not provide a way to disable
45    reading data from the coverage buffer at resolve time.  In some
46    cases performance can be improved by eliminating these memory reads.
47    To that end, this extension exposes a surface attribute that allows
48    applications to specify when no coverage sample resolve is desired.
49
50IP Status
51
52    NVIDIA Proprietary
53
54New Types
55
56    None
57
58New Procedures and Functions
59
60    None
61
62New Tokens
63
64    Accepted by the <attribute> parameter of eglSurfaceAttrib and
65    eglQuerySurface:
66
67        EGL_COVERAGE_SAMPLE_RESOLVE_NV              0x3131
68
69    Accepted by the <value> parameter of eglSurfaceAttrib and returned
70    in the <value> parameter of eglQuerySurface when <attribute> is
71    EGL_COVERAGE_SAMPLE_RESOLVE_NV:
72
73        EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV      0x3132
74        EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV         0x3133
75
76Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and
77Errors)
78
79    Additions to section 3.5.6 (Surface Attributes)
80
81    Replace the last sentence of paragraph 2 (p. 35):
82
83    "Attributes that can be specified are
84    EGL_COVERAGE_SAMPLE_RESOLVE_NV, EGL_MIPMAP_LEVEL,
85    EGL_MULTISAMPLE_RESOLVE, and EGL_SWAP_BEHAVIOR."
86
87    Add the following paragraphs between paragraphs 2 and 3 (p. 35):
88
89    "If <attribute> is EGL_COVERAGE_SAMPLE_RESOLVE_NV, then <value>
90    specifies the filter to use when resolving the coverage sample
91    buffer.  A <value> of EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV chooses
92    the default implementation-defined filtering method, while
93    EGL_MULTISAMPLE_RESOLVE_NONE_NV disables filtering based on coverage
94    data.
95
96    "The initial value of EGL_COVERAGE_SAMPLE_RESOLVE_NV is
97    EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV."
98
99    Add the following paragraph after paragraph 13 (p. 36):
100
101    "Querying EGL_COVERAGE_SAMPLE_RESOLVE_NV returns the filtering
102    method used when performing coverage buffer resolution.  The filter
103    may be either EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV or
104    EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV, as described above for
105    eglSurfaceAttrib."
106
107Interactions with EGL_NV_coverage_sample:
108
109    This extension relies on language in EGL_NV_coverage_sample to
110    describe the coverage sample buffer.
111
112    If EGL_NV_coverage_sample is not present, this extension has no
113    effect on rendering.
114
115Issues
116
117    1.  Should it be an error to set EGL_COVERAGE_SAMPLE_RESOLVE_NV on
118        surfaces that don't have a coverage buffer?
119
120        RESOLVED:  No.  EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV will behave
121        the same as EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV in this case.
122
123Revision History
124
125#1  (James Jones, 2011-04-13)
126
127    - Initial revision.
128