| OLD | NEW |
| 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 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 bool enableDistanceFieldFonts); | 211 bool enableDistanceFieldFonts); |
| 212 | 212 |
| 213 /////////////////////////////////////////////////////////////////////////// | 213 /////////////////////////////////////////////////////////////////////////// |
| 214 // Textures | 214 // Textures |
| 215 | 215 |
| 216 /** | 216 /** |
| 217 * Creates a new texture in the resource cache and returns it. The caller ow
ns a | 217 * Creates a new texture in the resource cache and returns it. The caller ow
ns a |
| 218 * ref on the returned texture which must be balanced by a call to unref. | 218 * ref on the returned texture which must be balanced by a call to unref. |
| 219 * | 219 * |
| 220 * @param desc Description of the texture properties. | 220 * @param desc Description of the texture properties. |
| 221 * @param srcData Pointer to the pixel values. | 221 * @param budgeted Does the texture count against the resource cache budget
? |
| 222 * @param srcData Pointer to the pixel values (optional). |
| 222 * @param rowBytes The number of bytes between rows of the texture. Zero | 223 * @param rowBytes The number of bytes between rows of the texture. Zero |
| 223 * implies tightly packed rows. For compressed pixel config
s, this | 224 * implies tightly packed rows. For compressed pixel config
s, this |
| 224 * field is ignored. | 225 * field is ignored. |
| 225 */ | 226 */ |
| 226 GrTexture* createTexture(const GrSurfaceDesc& desc, const void* srcData, siz
e_t rowBytes); | 227 GrTexture* createTexture(const GrSurfaceDesc& desc, bool budgeted, const voi
d* srcData, |
| 228 size_t rowBytes); |
| 227 | 229 |
| 228 GrTexture* createTexture(const GrSurfaceDesc& desc) { | 230 GrTexture* createTexture(const GrSurfaceDesc& desc, bool budgeted) { |
| 229 return this->createTexture(desc, NULL, 0); | 231 return this->createTexture(desc, budgeted, NULL, 0); |
| 230 } | 232 } |
| 231 | 233 |
| 232 /** | 234 /** |
| 233 * Creates a texture that is outside the cache. Does not count against | 235 * DEPRECATED: use createTexture(). |
| 234 * cache's budget. | |
| 235 * | |
| 236 * TODO: Add a budgeted param to createTexture and remove this function. | |
| 237 */ | 236 */ |
| 238 GrTexture* createUncachedTexture(const GrSurfaceDesc& desc, void* srcData, s
ize_t rowBytes); | 237 GrTexture* createUncachedTexture(const GrSurfaceDesc& desc, void* srcData, s
ize_t rowBytes) { |
| 238 return this->createTexture(desc, false, srcData, rowBytes); |
| 239 } |
| 239 | 240 |
| 240 /** | 241 /** |
| 241 * Enum that determines how closely a returned scratch texture must match | 242 * Enum that determines how closely a returned scratch texture must match |
| 242 * a provided GrSurfaceDesc. | 243 * a provided GrSurfaceDesc. |
| 243 */ | 244 */ |
| 244 enum ScratchTexMatch { | 245 enum ScratchTexMatch { |
| 245 /** | 246 /** |
| 246 * Finds a texture that exactly matches the descriptor. | 247 * Finds a texture that exactly matches the descriptor. |
| 247 */ | 248 */ |
| 248 kExact_ScratchTexMatch, | 249 kExact_ScratchTexMatch, |
| (...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 GrDrawTarget* prepareToDraw(GrPipelineBuilder*, const GrPaint* paint, const
AutoCheckFlush*); | 831 GrDrawTarget* prepareToDraw(GrPipelineBuilder*, const GrPaint* paint, const
AutoCheckFlush*); |
| 831 | 832 |
| 832 void internalDrawPath(GrDrawTarget*, | 833 void internalDrawPath(GrDrawTarget*, |
| 833 GrPipelineBuilder*, | 834 GrPipelineBuilder*, |
| 834 const SkMatrix& viewMatrix, | 835 const SkMatrix& viewMatrix, |
| 835 GrColor, | 836 GrColor, |
| 836 bool useAA, | 837 bool useAA, |
| 837 const SkPath&, | 838 const SkPath&, |
| 838 const GrStrokeInfo&); | 839 const GrStrokeInfo&); |
| 839 | 840 |
| 840 // TODO: Move this out of GrContext. | 841 GrTexture* internalRefScratchTexture(const GrSurfaceDesc&, uint32_t flags); |
| 841 GrTexture* createResizedTexture(const GrSurfaceDesc&, | |
| 842 const GrContentKey& origKey, | |
| 843 const void* srcData, | |
| 844 size_t rowBytes, | |
| 845 bool filter); | |
| 846 | 842 |
| 847 /** | 843 /** |
| 848 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair | 844 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair |
| 849 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O
therwise, they | 845 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O
therwise, they |
| 850 * return NULL. | 846 * return NULL. |
| 851 */ | 847 */ |
| 852 const GrFragmentProcessor* createPMToUPMEffect(GrTexture*, bool swapRAndB, c
onst SkMatrix&); | 848 const GrFragmentProcessor* createPMToUPMEffect(GrTexture*, bool swapRAndB, c
onst SkMatrix&); |
| 853 const GrFragmentProcessor* createUPMToPMEffect(GrTexture*, bool swapRAndB, c
onst SkMatrix&); | 849 const GrFragmentProcessor* createUPMToPMEffect(GrTexture*, bool swapRAndB, c
onst SkMatrix&); |
| 854 | 850 |
| 855 /** | 851 /** |
| 856 * This callback allows the resource cache to callback into the GrContext | 852 * This callback allows the resource cache to callback into the GrContext |
| 857 * when the cache is still over budget after a purge. | 853 * when the cache is still over budget after a purge. |
| 858 */ | 854 */ |
| 859 static void OverBudgetCB(void* data); | 855 static void OverBudgetCB(void* data); |
| 860 | 856 |
| 861 typedef SkRefCnt INHERITED; | 857 typedef SkRefCnt INHERITED; |
| 862 }; | 858 }; |
| 863 | 859 |
| 864 #endif | 860 #endif |
| OLD | NEW |