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

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

Issue 735363003: dstCopy on optdrawstate (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 6 years, 1 month 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 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 309
310 static bool IsPathRenderingDrawType(DrawType type) { 310 static bool IsPathRenderingDrawType(DrawType type) {
311 return kDrawPath_DrawType == type || kDrawPaths_DrawType == type; 311 return kDrawPath_DrawType == type || kDrawPaths_DrawType == type;
312 } 312 }
313 313
314 GrContext::GPUStats* gpuStats() { return &fGPUStats; } 314 GrContext::GPUStats* gpuStats() { return &fGPUStats; }
315 315
316 virtual void buildProgramDesc(const GrOptDrawState&, 316 virtual void buildProgramDesc(const GrOptDrawState&,
317 const GrProgramDesc::DescInfo&, 317 const GrProgramDesc::DescInfo&,
318 GrGpu::DrawType, 318 GrGpu::DrawType,
319 const GrDeviceCoordTexture* dstCopy,
320 GrProgramDesc*) = 0; 319 GrProgramDesc*) = 0;
321 320
322 /** 321 /**
323 * Called at start and end of gpu trace marking 322 * Called at start and end of gpu trace marking
324 * GR_CREATE_GPU_TRACE_MARKER(marker_str, target) will automatically call th ese at the start 323 * GR_CREATE_GPU_TRACE_MARKER(marker_str, target) will automatically call th ese at the start
325 * and end of a code block respectively 324 * and end of a code block respectively
326 */ 325 */
327 void addGpuTraceMarker(const GrGpuTraceMarker* marker); 326 void addGpuTraceMarker(const GrGpuTraceMarker* marker);
328 void removeGpuTraceMarker(const GrGpuTraceMarker* marker); 327 void removeGpuTraceMarker(const GrGpuTraceMarker* marker);
329 328
(...skipping 26 matching lines...) Expand all
356 GrSurface* src, 355 GrSurface* src,
357 const SkIRect& srcRect, 356 const SkIRect& srcRect,
358 const SkIPoint& dstPoint) = 0; 357 const SkIPoint& dstPoint) = 0;
359 358
360 virtual void draw(const GrOptDrawState&, const GrDrawTarget::DrawInfo&); 359 virtual void draw(const GrOptDrawState&, const GrDrawTarget::DrawInfo&);
361 virtual void stencilPath(const GrOptDrawState&, 360 virtual void stencilPath(const GrOptDrawState&,
362 const GrPath*, 361 const GrPath*,
363 const GrStencilSettings&); 362 const GrStencilSettings&);
364 virtual void drawPath(const GrOptDrawState&, 363 virtual void drawPath(const GrOptDrawState&,
365 const GrPath*, 364 const GrPath*,
366 const GrStencilSettings&, 365 const GrStencilSettings&);
367 const GrDeviceCoordTexture* dstCopy);
368 virtual void drawPaths(const GrOptDrawState&, 366 virtual void drawPaths(const GrOptDrawState&,
369 const GrPathRange*, 367 const GrPathRange*,
370 const uint32_t indices[], 368 const uint32_t indices[],
371 int count, 369 int count,
372 const float transforms[], 370 const float transforms[],
373 GrDrawTarget::PathTransformType, 371 GrDrawTarget::PathTransformType,
374 const GrStencilSettings&, 372 const GrStencilSettings&);
375 const GrDeviceCoordTexture*);
376 373
377 static DrawType PrimTypeToDrawType(GrPrimitiveType type) { 374 static DrawType PrimTypeToDrawType(GrPrimitiveType type) {
378 switch (type) { 375 switch (type) {
379 case kTriangles_GrPrimitiveType: 376 case kTriangles_GrPrimitiveType:
380 case kTriangleStrip_GrPrimitiveType: 377 case kTriangleStrip_GrPrimitiveType:
381 case kTriangleFan_GrPrimitiveType: 378 case kTriangleFan_GrPrimitiveType:
382 return kDrawTriangles_DrawType; 379 return kDrawTriangles_DrawType;
383 case kPoints_GrPrimitiveType: 380 case kPoints_GrPrimitiveType:
384 return kDrawPoints_DrawType; 381 return kDrawPoints_DrawType;
385 case kLines_GrPrimitiveType: 382 case kLines_GrPrimitiveType:
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 // not be created. 460 // not be created.
464 virtual bool createStencilBufferForRenderTarget(GrRenderTarget*, int width, int height) = 0; 461 virtual bool createStencilBufferForRenderTarget(GrRenderTarget*, int width, int height) = 0;
465 462
466 // attaches an existing SB to an existing RT. 463 // attaches an existing SB to an existing RT.
467 virtual bool attachStencilBufferToRenderTarget(GrStencilBuffer*, GrRenderTar get*) = 0; 464 virtual bool attachStencilBufferToRenderTarget(GrStencilBuffer*, GrRenderTar get*) = 0;
468 465
469 // The GrGpu typically records the clients requested state and then flushes 466 // The GrGpu typically records the clients requested state and then flushes
470 // deltas from previous state at draw time. This function does the 467 // deltas from previous state at draw time. This function does the
471 // backend-specific flush of the state. 468 // backend-specific flush of the state.
472 // returns false if current state is unsupported. 469 // returns false if current state is unsupported.
473 virtual bool flushGraphicsState(const GrOptDrawState&, 470 virtual bool flushGraphicsState(const GrOptDrawState&, DrawType) = 0;
474 DrawType,
475 const GrDeviceCoordTexture* dstCopy) = 0;
476 471
477 // clears target's entire stencil buffer to 0 472 // clears target's entire stencil buffer to 0
478 virtual void clearStencil(GrRenderTarget* target) = 0; 473 virtual void clearStencil(GrRenderTarget* target) = 0;
479 474
480 // Given a rt, find or create a stencil buffer and attach it 475 // Given a rt, find or create a stencil buffer and attach it
481 bool attachStencilBufferToRenderTarget(GrRenderTarget* target); 476 bool attachStencilBufferToRenderTarget(GrRenderTarget* target);
482 477
483 virtual void didAddGpuTraceMarker() = 0; 478 virtual void didAddGpuTraceMarker() = 0;
484 virtual void didRemoveGpuTraceMarker() = 0; 479 virtual void didRemoveGpuTraceMarker() = 0;
485 480
(...skipping 17 matching lines...) Expand all
503 int fGpuTrac eMarkerCount; 498 int fGpuTrac eMarkerCount;
504 GrTraceMarkerSet fActiveT raceMarkers; 499 GrTraceMarkerSet fActiveT raceMarkers;
505 GrTraceMarkerSet fStoredT raceMarkers; 500 GrTraceMarkerSet fStoredT raceMarkers;
506 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu. 501 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu.
507 GrContext* fContext ; 502 GrContext* fContext ;
508 503
509 typedef SkRefCnt INHERITED; 504 typedef SkRefCnt INHERITED;
510 }; 505 };
511 506
512 #endif 507 #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