aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrProxyProvider.cpp
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2018-02-02 15:48:33 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-02 21:16:19 +0000
commitfb3abcd8c335132b6ad8434a171516102bbf4495 (patch)
treea61244af55debc848e27716742f209dc29d63bc1 /src/gpu/GrProxyProvider.cpp
parent1d8726fbed346dd2b96d4ef3106262e3d3dee5f4 (diff)
Update GrYUVGenerator to upload to texture vs use writePixels
Bug: skia: Change-Id: I891ba25d2018008a32ef01608da9209cf2642b2e Reviewed-on: https://skia-review.googlesource.com/102902 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrProxyProvider.cpp')
-rw-r--r--src/gpu/GrProxyProvider.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index ec05243d18..e453246b62 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -182,7 +182,8 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(const GrSurfaceDesc& d
if (srcData) {
GrMipLevel mipLevel = { srcData, rowBytes };
- sk_sp<GrTexture> tex = fResourceProvider->createTexture(desc, budgeted, mipLevel);
+ sk_sp<GrTexture> tex = fResourceProvider->createTexture(desc, budgeted,
+ SkBackingFit::kExact, mipLevel);
if (!tex) {
return nullptr;
}
@@ -197,7 +198,8 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImag
GrSurfaceFlags flags,
GrSurfaceOrigin origin,
int sampleCnt,
- SkBudgeted budgeted) {
+ SkBudgeted budgeted,
+ SkBackingFit fit) {
ASSERT_SINGLE_OWNER
SkASSERT(srcImage);
@@ -214,7 +216,7 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImag
desc.fConfig = SkImageInfo2GrPixelConfig(as_IB(srcImage)->onImageInfo(), *this->caps());
sk_sp<GrTextureProxy> proxy = this->createLazyProxy(
- [desc, budgeted, srcImage]
+ [desc, budgeted, srcImage, fit]
(GrResourceProvider* resourceProvider, GrSurfaceOrigin* /*outOrigin*/) {
if (!resourceProvider) {
// Nothing to clean up here. Once the proxy (and thus lambda) is deleted the ref
@@ -225,8 +227,8 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImag
SkAssertResult(srcImage->peekPixels(&pixMap));
GrMipLevel mipLevel = { pixMap.addr(), pixMap.rowBytes() };
- return resourceProvider->createTexture(desc, budgeted, mipLevel);
- }, desc, GrMipMapped::kNo, SkBackingFit::kExact, budgeted);
+ return resourceProvider->createTexture(desc, budgeted, fit, mipLevel);
+ }, desc, GrMipMapped::kNo, fit, budgeted);
if (fResourceProvider) {
// In order to reuse code we always create a lazy proxy. When we aren't in DDL mode however