OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 #include "GrContext.h" | 9 #include "GrContext.h" |
10 | 10 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 return true; | 118 return true; |
119 } | 119 } |
120 | 120 |
121 void GrContext::initCommon() { | 121 void GrContext::initCommon() { |
122 fResourceCache = SkNEW(GrResourceCache); | 122 fResourceCache = SkNEW(GrResourceCache); |
123 fResourceCache->setOverBudgetCallback(OverBudgetCB, this); | 123 fResourceCache->setOverBudgetCallback(OverBudgetCB, this); |
124 fResourceProvider = SkNEW_ARGS(GrResourceProvider, (fGpu, fResourceCache)); | 124 fResourceProvider = SkNEW_ARGS(GrResourceProvider, (fGpu, fResourceCache)); |
125 | 125 |
126 fLayerCache.reset(SkNEW_ARGS(GrLayerCache, (this))); | 126 fLayerCache.reset(SkNEW_ARGS(GrLayerCache, (this))); |
127 | 127 |
128 fAARectRenderer = SkNEW_ARGS(GrAARectRenderer, (fGpu)); | 128 fAARectRenderer = SkNEW(GrAARectRenderer); |
129 fOvalRenderer = SkNEW_ARGS(GrOvalRenderer, (fGpu)); | 129 fOvalRenderer = SkNEW(GrOvalRenderer); |
130 | 130 |
131 fDidTestPMConversions = false; | 131 fDidTestPMConversions = false; |
132 | 132 |
133 this->setupDrawBuffer(); | 133 this->setupDrawBuffer(); |
134 | 134 |
135 // GrBatchFontCache will eventually replace GrFontCache | 135 // GrBatchFontCache will eventually replace GrFontCache |
136 fBatchFontCache = SkNEW_ARGS(GrBatchFontCache, (this)); | 136 fBatchFontCache = SkNEW_ARGS(GrBatchFontCache, (this)); |
137 | 137 |
138 fTextBlobCache.reset(SkNEW_ARGS(GrTextBlobCache, (TextBlobCacheOverBudgetCB,
this))); | 138 fTextBlobCache.reset(SkNEW_ARGS(GrTextBlobCache, (TextBlobCacheOverBudgetCB,
this))); |
139 } | 139 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 | 179 |
180 delete fDrawBuffer; | 180 delete fDrawBuffer; |
181 fDrawBuffer = NULL; | 181 fDrawBuffer = NULL; |
182 | 182 |
183 delete fDrawBufferVBAllocPool; | 183 delete fDrawBufferVBAllocPool; |
184 fDrawBufferVBAllocPool = NULL; | 184 fDrawBufferVBAllocPool = NULL; |
185 | 185 |
186 delete fDrawBufferIBAllocPool; | 186 delete fDrawBufferIBAllocPool; |
187 fDrawBufferIBAllocPool = NULL; | 187 fDrawBufferIBAllocPool = NULL; |
188 | 188 |
189 fAARectRenderer->reset(); | |
190 fOvalRenderer->reset(); | |
191 | |
192 fBatchFontCache->freeAll(); | 189 fBatchFontCache->freeAll(); |
193 fLayerCache->freeAll(); | 190 fLayerCache->freeAll(); |
194 fTextBlobCache->freeAll(); | 191 fTextBlobCache->freeAll(); |
195 } | 192 } |
196 | 193 |
197 void GrContext::resetContext(uint32_t state) { | 194 void GrContext::resetContext(uint32_t state) { |
198 fGpu->markContextDirty(state); | 195 fGpu->markContextDirty(state); |
199 } | 196 } |
200 | 197 |
201 void GrContext::freeGpuResources() { | 198 void GrContext::freeGpuResources() { |
202 this->flush(); | 199 this->flush(); |
203 | 200 |
204 if (fDrawBuffer) { | 201 if (fDrawBuffer) { |
205 fDrawBuffer->purgeResources(); | 202 fDrawBuffer->purgeResources(); |
206 } | 203 } |
207 | 204 |
208 fAARectRenderer->reset(); | |
209 fOvalRenderer->reset(); | |
210 | |
211 fBatchFontCache->freeAll(); | 205 fBatchFontCache->freeAll(); |
212 fLayerCache->freeAll(); | 206 fLayerCache->freeAll(); |
213 // a path renderer may be holding onto resources | 207 // a path renderer may be holding onto resources |
214 SkSafeSetNull(fPathRendererChain); | 208 SkSafeSetNull(fPathRendererChain); |
215 SkSafeSetNull(fSoftwarePathRenderer); | 209 SkSafeSetNull(fSoftwarePathRenderer); |
216 | 210 |
217 fResourceCache->purgeAllUnlocked(); | 211 fResourceCache->purgeAllUnlocked(); |
218 } | 212 } |
219 | 213 |
220 void GrContext::getResourceCacheUsage(int* resourceCount, size_t* resourceBytes)
const { | 214 void GrContext::getResourceCacheUsage(int* resourceCount, size_t* resourceBytes)
const { |
(...skipping 1612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1833 | 1827 |
1834 fDrawBuffer = SkNEW_ARGS(GrInOrderDrawBuffer, (this, | 1828 fDrawBuffer = SkNEW_ARGS(GrInOrderDrawBuffer, (this, |
1835 fDrawBufferVBAllocPool, | 1829 fDrawBufferVBAllocPool, |
1836 fDrawBufferIBAllocPool)); | 1830 fDrawBufferIBAllocPool)); |
1837 } | 1831 } |
1838 | 1832 |
1839 GrDrawTarget* GrContext::getTextTarget() { | 1833 GrDrawTarget* GrContext::getTextTarget() { |
1840 return this->prepareToDraw(); | 1834 return this->prepareToDraw(); |
1841 } | 1835 } |
1842 | 1836 |
1843 const GrIndexBuffer* GrContext::getQuadIndexBuffer() const { | |
1844 return fGpu->getQuadIndexBuffer(); | |
1845 } | |
1846 | |
1847 namespace { | 1837 namespace { |
1848 void test_pm_conversions(GrContext* ctx, int* pmToUPMValue, int* upmToPMValue) { | 1838 void test_pm_conversions(GrContext* ctx, int* pmToUPMValue, int* upmToPMValue) { |
1849 GrConfigConversionEffect::PMConversion pmToUPM; | 1839 GrConfigConversionEffect::PMConversion pmToUPM; |
1850 GrConfigConversionEffect::PMConversion upmToPM; | 1840 GrConfigConversionEffect::PMConversion upmToPM; |
1851 GrConfigConversionEffect::TestForPreservingPMConversions(ctx, &pmToUPM, &upm
ToPM); | 1841 GrConfigConversionEffect::TestForPreservingPMConversions(ctx, &pmToUPM, &upm
ToPM); |
1852 *pmToUPMValue = pmToUPM; | 1842 *pmToUPMValue = pmToUPM; |
1853 *upmToPMValue = upmToPM; | 1843 *upmToPMValue = upmToPM; |
1854 } | 1844 } |
1855 } | 1845 } |
1856 | 1846 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1909 fDrawBuffer->addGpuTraceMarker(marker); | 1899 fDrawBuffer->addGpuTraceMarker(marker); |
1910 } | 1900 } |
1911 } | 1901 } |
1912 | 1902 |
1913 void GrContext::removeGpuTraceMarker(const GrGpuTraceMarker* marker) { | 1903 void GrContext::removeGpuTraceMarker(const GrGpuTraceMarker* marker) { |
1914 fGpu->removeGpuTraceMarker(marker); | 1904 fGpu->removeGpuTraceMarker(marker); |
1915 if (fDrawBuffer) { | 1905 if (fDrawBuffer) { |
1916 fDrawBuffer->removeGpuTraceMarker(marker); | 1906 fDrawBuffer->removeGpuTraceMarker(marker); |
1917 } | 1907 } |
1918 } | 1908 } |
OLD | NEW |