OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #ifndef GrCaps_DEFINED | 8 #ifndef GrCaps_DEFINED |
9 #define GrCaps_DEFINED | 9 #define GrCaps_DEFINED |
10 | 10 |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 } | 279 } |
280 | 280 |
281 bool fullClearIsFree() const { return fFullClearIsFree; } | 281 bool fullClearIsFree() const { return fFullClearIsFree; } |
282 | 282 |
283 /** True in environments that will issue errors if memory uploaded to buffer
s | 283 /** True in environments that will issue errors if memory uploaded to buffer
s |
284 is not initialized (even if not read by draw calls). */ | 284 is not initialized (even if not read by draw calls). */ |
285 bool mustClearUploadedBufferData() const { return fMustClearUploadedBufferDa
ta; } | 285 bool mustClearUploadedBufferData() const { return fMustClearUploadedBufferDa
ta; } |
286 | 286 |
287 bool sampleShadingSupport() const { return fSampleShadingSupport; } | 287 bool sampleShadingSupport() const { return fSampleShadingSupport; } |
288 | 288 |
| 289 bool fenceSyncSupport() const { return fFenceSyncSupport; } |
| 290 |
289 protected: | 291 protected: |
290 /** Subclasses must call this at the end of their constructors in order to a
pply caps | 292 /** Subclasses must call this at the end of their constructors in order to a
pply caps |
291 overrides requested by the client. Note that overrides will only reduce
the caps never | 293 overrides requested by the client. Note that overrides will only reduce
the caps never |
292 expand them. */ | 294 expand them. */ |
293 void applyOptionsOverrides(const GrContextOptions& options); | 295 void applyOptionsOverrides(const GrContextOptions& options); |
294 | 296 |
295 SkAutoTUnref<GrShaderCaps> fShaderCaps; | 297 SkAutoTUnref<GrShaderCaps> fShaderCaps; |
296 | 298 |
297 bool fNPOTTextureTileSupport : 1; | 299 bool fNPOTTextureTileSupport : 1; |
298 bool fMipMapSupport : 1; | 300 bool fMipMapSupport : 1; |
(...skipping 18 matching lines...) Expand all Loading... |
317 // Driver workaround | 319 // Driver workaround |
318 bool fUseDrawInsteadOfClear : 1; | 320 bool fUseDrawInsteadOfClear : 1; |
319 bool fUseDrawInsteadOfPartialRenderTargetWrite : 1; | 321 bool fUseDrawInsteadOfPartialRenderTargetWrite : 1; |
320 bool fUseDrawInsteadOfAllRenderTargetWrites : 1; | 322 bool fUseDrawInsteadOfAllRenderTargetWrites : 1; |
321 bool fAvoidInstancedDrawsToFPTargets : 1; | 323 bool fAvoidInstancedDrawsToFPTargets : 1; |
322 | 324 |
323 // ANGLE workaround | 325 // ANGLE workaround |
324 bool fPreferVRAMUseOverFlushes : 1; | 326 bool fPreferVRAMUseOverFlushes : 1; |
325 | 327 |
326 bool fSampleShadingSupport : 1; | 328 bool fSampleShadingSupport : 1; |
| 329 // TODO: this may need to be an enum to support different fence types |
| 330 bool fFenceSyncSupport : 1; |
327 | 331 |
328 InstancedSupport fInstancedSupport; | 332 InstancedSupport fInstancedSupport; |
329 | 333 |
330 BlendEquationSupport fBlendEquationSupport; | 334 BlendEquationSupport fBlendEquationSupport; |
331 uint32_t fAdvBlendEqBlacklist; | 335 uint32_t fAdvBlendEqBlacklist; |
332 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); | 336 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); |
333 | 337 |
334 uint32_t fMapBufferFlags; | 338 uint32_t fMapBufferFlags; |
335 int fBufferMapThreshold; | 339 int fBufferMapThreshold; |
336 | 340 |
337 int fMaxRenderTargetSize; | 341 int fMaxRenderTargetSize; |
338 int fMaxVertexAttributes; | 342 int fMaxVertexAttributes; |
339 int fMaxTextureSize; | 343 int fMaxTextureSize; |
340 int fMaxTileSize; | 344 int fMaxTileSize; |
341 int fMaxColorSampleCount; | 345 int fMaxColorSampleCount; |
342 int fMaxStencilSampleCount; | 346 int fMaxStencilSampleCount; |
343 int fMaxRasterSamples; | 347 int fMaxRasterSamples; |
344 int fMaxWindowRectangles; | 348 int fMaxWindowRectangles; |
345 | 349 |
346 private: | 350 private: |
347 virtual void onApplyOptionsOverrides(const GrContextOptions&) {} | 351 virtual void onApplyOptionsOverrides(const GrContextOptions&) {} |
348 | 352 |
349 bool fSuppressPrints : 1; | 353 bool fSuppressPrints : 1; |
350 bool fImmediateFlush: 1; | 354 bool fImmediateFlush: 1; |
351 | 355 |
352 typedef SkRefCnt INHERITED; | 356 typedef SkRefCnt INHERITED; |
353 }; | 357 }; |
354 | 358 |
355 #endif | 359 #endif |
OLD | NEW |