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

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

Issue 674543004: OptState owns program descriptor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 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
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
11 #include "GrDrawTarget.h" 11 #include "GrDrawTarget.h"
12 #include "GrClipMaskManager.h" 12 #include "GrClipMaskManager.h"
13 #include "GrPathRendering.h" 13 #include "GrPathRendering.h"
14 #include "SkPath.h" 14 #include "SkPath.h"
15 15
16 class GrContext; 16 class GrContext;
17 class GrIndexBufferAllocPool; 17 class GrIndexBufferAllocPool;
18 class GrPath; 18 class GrPath;
19 class GrPathRange; 19 class GrPathRange;
20 class GrPathRenderer; 20 class GrPathRenderer;
21 class GrPathRendererChain; 21 class GrPathRendererChain;
22 class GrProgramDesc;
22 class GrStencilBuffer; 23 class GrStencilBuffer;
23 class GrVertexBufferAllocPool; 24 class GrVertexBufferAllocPool;
24 25
25 class GrGpu : public GrDrawTarget { 26 class GrGpu : public GrDrawTarget {
26 public: 27 public:
27 28
28 /** 29 /**
29 * Additional blend coefficients for dual source blending, not exposed 30 * Additional blend coefficients for dual source blending, not exposed
30 * through GrPaint/GrContext. 31 * through GrPaint/GrContext.
31 */ 32 */
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 kDrawPath_DrawType, 342 kDrawPath_DrawType,
342 kDrawPaths_DrawType, 343 kDrawPaths_DrawType,
343 }; 344 };
344 345
345 static bool IsPathRenderingDrawType(DrawType type) { 346 static bool IsPathRenderingDrawType(DrawType type) {
346 return kDrawPath_DrawType == type || kDrawPaths_DrawType == type; 347 return kDrawPath_DrawType == type || kDrawPaths_DrawType == type;
347 } 348 }
348 349
349 GrContext::GPUStats* gpuStats() { return &fGPUStats; } 350 GrContext::GPUStats* gpuStats() { return &fGPUStats; }
350 351
352 virtual void buildKey(const GrOptDrawState* optState,
353 GrGpu::DrawType drawType,
354 const GrDeviceCoordTexture* dstCopy,
355 GrProgramDesc* desc) = 0;
356
351 protected: 357 protected:
352 DrawType PrimTypeToDrawType(GrPrimitiveType type) { 358 DrawType PrimTypeToDrawType(GrPrimitiveType type) {
353 switch (type) { 359 switch (type) {
354 case kTriangles_GrPrimitiveType: 360 case kTriangles_GrPrimitiveType:
355 case kTriangleStrip_GrPrimitiveType: 361 case kTriangleStrip_GrPrimitiveType:
356 case kTriangleFan_GrPrimitiveType: 362 case kTriangleFan_GrPrimitiveType:
357 return kDrawTriangles_DrawType; 363 return kDrawTriangles_DrawType;
358 case kPoints_GrPrimitiveType: 364 case kPoints_GrPrimitiveType:
359 return kDrawPoints_DrawType; 365 return kDrawPoints_DrawType;
360 case kLines_GrPrimitiveType: 366 case kLines_GrPrimitiveType:
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 // counts number of uses of vertex/index pool in the geometry stack 534 // counts number of uses of vertex/index pool in the geometry stack
529 int fVertexP oolUseCnt; 535 int fVertexP oolUseCnt;
530 int fIndexPo olUseCnt; 536 int fIndexPo olUseCnt;
531 // these are mutable so they can be created on-demand 537 // these are mutable so they can be created on-demand
532 mutable GrIndexBuffer* fQuadInd exBuffer; 538 mutable GrIndexBuffer* fQuadInd exBuffer;
533 539
534 typedef GrDrawTarget INHERITED; 540 typedef GrDrawTarget INHERITED;
535 }; 541 };
536 542
537 #endif 543 #endif
OLDNEW
« no previous file with comments | « gyp/gpu.gypi ('k') | src/gpu/GrOptDrawState.h » ('j') | src/gpu/GrOptDrawState.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698