OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrRenderTarget_DEFINED | 8 #ifndef GrRenderTarget_DEFINED |
9 #define GrRenderTarget_DEFINED | 9 #define GrRenderTarget_DEFINED |
10 | 10 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 } | 74 } |
75 | 75 |
76 /** | 76 /** |
77 * @return the number of stencil samples-per-pixel, or zero if non-MSAA. | 77 * @return the number of stencil samples-per-pixel, or zero if non-MSAA. |
78 */ | 78 */ |
79 int numStencilSamples() const { | 79 int numStencilSamples() const { |
80 return fDesc.fSampleCnt; | 80 return fDesc.fSampleCnt; |
81 } | 81 } |
82 | 82 |
83 /** | 83 /** |
| 84 * @return the number of actual raster samples-per-pixel, or zero if non-MSA
A. |
| 85 */ |
| 86 int numRasterSamples() const { |
| 87 return fStencilAttachment ? this->numStencilSamples() : this->numColorSa
mples(); |
| 88 } |
| 89 |
| 90 /** |
84 * @return true if the surface is mixed sampled, false otherwise. | 91 * @return true if the surface is mixed sampled, false otherwise. |
85 */ | 92 */ |
86 bool hasMixedSamples() const { | 93 bool hasMixedSamples() const { |
87 SkASSERT(kStencil_SampleConfig != fSampleConfig || | 94 SkASSERT(kStencil_SampleConfig != fSampleConfig || |
88 this->isStencilBufferMultisampled()); | 95 this->isStencilBufferMultisampled()); |
89 return kStencil_SampleConfig == fSampleConfig; | 96 return kStencil_SampleConfig == fSampleConfig; |
90 } | 97 } |
91 | 98 |
92 /** | 99 /** |
93 * Call to indicate the multisample contents were modified such that the | 100 * Call to indicate the multisample contents were modified such that the |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 // Allows the backends to perform any additional work that is required for a
ttaching a | 175 // Allows the backends to perform any additional work that is required for a
ttaching a |
169 // GrStencilAttachment. When this is called, the GrStencilAttachment has alr
eady been put onto | 176 // GrStencilAttachment. When this is called, the GrStencilAttachment has alr
eady been put onto |
170 // the GrRenderTarget. This function must return false if any failures occur
when completing the | 177 // the GrRenderTarget. This function must return false if any failures occur
when completing the |
171 // stencil attachment. | 178 // stencil attachment. |
172 virtual bool completeStencilAttachment() = 0; | 179 virtual bool completeStencilAttachment() = 0; |
173 | 180 |
174 friend class GrRenderTargetPriv; | 181 friend class GrRenderTargetPriv; |
175 | 182 |
176 GrStencilAttachment* fStencilAttachment; | 183 GrStencilAttachment* fStencilAttachment; |
177 SampleConfig fSampleConfig; | 184 SampleConfig fSampleConfig; |
| 185 // Configures sample locations to be either default or programmable, if MSAA
. |
| 186 bool fProgrammableSampleLocationsEnabled; |
| 187 // True if sample locations colocated at pixel center are currently in use,
false if default |
| 188 // sample locations are currently in use. |
| 189 bool fUsesCenteredSampleLocations; |
178 | 190 |
179 SkIRect fResolveRect; | 191 SkIRect fResolveRect; |
180 | 192 |
181 typedef GrSurface INHERITED; | 193 typedef GrSurface INHERITED; |
182 }; | 194 }; |
183 | 195 |
184 | 196 |
185 #endif | 197 #endif |
OLD | NEW |