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

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

Issue 377503004: Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. (Closed) Base URL: https://skia.googlesource.com/skia.git@no_ref
Patch Set: Update YUV effect to reflect these changes. Created 6 years, 5 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 | « include/effects/SkPerlinNoiseShader.h ('k') | include/gpu/GrEffect.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 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 GrBackendEffectFactory_DEFINED 8 #ifndef GrBackendEffectFactory_DEFINED
9 #define GrBackendEffectFactory_DEFINED 9 #define GrBackendEffectFactory_DEFINED
10 10
11 #include "GrTypes.h" 11 #include "GrTypes.h"
12 #include "SkTemplates.h" 12 #include "SkTemplates.h"
13 #include "SkThread.h" 13 #include "SkThread.h"
14 #include "SkTypes.h" 14 #include "SkTypes.h"
15 15
16 /** Given a GrEffect of a particular type, creates the corresponding graphics-ba ckend-specific 16 /** Given a GrEffect of a particular type, creates the corresponding graphics-ba ckend-specific
17 effect object. Also tracks equivalence of shaders generated via a key. Each factory instance 17 effect object. Also tracks equivalence of shaders generated via a key. Each factory instance
18 is assigned a generation ID at construction. The ID of the return of GrEffec t::getFactory() 18 is assigned a generation ID at construction. The ID of the return of GrEffec t::getFactory()
19 is used as a type identifier. Thus a GrEffect subclass must return a singlet on from 19 is used as a type identifier. Thus a GrEffect subclass must return a singlet on from
20 getFactory(). GrEffect subclasses should use the derived class GrTBackendEff ectFactory that is 20 getFactory(). GrEffect subclasses should use the derived class GrTBackendEff ectFactory that is
21 templated on the GrEffect subclass as their factory object. It requires that the GrEffect 21 templated on the GrEffect subclass as their factory object. It requires that the GrEffect
22 subclass has a nested class (or typedef) GLEffect which is its GL implementa tion and a subclass 22 subclass has a nested class (or typedef) GLEffect which is its GL implementa tion and a subclass
23 of GrGLEffect. 23 of GrGLEffect.
24 */ 24 */
25 25
26 class GrEffectRef;
27 class GrGLEffect; 26 class GrGLEffect;
28 class GrGLCaps; 27 class GrGLCaps;
29 class GrDrawEffect; 28 class GrDrawEffect;
30 29
31 class GrBackendEffectFactory : SkNoncopyable { 30 class GrBackendEffectFactory : SkNoncopyable {
32 public: 31 public:
33 typedef uint32_t EffectKey; 32 typedef uint32_t EffectKey;
34 enum { 33 enum {
35 kNoEffectKey = 0, 34 kNoEffectKey = 0,
36 kEffectKeyBits = 10, 35 kEffectKeyBits = 10,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 return static_cast<EffectKey>(id); 80 return static_cast<EffectKey>(id);
82 } 81 }
83 82
84 EffectKey fEffectClassID; 83 EffectKey fEffectClassID;
85 84
86 private: 85 private:
87 static int32_t fCurrEffectClassID; 86 static int32_t fCurrEffectClassID;
88 }; 87 };
89 88
90 #endif 89 #endif
OLDNEW
« no previous file with comments | « include/effects/SkPerlinNoiseShader.h ('k') | include/gpu/GrEffect.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698