bump the size of the atlas id to 64 bits
BUG=skia:
Review URL: https://codereview.chromium.org/1253003005
diff --git a/src/gpu/GrBatchAtlas.h b/src/gpu/GrBatchAtlas.h
index 83ef5ec..ce3e40a 100644
--- a/src/gpu/GrBatchAtlas.h
+++ b/src/gpu/GrBatchAtlas.h
@@ -24,7 +24,7 @@
typedef uint64_t BatchToken;
// An AtlasID is an opaque handle which callers can use to determine if the atlas contains
// a specific piece of data
- typedef uint32_t AtlasID;
+ typedef uint64_t AtlasID;
static const uint32_t kInvalidAtlasID = 0;
static const uint64_t kInvalidAtlasGeneration = 0;
@@ -107,12 +107,13 @@
}
private:
- static int GetIndexFromID(AtlasID id) {
+ static uint32_t GetIndexFromID(AtlasID id) {
return id & 0xffff;
}
- static int GetGenerationFromID(AtlasID id) {
- return (id >> 16) & 0xffff;
+ // top 48 bits are reserved for the generation ID
+ static uint64_t GetGenerationFromID(AtlasID id) {
+ return (id >> 16) & 0xffffffffffff;
}
inline void updatePlot(GrBatchTarget*, AtlasID*, BatchPlot*);
@@ -122,10 +123,10 @@
inline void processEviction(AtlasID);
GrTexture* fTexture;
- int fNumPlotsX;
- int fNumPlotsY;
- int fPlotWidth;
- int fPlotHeight;
+ uint32_t fNumPlotsX;
+ uint32_t fNumPlotsY;
+ uint32_t fPlotWidth;
+ uint32_t fPlotHeight;
size_t fBPP;
uint64_t fAtlasGeneration;