OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 "SkBitmap.h" | 8 #include "SkBitmap.h" |
9 #include "SkBitmapCache.h" | 9 #include "SkBitmapCache.h" |
10 #include "SkImage_Base.h" | 10 #include "SkImage_Base.h" |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kYUV_LockTexturePath, | 296 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kYUV_LockTexturePath, |
297 kLockTexturePathCount); | 297 kLockTexturePathCount); |
298 return set_key_and_return(tex, key); | 298 return set_key_and_return(tex, key); |
299 } | 299 } |
300 } | 300 } |
301 | 301 |
302 // 5. Ask the generator to return RGB(A) data, which the GPU can convert | 302 // 5. Ask the generator to return RGB(A) data, which the GPU can convert |
303 SkBitmap bitmap; | 303 SkBitmap bitmap; |
304 if (this->tryLockAsBitmap(&bitmap, client, chint)) { | 304 if (this->tryLockAsBitmap(&bitmap, client, chint)) { |
305 GrTexture* tex = nullptr; | 305 GrTexture* tex = nullptr; |
| 306 // disable mipmapping until we generate anisotropic mipmap levels |
| 307 willBeMipped = false; |
306 if (willBeMipped) { | 308 if (willBeMipped) { |
307 tex = GrGenerateMipMapsAndUploadToTexture(ctx, bitmap); | 309 tex = GrGenerateMipMapsAndUploadToTexture(ctx, bitmap); |
308 } | 310 } else { |
309 if (!tex) { | |
310 tex = GrUploadBitmapToTexture(ctx, bitmap); | 311 tex = GrUploadBitmapToTexture(ctx, bitmap); |
311 } | 312 } |
312 if (tex) { | 313 if (tex) { |
313 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kRGBA_LockTexturePath, | 314 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kRGBA_LockTexturePath, |
314 kLockTexturePathCount); | 315 kLockTexturePathCount); |
315 return set_key_and_return(tex, key); | 316 return set_key_and_return(tex, key); |
316 } | 317 } |
317 } | 318 } |
318 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kFailure_LockTexturePath, | 319 SK_HISTOGRAM_ENUMERATION("LockTexturePath", kFailure_LockTexturePath, |
319 kLockTexturePathCount); | 320 kLockTexturePathCount); |
(...skipping 12 matching lines...) Expand all Loading... |
332 } | 333 } |
333 | 334 |
334 #else | 335 #else |
335 | 336 |
336 GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, const GrTextureParam
s&, | 337 GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, const GrTextureParam
s&, |
337 const SkImage* client, SkImage::Cach
ingHint) { | 338 const SkImage* client, SkImage::Cach
ingHint) { |
338 return nullptr; | 339 return nullptr; |
339 } | 340 } |
340 | 341 |
341 #endif | 342 #endif |
OLD | NEW |