aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrProxyProvider.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-03-07 13:01:25 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-07 18:22:40 +0000
commit58389b90cd387533021c109eb28da40c08e0ead5 (patch)
tree7744ee9c23c74c61aa00a3cc01eff74cedb8f541 /src/gpu/GrProxyProvider.cpp
parentab6fd7ef91aeca8a3fbbc6c6670cb89a5a7b6d53 (diff)
Initial texture data is never flipped when uploaded.
The first bytes of the data always refer to the pixel accessed by texture coord (0, 0). Change-Id: I708702d90f35b3bc896a48c3c3fd6a0be73f505a Reviewed-on: https://skia-review.googlesource.com/112261 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrProxyProvider.cpp')
-rw-r--r--src/gpu/GrProxyProvider.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index 5b91dd1a0b..536cd137bd 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -176,7 +176,6 @@ sk_sp<GrTextureProxy> GrProxyProvider::createInstantiatedProxy(const GrSurfaceDe
}
sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(const GrSurfaceDesc& desc,
- GrSurfaceOrigin origin,
SkBudgeted budgeted, const void* srcData,
size_t rowBytes) {
ASSERT_SINGLE_OWNER
@@ -188,21 +187,20 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(const GrSurfaceDesc& d
if (srcData) {
GrMipLevel mipLevel = { srcData, rowBytes };
- sk_sp<GrTexture> tex = fResourceProvider->createTexture(
- desc, budgeted, SkBackingFit::kExact, origin, mipLevel);
+ sk_sp<GrTexture> tex =
+ fResourceProvider->createTexture(desc, budgeted, SkBackingFit::kExact, mipLevel);
if (!tex) {
return nullptr;
}
- return this->createWrapped(std::move(tex), origin);
+ return this->createWrapped(std::move(tex), kTopLeft_GrSurfaceOrigin);
}
- return this->createProxy(desc, origin, SkBackingFit::kExact, budgeted);
+ return this->createProxy(desc, kTopLeft_GrSurfaceOrigin, SkBackingFit::kExact, budgeted);
}
sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImage,
GrSurfaceFlags flags,
- GrSurfaceOrigin origin,
int sampleCnt,
SkBudgeted budgeted,
SkBackingFit fit) {
@@ -245,7 +243,7 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImag
desc.fConfig = config;
sk_sp<GrTextureProxy> proxy = this->createLazyProxy(
- [desc, origin, budgeted, srcImage, fit](GrResourceProvider* resourceProvider) {
+ [desc, budgeted, srcImage, fit](GrResourceProvider* resourceProvider) {
if (!resourceProvider) {
// Nothing to clean up here. Once the proxy (and thus lambda) is deleted the ref
// on srcImage will be released.
@@ -255,9 +253,9 @@ sk_sp<GrTextureProxy> GrProxyProvider::createTextureProxy(sk_sp<SkImage> srcImag
SkAssertResult(srcImage->peekPixels(&pixMap));
GrMipLevel mipLevel = { pixMap.addr(), pixMap.rowBytes() };
- return resourceProvider->createTexture(desc, budgeted, fit, origin, mipLevel);
+ return resourceProvider->createTexture(desc, budgeted, fit, mipLevel);
},
- desc, origin, GrMipMapped::kNo, renderTargetFlags, fit, budgeted);
+ desc, kTopLeft_GrSurfaceOrigin, GrMipMapped::kNo, renderTargetFlags, fit, budgeted);
if (fResourceProvider) {
// In order to reuse code we always create a lazy proxy. When we aren't in DDL mode however
@@ -320,9 +318,8 @@ sk_sp<GrTextureProxy> GrProxyProvider::createMipMapProxyFromBitmap(const SkBitma
GrSurfaceDesc desc = GrImageInfoToSurfaceDesc(pixmap.info(), *this->caps());
if (0 == mipmaps->countLevels()) {
- return this->createTextureProxy(baseLevel, kNone_GrSurfaceFlags, kTopLeft_GrSurfaceOrigin,
- 1, SkBudgeted::kYes, SkBackingFit::kExact);
-
+ return this->createTextureProxy(baseLevel, kNone_GrSurfaceFlags, 1, SkBudgeted::kYes,
+ SkBackingFit::kExact);
}
sk_sp<GrTextureProxy> proxy = this->createLazyProxy(
@@ -350,8 +347,7 @@ sk_sp<GrTextureProxy> GrProxyProvider::createMipMapProxyFromBitmap(const SkBitma
SkASSERT(texels[i].fPixels);
}
- return resourceProvider->createTexture(desc, SkBudgeted::kYes,
- kTopLeft_GrSurfaceOrigin, texels.get(),
+ return resourceProvider->createTexture(desc, SkBudgeted::kYes, texels.get(),
mipLevelCount, mipColorMode);
},
desc, kTopLeft_GrSurfaceOrigin, GrMipMapped::kYes, SkBackingFit::kExact,
@@ -400,7 +396,7 @@ sk_sp<GrTextureProxy> GrProxyProvider::createProxy(const GrSurfaceDesc& desc,
}
return sk_sp<GrTextureProxy>(
- new GrTextureProxy(copyDesc, origin, mipMapped, fit, budgeted, nullptr, 0, flags));
+ new GrTextureProxy(copyDesc, origin, mipMapped, fit, budgeted, flags));
}
sk_sp<GrTextureProxy> GrProxyProvider::createWrappedTextureProxy(