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

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

Issue 13121002: Make GrGLShaderBuilder::TextureSampler extract only required info from GrTextureAccess. (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
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 GrEffect_DEFINED 8 #ifndef GrEffect_DEFINED
9 #define GrEffect_DEFINED 9 #define GrEffect_DEFINED
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 enum CoordsType { 80 enum CoordsType {
81 kLocal_CoordsType, 81 kLocal_CoordsType,
82 kPosition_CoordsType, 82 kPosition_CoordsType,
83 83
84 kCustom_CoordsType, 84 kCustom_CoordsType,
85 }; 85 };
86 86
87 virtual ~GrEffect(); 87 virtual ~GrEffect();
88 88
89 /** 89 /**
90 * Flags for getConstantColorComponents. They are defined so that the bit or der reflects the
91 * GrColor shift order.
92 */
93 enum ValidComponentFlags {
94 kR_ValidComponentFlag = 1 << (GrColor_SHIFT_R / 8),
95 kG_ValidComponentFlag = 1 << (GrColor_SHIFT_G / 8),
96 kB_ValidComponentFlag = 1 << (GrColor_SHIFT_B / 8),
97 kA_ValidComponentFlag = 1 << (GrColor_SHIFT_A / 8),
98
99 kAll_ValidComponentFlags = (kR_ValidComponentFlag | kG_ValidComponentFla g |
100 kB_ValidComponentFlag | kA_ValidComponentFla g)
101 };
102
103 /**
104 * This function is used to perform optimizations. When called the color and validFlags params 90 * This function is used to perform optimizations. When called the color and validFlags params
105 * indicate whether the input components to this effect in the FS will have known values. The 91 * indicate whether the input components to this effect in the FS will have known values.
106 * function updates both params to indicate known values of its output. A co mponent of the color 92 * validFlags is a bitfield of GrColorComponentFlags. The function updates b oth params to
107 * param only has meaning if the corresponding bit in validFlags is set. 93 * indicate known values of its output. A component of the color param only has meaning if the
94 * corresponding bit in validFlags is set.
108 */ 95 */
109 virtual void getConstantColorComponents(GrColor* color, uint32_t* validFlags ) const = 0; 96 virtual void getConstantColorComponents(GrColor* color, uint32_t* validFlags ) const = 0;
110 97
111 /** This object, besides creating back-end-specific helper objects, is used for run-time-type- 98 /** This object, besides creating back-end-specific helper objects, is used for run-time-type-
112 identification. The factory should be an instance of templated class, 99 identification. The factory should be an instance of templated class,
113 GrTBackendEffectFactory. It is templated on the subclass of GrEffect. Th e subclass must have 100 GrTBackendEffectFactory. It is templated on the subclass of GrEffect. Th e subclass must have
114 a nested type (or typedef) named GLEffect which will be the subclass of GrGLEffect created 101 a nested type (or typedef) named GLEffect which will be the subclass of GrGLEffect created
115 by the factory. 102 by the factory.
116 103
117 Example: 104 Example:
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 typedef GrRefCnt INHERITED; 270 typedef GrRefCnt INHERITED;
284 }; 271 };
285 272
286 inline GrEffectRef::GrEffectRef(GrEffect* effect) { 273 inline GrEffectRef::GrEffectRef(GrEffect* effect) {
287 GrAssert(NULL != effect); 274 GrAssert(NULL != effect);
288 effect->ref(); 275 effect->ref();
289 fEffect = effect; 276 fEffect = effect;
290 } 277 }
291 278
292 #endif 279 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698