Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: include/gpu/GrCaps.h

Issue 2384463003: Add fence support for TransferBuffers (Closed)
Patch Set: Add test code Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | include/gpu/GrTypesPriv.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « no previous file | include/gpu/GrTypesPriv.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698