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

Side by Side Diff: src/gpu/GrGpu.h

Issue 1275543005: Move some work from backend onClear to base class clear (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Pass references and rebase Created 5 years, 4 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 | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrGpu.cpp » ('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 * 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 GrGpu_DEFINED 8 #ifndef GrGpu_DEFINED
9 #define GrGpu_DEFINED 9 #define GrGpu_DEFINED
10 10
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 * @param buffer memory to read pixels from 242 * @param buffer memory to read pixels from
243 * @param rowBytes number of bytes between consecutive rows. Zero 243 * @param rowBytes number of bytes between consecutive rows. Zero
244 * means rows are tightly packed. 244 * means rows are tightly packed.
245 */ 245 */
246 bool writePixels(GrSurface* surface, 246 bool writePixels(GrSurface* surface,
247 int left, int top, int width, int height, 247 int left, int top, int width, int height,
248 GrPixelConfig config, const void* buffer, 248 GrPixelConfig config, const void* buffer,
249 size_t rowBytes); 249 size_t rowBytes);
250 250
251 /** 251 /**
252 * Clear the passed in render target. Ignores the draw state and clip. Clear s the whole thing if 252 * Clear the passed in render target. Ignores the draw state and clip.
253 * rect is NULL, otherwise just the rect. If canIgnoreRect is set then the e ntire render target
254 * can be optionally cleared.
255 */ 253 */
256 void clear(const SkIRect* rect, GrColor color, bool canIgnoreRect,GrRenderTa rget* renderTarget); 254 void clear(const SkIRect& rect, GrColor color, GrRenderTarget* renderTarget) ;
257 255
258 256
259 void clearStencilClip(const SkIRect& rect, bool insideClip, GrRenderTarget* renderTarget); 257 void clearStencilClip(const SkIRect& rect, bool insideClip, GrRenderTarget* renderTarget);
260 258
261 /** 259 /**
262 * Discards the contents render target. NULL indicates that the current rend er target should 260 * Discards the contents render target. NULL indicates that the current rend er target should
263 * be discarded. 261 * be discarded.
264 **/ 262 **/
265 virtual void discard(GrRenderTarget* = NULL) = 0; 263 virtual void discard(GrRenderTarget* = NULL) = 0;
266 264
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 virtual GrTexture* onCreateCompressedTexture(const GrSurfaceDesc& desc, 441 virtual GrTexture* onCreateCompressedTexture(const GrSurfaceDesc& desc,
444 GrGpuResource::LifeCycle lifeCy cle, 442 GrGpuResource::LifeCycle lifeCy cle,
445 const void* srcData) = 0; 443 const void* srcData) = 0;
446 virtual GrTexture* onWrapBackendTexture(const GrBackendTextureDesc&, GrWrapO wnership) = 0; 444 virtual GrTexture* onWrapBackendTexture(const GrBackendTextureDesc&, GrWrapO wnership) = 0;
447 virtual GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTarge tDesc&, 445 virtual GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTarge tDesc&,
448 GrWrapOwnership) = 0; 446 GrWrapOwnership) = 0;
449 virtual GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) = 0; 447 virtual GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) = 0;
450 virtual GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) = 0; 448 virtual GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) = 0;
451 449
452 // overridden by backend-specific derived class to perform the clear. 450 // overridden by backend-specific derived class to perform the clear.
453 virtual void onClear(GrRenderTarget*, const SkIRect* rect, GrColor color, 451 virtual void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) = 0;
454 bool canIgnoreRect) = 0;
455 452
456 453
457 // Overridden by backend specific classes to perform a clear of the stencil clip bits. This is 454 // Overridden by backend specific classes to perform a clear of the stencil clip bits. This is
458 // ONLY used by the the clip target 455 // ONLY used by the the clip target
459 virtual void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool i nsideClip) = 0; 456 virtual void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool i nsideClip) = 0;
460 457
461 // overridden by backend-specific derived class to perform the draw call. 458 // overridden by backend-specific derived class to perform the draw call.
462 virtual void onDraw(const DrawArgs&, const GrNonInstancedVertices&) = 0; 459 virtual void onDraw(const DrawArgs&, const GrNonInstancedVertices&) = 0;
463 460
464 virtual bool onGetReadPixelsInfo(GrSurface* srcSurface, int readWidth, int r eadHeight, 461 virtual bool onGetReadPixelsInfo(GrSurface* srcSurface, int readWidth, int r eadHeight,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 GrTraceMarkerSet fActiveT raceMarkers; 515 GrTraceMarkerSet fActiveT raceMarkers;
519 GrTraceMarkerSet fStoredT raceMarkers; 516 GrTraceMarkerSet fStoredT raceMarkers;
520 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu. 517 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu.
521 GrContext* fContext ; 518 GrContext* fContext ;
522 519
523 friend class GrPathRendering; 520 friend class GrPathRendering;
524 typedef SkRefCnt INHERITED; 521 typedef SkRefCnt INHERITED;
525 }; 522 };
526 523
527 #endif 524 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698