OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 | 8 |
9 #ifndef GrGLCaps_DEFINED | 9 #ifndef GrGLCaps_DEFINED |
10 #define GrGLCaps_DEFINED | 10 #define GrGLCaps_DEFINED |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 | 196 |
197 /// The maximum number of fragment uniform vectors (GLES has min. 16). | 197 /// The maximum number of fragment uniform vectors (GLES has min. 16). |
198 int maxFragmentUniformVectors() const { return fMaxFragmentUniformVectors; } | 198 int maxFragmentUniformVectors() const { return fMaxFragmentUniformVectors; } |
199 | 199 |
200 /// maximum number of attribute values per vertex | 200 /// maximum number of attribute values per vertex |
201 int maxVertexAttributes() const { return fMaxVertexAttributes; } | 201 int maxVertexAttributes() const { return fMaxVertexAttributes; } |
202 | 202 |
203 /// maximum number of texture units accessible in the fragment shader. | 203 /// maximum number of texture units accessible in the fragment shader. |
204 int maxFragmentTextureUnits() const { return fMaxFragmentTextureUnits; } | 204 int maxFragmentTextureUnits() const { return fMaxFragmentTextureUnits; } |
205 | 205 |
206 /// maximum number of fixed-function texture coords, or zero if no fixed-fun
ction. | |
207 int maxFixedFunctionTextureCoords() const { return fMaxFixedFunctionTextureC
oords; } | |
208 | |
209 /// ES requires an extension to support RGBA8 in RenderBufferStorage | 206 /// ES requires an extension to support RGBA8 in RenderBufferStorage |
210 bool rgba8RenderbufferSupport() const { return fRGBA8RenderbufferSupport; } | 207 bool rgba8RenderbufferSupport() const { return fRGBA8RenderbufferSupport; } |
211 | 208 |
212 /** | 209 /** |
213 * Depending on the ES extensions present the BGRA external format may | 210 * Depending on the ES extensions present the BGRA external format may |
214 * correspond either a BGRA or RGBA internalFormat. On desktop GL it is | 211 * correspond either a BGRA or RGBA internalFormat. On desktop GL it is |
215 * RGBA. | 212 * RGBA. |
216 */ | 213 */ |
217 bool bgraIsInternalFormat() const { return fBGRAIsInternalFormat; } | 214 bool bgraIsInternalFormat() const { return fBGRAIsInternalFormat; } |
218 | 215 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 * we found LATC under. The default is LATC. | 278 * we found LATC under. The default is LATC. |
282 */ | 279 */ |
283 enum LATCAlias { | 280 enum LATCAlias { |
284 kLATC_LATCAlias, | 281 kLATC_LATCAlias, |
285 kRGTC_LATCAlias, | 282 kRGTC_LATCAlias, |
286 k3DC_LATCAlias | 283 k3DC_LATCAlias |
287 }; | 284 }; |
288 | 285 |
289 LATCAlias latcAlias() const { return fLATCAlias; } | 286 LATCAlias latcAlias() const { return fLATCAlias; } |
290 | 287 |
291 /** | |
292 * Which type of path rendering is supported, if any | |
293 * TODO delete this when we only support normal non-legacy nvpr | |
294 */ | |
295 enum NvprSupport { | |
296 kNone_NvprSupport, | |
297 kLegacy_NvprSupport, | |
298 kNormal_NvprSupport, | |
299 }; | |
300 | |
301 NvprSupport nvprSupport() const { return fNvprSupport; } | |
302 | |
303 private: | 288 private: |
304 /** | 289 /** |
305 * Maintains a bit per GrPixelConfig. It is used to avoid redundantly | 290 * Maintains a bit per GrPixelConfig. It is used to avoid redundantly |
306 * performing glCheckFrameBufferStatus for the same config. | 291 * performing glCheckFrameBufferStatus for the same config. |
307 */ | 292 */ |
308 struct VerifiedColorConfigs { | 293 struct VerifiedColorConfigs { |
309 VerifiedColorConfigs() { | 294 VerifiedColorConfigs() { |
310 this->reset(); | 295 this->reset(); |
311 } | 296 } |
312 | 297 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 | 340 |
356 SkTArray<StencilFormat, true> fStencilFormats; | 341 SkTArray<StencilFormat, true> fStencilFormats; |
357 // tracks configs that have been verified to pass the FBO completeness when | 342 // tracks configs that have been verified to pass the FBO completeness when |
358 // used as a color attachment when a particular stencil format is used | 343 // used as a color attachment when a particular stencil format is used |
359 // as a stencil attachment. | 344 // as a stencil attachment. |
360 SkTArray<VerifiedColorConfigs, true> fStencilVerifiedColorConfigs; | 345 SkTArray<VerifiedColorConfigs, true> fStencilVerifiedColorConfigs; |
361 | 346 |
362 int fMaxFragmentUniformVectors; | 347 int fMaxFragmentUniformVectors; |
363 int fMaxVertexAttributes; | 348 int fMaxVertexAttributes; |
364 int fMaxFragmentTextureUnits; | 349 int fMaxFragmentTextureUnits; |
365 int fMaxFixedFunctionTextureCoords; | |
366 | 350 |
367 MSFBOType fMSFBOType; | 351 MSFBOType fMSFBOType; |
368 InvalidateFBType fInvalidateFBType; | 352 InvalidateFBType fInvalidateFBType; |
369 MapBufferType fMapBufferType; | 353 MapBufferType fMapBufferType; |
370 LATCAlias fLATCAlias; | 354 LATCAlias fLATCAlias; |
371 NvprSupport fNvprSupport; | |
372 | 355 |
373 bool fRGBA8RenderbufferSupport : 1; | 356 bool fRGBA8RenderbufferSupport : 1; |
374 bool fBGRAIsInternalFormat : 1; | 357 bool fBGRAIsInternalFormat : 1; |
375 bool fTextureSwizzleSupport : 1; | 358 bool fTextureSwizzleSupport : 1; |
376 bool fUnpackRowLengthSupport : 1; | 359 bool fUnpackRowLengthSupport : 1; |
377 bool fUnpackFlipYSupport : 1; | 360 bool fUnpackFlipYSupport : 1; |
378 bool fPackRowLengthSupport : 1; | 361 bool fPackRowLengthSupport : 1; |
379 bool fPackFlipYSupport : 1; | 362 bool fPackFlipYSupport : 1; |
380 bool fTextureUsageSupport : 1; | 363 bool fTextureUsageSupport : 1; |
381 bool fTexStorageSupport : 1; | 364 bool fTexStorageSupport : 1; |
(...skipping 24 matching lines...) Expand all Loading... |
406 && fType == rhs.fType | 389 && fType == rhs.fType |
407 && fFboFormat == rhs.fFboFormat; | 390 && fFboFormat == rhs.fFboFormat; |
408 } | 391 } |
409 }; | 392 }; |
410 mutable SkTHashMap<ReadPixelsSupportedFormat, bool> fReadPixelsSupportedCach
e; | 393 mutable SkTHashMap<ReadPixelsSupportedFormat, bool> fReadPixelsSupportedCach
e; |
411 | 394 |
412 typedef GrDrawTargetCaps INHERITED; | 395 typedef GrDrawTargetCaps INHERITED; |
413 }; | 396 }; |
414 | 397 |
415 #endif | 398 #endif |
OLD | NEW |