OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 "GrTextureStripAtlas.h" | 9 #include "GrTextureStripAtlas.h" |
10 #include "SkPixelRef.h" | 10 #include "SkPixelRef.h" |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 return row; | 189 return row; |
190 } | 190 } |
191 | 191 |
192 void GrTextureStripAtlas::lockTexture() { | 192 void GrTextureStripAtlas::lockTexture() { |
193 GrTextureParams params; | 193 GrTextureParams params; |
194 GrSurfaceDesc texDesc; | 194 GrSurfaceDesc texDesc; |
195 texDesc.fWidth = fDesc.fWidth; | 195 texDesc.fWidth = fDesc.fWidth; |
196 texDesc.fHeight = fDesc.fHeight; | 196 texDesc.fHeight = fDesc.fHeight; |
197 texDesc.fConfig = fDesc.fConfig; | 197 texDesc.fConfig = fDesc.fConfig; |
198 | 198 |
199 static const GrCacheID::Domain gTextureStripAtlasDomain = GrCacheID::Generat
eDomain(); | 199 static const GrContentKey::Domain kDomain = GrContentKey::GenerateDomain(); |
200 GrCacheID::Key key; | 200 GrContentKey key; |
201 *key.fData32 = fCacheKey; | 201 GrContentKey::Builder builder(&key, kDomain, 1); |
202 memset(key.fData32 + 1, 0, sizeof(key) - sizeof(uint32_t)); | 202 builder[0] = static_cast<uint32_t>(fCacheKey); |
203 GrCacheID cacheID(gTextureStripAtlasDomain, key); | 203 builder.finish(); |
204 | 204 |
205 fTexture = fDesc.fContext->findAndRefTexture(texDesc, cacheID, ¶ms); | 205 fTexture = fDesc.fContext->findAndRefTexture(texDesc, key, ¶ms); |
206 if (NULL == fTexture) { | 206 if (NULL == fTexture) { |
207 fTexture = fDesc.fContext->createTexture(¶ms, texDesc, cacheID, NULL
, 0); | 207 fTexture = fDesc.fContext->createTexture(¶ms, texDesc, key, NULL, 0)
; |
208 // This is a new texture, so all of our cache info is now invalid | 208 // This is a new texture, so all of our cache info is now invalid |
209 this->initLRU(); | 209 this->initLRU(); |
210 fKeyTable.rewind(); | 210 fKeyTable.rewind(); |
211 } | 211 } |
212 SkASSERT(fTexture); | 212 SkASSERT(fTexture); |
213 } | 213 } |
214 | 214 |
215 void GrTextureStripAtlas::unlockTexture() { | 215 void GrTextureStripAtlas::unlockTexture() { |
216 SkASSERT(fTexture && 0 == fLockedRows); | 216 SkASSERT(fTexture && 0 == fLockedRows); |
217 fTexture->unref(); | 217 fTexture->unref(); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 | 338 |
339 // If we have locked rows, we should have a locked texture, otherwise | 339 // If we have locked rows, we should have a locked texture, otherwise |
340 // it should be unlocked | 340 // it should be unlocked |
341 if (fLockedRows == 0) { | 341 if (fLockedRows == 0) { |
342 SkASSERT(NULL == fTexture); | 342 SkASSERT(NULL == fTexture); |
343 } else { | 343 } else { |
344 SkASSERT(fTexture); | 344 SkASSERT(fTexture); |
345 } | 345 } |
346 } | 346 } |
347 #endif | 347 #endif |
OLD | NEW |