| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 #include "SkGpuDevice.h" | 8 #include "SkGpuDevice.h" |
| 9 | 9 |
| 10 #include "effects/GrBicubicEffect.h" | 10 #include "effects/GrBicubicEffect.h" |
| (...skipping 1843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1854 return false; | 1854 return false; |
| 1855 } | 1855 } |
| 1856 | 1856 |
| 1857 SkPicture::AccelData::Key key = SkLayerInfo::ComputeKey(); | 1857 SkPicture::AccelData::Key key = SkLayerInfo::ComputeKey(); |
| 1858 | 1858 |
| 1859 const SkPicture::AccelData* data = mainPicture->EXPERIMENTAL_getAccelData(ke
y); | 1859 const SkPicture::AccelData* data = mainPicture->EXPERIMENTAL_getAccelData(ke
y); |
| 1860 if (!data) { | 1860 if (!data) { |
| 1861 return false; | 1861 return false; |
| 1862 } | 1862 } |
| 1863 | 1863 |
| 1864 SkRect clipBounds; | 1864 const SkLayerInfo *gpuData = static_cast<const SkLayerInfo*>(data); |
| 1865 if (!mainCanvas->getClipBounds(&clipBounds)) { | 1865 if (0 == gpuData->numBlocks()) { |
| 1866 return true; | 1866 return false; |
| 1867 } | 1867 } |
| 1868 | 1868 |
| 1869 SkAutoCanvasMatrixPaint acmp(mainCanvas, matrix, paint, mainPicture->cullRec
t()); | |
| 1870 | |
| 1871 const SkMatrix initialMatrix = mainCanvas->getTotalMatrix(); | |
| 1872 | |
| 1873 SkTDArray<GrHoistedLayer> atlasedNeedRendering, atlasedRecycled; | 1869 SkTDArray<GrHoistedLayer> atlasedNeedRendering, atlasedRecycled; |
| 1874 | 1870 |
| 1871 SkIRect iBounds; |
| 1872 if (!mainCanvas->getClipDeviceBounds(&iBounds)) { |
| 1873 return false; |
| 1874 } |
| 1875 |
| 1876 SkRect clipBounds = SkRect::Make(iBounds); |
| 1877 |
| 1878 SkMatrix initialMatrix = mainCanvas->getTotalMatrix(); |
| 1879 |
| 1875 GrLayerHoister::FindLayersToAtlas(fContext, mainPicture, | 1880 GrLayerHoister::FindLayersToAtlas(fContext, mainPicture, |
| 1876 initialMatrix, | 1881 initialMatrix, |
| 1877 clipBounds, | 1882 clipBounds, |
| 1878 &atlasedNeedRendering, &atlasedRecycled, | 1883 &atlasedNeedRendering, &atlasedRecycled, |
| 1879 fRenderTarget->numSamples()); | 1884 fRenderTarget->numSamples()); |
| 1880 | 1885 |
| 1881 GrLayerHoister::DrawLayersToAtlas(fContext, atlasedNeedRendering); | 1886 GrLayerHoister::DrawLayersToAtlas(fContext, atlasedNeedRendering); |
| 1882 | 1887 |
| 1883 SkTDArray<GrHoistedLayer> needRendering, recycled; | 1888 SkTDArray<GrHoistedLayer> needRendering, recycled; |
| 1884 | 1889 |
| 1890 SkAutoCanvasMatrixPaint acmp(mainCanvas, matrix, paint, mainPicture->cullRec
t()); |
| 1891 |
| 1885 GrLayerHoister::FindLayersToHoist(fContext, mainPicture, | 1892 GrLayerHoister::FindLayersToHoist(fContext, mainPicture, |
| 1886 initialMatrix, | 1893 initialMatrix, |
| 1887 clipBounds, | 1894 clipBounds, |
| 1888 &needRendering, &recycled, | 1895 &needRendering, &recycled, |
| 1889 fRenderTarget->numSamples()); | 1896 fRenderTarget->numSamples()); |
| 1890 | 1897 |
| 1891 GrLayerHoister::DrawLayers(fContext, needRendering); | 1898 GrLayerHoister::DrawLayers(fContext, needRendering); |
| 1892 | 1899 |
| 1893 // Render the entire picture using new layers | 1900 // Render the entire picture using new layers |
| 1894 GrRecordReplaceDraw(mainPicture, mainCanvas, fContext->getLayerCache(), | 1901 GrRecordReplaceDraw(mainPicture, mainCanvas, fContext->getLayerCache(), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1905 #endif | 1912 #endif |
| 1906 } | 1913 } |
| 1907 | 1914 |
| 1908 SkImageFilter::Cache* SkGpuDevice::getImageFilterCache() { | 1915 SkImageFilter::Cache* SkGpuDevice::getImageFilterCache() { |
| 1909 // We always return a transient cache, so it is freed after each | 1916 // We always return a transient cache, so it is freed after each |
| 1910 // filter traversal. | 1917 // filter traversal. |
| 1911 return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); | 1918 return SkImageFilter::Cache::Create(kDefaultImageFilterCacheSize); |
| 1912 } | 1919 } |
| 1913 | 1920 |
| 1914 #endif | 1921 #endif |
| OLD | NEW |