Ensure that GrCacheID::Key instances are fully initialized.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7036046

git-svn-id: http://skia.googlecode.com/svn/trunk@6971 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
bsalomon@google.com 2013-01-02 19:29:57 +00:00
parent a59df04b68
commit 10a9fb86a9
2 changed files with 3 additions and 0 deletions

View File

@ -29,6 +29,7 @@ void gen_cache_id(int width, int height, int sampleCnt, GrCacheID* cacheID) {
keyData[0] = width;
keyData[1] = height;
keyData[2] = sampleCnt;
memset(keyData + 3, 0, sizeof(key) - 3 * sizeof(uint32_t));
GR_STATIC_ASSERT(sizeof(key) >= 3 * sizeof(uint32_t));
cacheID->reset(gStencilBufferDomain, key);
}

View File

@ -69,6 +69,8 @@ static void generate_bitmap_cache_id(const SkBitmap& bitmap, GrCacheID* id) {
memcpy(key.fData8 + 4, &width, 2);
memcpy(key.fData8 + 6, &height, 2);
memcpy(key.fData8 + 8, &offset, sizeof(size_t));
static const size_t kKeyDataSize = 8 + sizeof(size_t);
memset(key.fData8 + kKeyDataSize, 0, sizeof(key) - kKeyDataSize);
GR_STATIC_ASSERT(sizeof(key) >= 8 + sizeof(size_t));
static const GrCacheID::Domain gBitmapTextureDomain = GrCacheID::GenerateDomain();
id->reset(gBitmapTextureDomain, key);