Index: src/gpu/GrBatchFontCache.cpp |
diff --git a/src/gpu/GrBatchFontCache.cpp b/src/gpu/GrBatchFontCache.cpp |
index 88b3a4db17044c49616ecbf03917776ab0c412f8..30dd0b6f8a94a7d8cf5c4dc9b9c157eb89c29e1f 100644 |
--- a/src/gpu/GrBatchFontCache.cpp |
+++ b/src/gpu/GrBatchFontCache.cpp |
@@ -7,7 +7,6 @@ |
#include "GrBatchFontCache.h" |
#include "GrContext.h" |
-#include "GrFontAtlasSizes.h" |
#include "GrGpu.h" |
#include "GrRectanizer.h" |
#include "GrResourceProvider.h" |
@@ -22,15 +21,11 @@ bool GrBatchFontCache::initAtlas(GrMaskFormat format) { |
int index = MaskFormatToAtlasIndex(format); |
if (!fAtlases[index]) { |
GrPixelConfig config = MaskFormatToPixelConfig(format); |
- int width = GR_FONT_ATLAS_TEXTURE_WIDTH; |
- int height = GR_FONT_ATLAS_TEXTURE_HEIGHT; |
- int numPlotsX = GR_FONT_ATLAS_NUM_PLOTS_X; |
- int numPlotsY = GR_FONT_ATLAS_NUM_PLOTS_Y; |
- |
- if (kA8_GrMaskFormat == format) { |
- width = GR_FONT_ATLAS_A8_TEXTURE_WIDTH; |
- numPlotsX = GR_FONT_ATLAS_A8_NUM_PLOTS_X; |
- } |
+ int width = fAtlasConfigs[index].fWidth; |
+ int height = fAtlasConfigs[index].fHeight; |
+ int numPlotsX = fAtlasConfigs[index].numPlotsX(); |
+ int numPlotsY = fAtlasConfigs[index].numPlotsY(); |
+ |
fAtlases[index] = |
fContext->resourceProvider()->createAtlas(config, width, height, |
numPlotsX, numPlotsY, |
@@ -49,6 +44,22 @@ GrBatchFontCache::GrBatchFontCache(GrContext* context) |
for (int i = 0; i < kMaskFormatCount; ++i) { |
fAtlases[i] = NULL; |
} |
+ |
+ // setup default atlas configs |
+ fAtlasConfigs[kA8_GrMaskFormat].fWidth = 2048; |
+ fAtlasConfigs[kA8_GrMaskFormat].fHeight = 2048; |
+ fAtlasConfigs[kA8_GrMaskFormat].fPlotWidth = 512; |
+ fAtlasConfigs[kA8_GrMaskFormat].fPlotHeight = 256; |
+ |
+ fAtlasConfigs[kA565_GrMaskFormat].fWidth = 1024; |
+ fAtlasConfigs[kA565_GrMaskFormat].fHeight = 2048; |
+ fAtlasConfigs[kA565_GrMaskFormat].fPlotWidth = 256; |
+ fAtlasConfigs[kA565_GrMaskFormat].fPlotHeight = 256; |
+ |
+ fAtlasConfigs[kARGB_GrMaskFormat].fWidth = 1024; |
+ fAtlasConfigs[kARGB_GrMaskFormat].fHeight = 2048; |
+ fAtlasConfigs[kARGB_GrMaskFormat].fPlotWidth = 256; |
+ fAtlasConfigs[kARGB_GrMaskFormat].fPlotHeight = 256; |
} |
GrBatchFontCache::~GrBatchFontCache() { |
@@ -114,6 +125,18 @@ void GrBatchFontCache::dump() const { |
++gDumpCount; |
} |
+void GrBatchFontCache::setAtlasSizes_ForTesting(const GrBatchAtlasConfig configs[3]) { |
+ // delete any old atlases, this should be safe to do as long as we are not in the middle of a |
+ // flush |
+ for (int i = 0; i < kMaskFormatCount; i++) { |
+ if (fAtlases[i]) { |
+ SkDELETE(fAtlases[i]); |
+ fAtlases[i] = NULL; |
+ } |
+ } |
+ memcpy(fAtlasConfigs, configs, sizeof(fAtlasConfigs)); |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
/* |