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

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

Issue 682223002: rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: const 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 | « gm/xfermodes3.cpp ('k') | include/gpu/GrRenderTarget.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 2010 Google Inc. 2 * Copyright 2010 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 GrContext_DEFINED 8 #ifndef GrContext_DEFINED
9 #define GrContext_DEFINED 9 #define GrContext_DEFINED
10 10
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 * texture support). NULL implies clamp wrap modes. 201 * texture support). NULL implies clamp wrap modes.
202 * @param desc Description of the texture properties. 202 * @param desc Description of the texture properties.
203 * @param cacheID Cache-specific properties (e.g., texture gen ID) 203 * @param cacheID Cache-specific properties (e.g., texture gen ID)
204 * @param srcData Pointer to the pixel values. 204 * @param srcData Pointer to the pixel values.
205 * @param rowBytes The number of bytes between rows of the texture. Zero 205 * @param rowBytes The number of bytes between rows of the texture. Zero
206 * implies tightly packed rows. For compressed pixel config s, this 206 * implies tightly packed rows. For compressed pixel config s, this
207 * field is ignored. 207 * field is ignored.
208 * @param cacheKey (optional) If non-NULL, we'll write the cache key we use d to cacheKey. 208 * @param cacheKey (optional) If non-NULL, we'll write the cache key we use d to cacheKey.
209 */ 209 */
210 GrTexture* createTexture(const GrTextureParams* params, 210 GrTexture* createTexture(const GrTextureParams* params,
211 const GrTextureDesc& desc, 211 const GrSurfaceDesc& desc,
212 const GrCacheID& cacheID, 212 const GrCacheID& cacheID,
213 const void* srcData, 213 const void* srcData,
214 size_t rowBytes, 214 size_t rowBytes,
215 GrResourceKey* cacheKey = NULL); 215 GrResourceKey* cacheKey = NULL);
216 /** 216 /**
217 * Search for an entry based on key and dimensions. If found, ref it and ret urn it. The return 217 * Search for an entry based on key and dimensions. If found, ref it and ret urn it. The return
218 * value will be NULL if not found. The caller must balance with a call to u nref. 218 * value will be NULL if not found. The caller must balance with a call to u nref.
219 * 219 *
220 * @param desc Description of the texture properties. 220 * @param desc Description of the texture properties.
221 * @param cacheID Cache-specific properties (e.g., texture gen ID) 221 * @param cacheID Cache-specific properties (e.g., texture gen ID)
222 * @param params The texture params used to draw a texture may help deter mine 222 * @param params The texture params used to draw a texture may help deter mine
223 * the cache entry used. (e.g. different versions may exist 223 * the cache entry used. (e.g. different versions may exist
224 * for different wrap modes on GPUs with limited NPOT 224 * for different wrap modes on GPUs with limited NPOT
225 * texture support). NULL implies clamp wrap modes. 225 * texture support). NULL implies clamp wrap modes.
226 */ 226 */
227 GrTexture* findAndRefTexture(const GrTextureDesc& desc, 227 GrTexture* findAndRefTexture(const GrSurfaceDesc& desc,
228 const GrCacheID& cacheID, 228 const GrCacheID& cacheID,
229 const GrTextureParams* params); 229 const GrTextureParams* params);
230 /** 230 /**
231 * Determines whether a texture is in the cache. If the texture is found it 231 * Determines whether a texture is in the cache. If the texture is found it
232 * will not be locked or returned. This call does not affect the priority of 232 * will not be locked or returned. This call does not affect the priority of
233 * the texture for deletion. 233 * the texture for deletion.
234 */ 234 */
235 bool isTextureInCache(const GrTextureDesc& desc, 235 bool isTextureInCache(const GrSurfaceDesc& desc,
236 const GrCacheID& cacheID, 236 const GrCacheID& cacheID,
237 const GrTextureParams* params) const; 237 const GrTextureParams* params) const;
238 238
239 /** 239 /**
240 * Enum that determines how closely a returned scratch texture must match 240 * Enum that determines how closely a returned scratch texture must match
241 * a provided GrTextureDesc. 241 * a provided GrSurfaceDesc.
242 */ 242 */
243 enum ScratchTexMatch { 243 enum ScratchTexMatch {
244 /** 244 /**
245 * Finds a texture that exactly matches the descriptor. 245 * Finds a texture that exactly matches the descriptor.
246 */ 246 */
247 kExact_ScratchTexMatch, 247 kExact_ScratchTexMatch,
248 /** 248 /**
249 * Finds a texture that approximately matches the descriptor. Will be 249 * Finds a texture that approximately matches the descriptor. Will be
250 * at least as large in width and height as desc specifies. If desc 250 * at least as large in width and height as desc specifies. If desc
251 * specifies that texture is a render target then result will be a 251 * specifies that texture is a render target then result will be a
(...skipping 10 matching lines...) Expand all
262 * It is guaranteed that the same texture will not be returned in subsequent 262 * It is guaranteed that the same texture will not be returned in subsequent
263 * calls until all refs to the texture are dropped. 263 * calls until all refs to the texture are dropped.
264 * 264 *
265 * Textures created by createTexture() hide the complications of 265 * Textures created by createTexture() hide the complications of
266 * tiling non-power-of-two textures on APIs that don't support this (e.g. 266 * tiling non-power-of-two textures on APIs that don't support this (e.g.
267 * unextended GLES2). NPOT scratch textures are not tilable on such APIs. 267 * unextended GLES2). NPOT scratch textures are not tilable on such APIs.
268 * 268 *
269 * internalFlag is a temporary workaround until changes in the internal 269 * internalFlag is a temporary workaround until changes in the internal
270 * architecture are complete. Use the default value. 270 * architecture are complete. Use the default value.
271 */ 271 */
272 GrTexture* refScratchTexture(const GrTextureDesc&, ScratchTexMatch match, 272 GrTexture* refScratchTexture(const GrSurfaceDesc&, ScratchTexMatch match,
273 bool internalFlag = false); 273 bool internalFlag = false);
274 274
275 /** 275 /**
276 * Creates a texture that is outside the cache. Does not count against 276 * Creates a texture that is outside the cache. Does not count against
277 * cache's budget. 277 * cache's budget.
278 * 278 *
279 * Textures created by createTexture() hide the complications of 279 * Textures created by createTexture() hide the complications of
280 * tiling non-power-of-two textures on APIs that don't support this (e.g. 280 * tiling non-power-of-two textures on APIs that don't support this (e.g.
281 * unextended GLES2). NPOT uncached textures are not tilable on such APIs. 281 * unextended GLES2). NPOT uncached textures are not tilable on such APIs.
282 */ 282 */
283 GrTexture* createUncachedTexture(const GrTextureDesc& desc, 283 GrTexture* createUncachedTexture(const GrSurfaceDesc& desc,
284 void* srcData, 284 void* srcData,
285 size_t rowBytes); 285 size_t rowBytes);
286 286
287 /** 287 /**
288 * Returns true if the specified use of an indexed texture is supported. 288 * Returns true if the specified use of an indexed texture is supported.
289 * Support may depend upon whether the texture params indicate that the 289 * Support may depend upon whether the texture params indicate that the
290 * texture will be tiled. Passing NULL for the texture params indicates 290 * texture will be tiled. Passing NULL for the texture params indicates
291 * clamp mode. 291 * clamp mode.
292 */ 292 */
293 bool supportsIndex8PixelConfig(const GrTextureParams*, 293 bool supportsIndex8PixelConfig(const GrTextureParams*,
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 994
995 class AutoRestoreEffects; 995 class AutoRestoreEffects;
996 class AutoCheckFlush; 996 class AutoCheckFlush;
997 /// Sets the paint and returns the target to draw into. The paint can be NUL L in which case the 997 /// Sets the paint and returns the target to draw into. The paint can be NUL L in which case the
998 /// draw state is left unmodified. 998 /// draw state is left unmodified.
999 GrDrawTarget* prepareToDraw(const GrPaint*, BufferedDraw, AutoRestoreEffects *, AutoCheckFlush*); 999 GrDrawTarget* prepareToDraw(const GrPaint*, BufferedDraw, AutoRestoreEffects *, AutoCheckFlush*);
1000 1000
1001 void internalDrawPath(GrDrawTarget* target, bool useAA, const SkPath& path, 1001 void internalDrawPath(GrDrawTarget* target, bool useAA, const SkPath& path,
1002 const GrStrokeInfo& stroke); 1002 const GrStrokeInfo& stroke);
1003 1003
1004 GrTexture* createResizedTexture(const GrTextureDesc& desc, 1004 GrTexture* createResizedTexture(const GrSurfaceDesc& desc,
1005 const GrCacheID& cacheID, 1005 const GrCacheID& cacheID,
1006 const void* srcData, 1006 const void* srcData,
1007 size_t rowBytes, 1007 size_t rowBytes,
1008 bool filter); 1008 bool filter);
1009 1009
1010 GrTexture* createNewScratchTexture(const GrTextureDesc& desc); 1010 GrTexture* createNewScratchTexture(const GrSurfaceDesc& desc);
1011 1011
1012 /** 1012 /**
1013 * These functions create premul <-> unpremul effects if it is possible to g enerate a pair 1013 * These functions create premul <-> unpremul effects if it is possible to g enerate a pair
1014 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O therwise, they 1014 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O therwise, they
1015 * return NULL. 1015 * return NULL.
1016 */ 1016 */
1017 const GrFragmentProcessor* createPMToUPMEffect(GrTexture*, bool swapRAndB, c onst SkMatrix&); 1017 const GrFragmentProcessor* createPMToUPMEffect(GrTexture*, bool swapRAndB, c onst SkMatrix&);
1018 const GrFragmentProcessor* createUPMToPMEffect(GrTexture*, bool swapRAndB, c onst SkMatrix&); 1018 const GrFragmentProcessor* createUPMToPMEffect(GrTexture*, bool swapRAndB, c onst SkMatrix&);
1019 1019
1020 /** 1020 /**
1021 * This callback allows the resource cache to callback into the GrContext 1021 * This callback allows the resource cache to callback into the GrContext
1022 * when the cache is still overbudget after a purge. 1022 * when the cache is still overbudget after a purge.
1023 */ 1023 */
1024 static bool OverbudgetCB(void* data); 1024 static bool OverbudgetCB(void* data);
1025 1025
1026 typedef SkRefCnt INHERITED; 1026 typedef SkRefCnt INHERITED;
1027 }; 1027 };
1028 1028
1029 #endif 1029 #endif
OLDNEW
« no previous file with comments | « gm/xfermodes3.cpp ('k') | include/gpu/GrRenderTarget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698