aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrGpu.cpp
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2018-06-07 15:07:50 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-07 19:35:01 +0000
commitcd2c3f9055452d413d6be7ea6dc63fd1922fe994 (patch)
treef5040726b08c094f547a85b957814e561b5ba550 /src/gpu/GrGpu.cpp
parentc174cc675cbc190c43372d53fb89711663ac945f (diff)
Require mips to be allocated at texture creation time and disable late allocations.
If we get a non-mipped texture for a draw that wants to be use mip map filter, we will copy the texture into a new mipped texture. Clean up of unused code in the GPU backends for reallocating for mips will be done in a follow up CL. Bug: skia: Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 Reviewed-on: https://skia-review.googlesource.com/132830 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/gpu/GrGpu.cpp')
-rw-r--r--src/gpu/GrGpu.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp
index 5c2864db3c..c72491b3c3 100644
--- a/src/gpu/GrGpu.cpp
+++ b/src/gpu/GrGpu.cpp
@@ -56,7 +56,7 @@ bool GrGpu::IsACopyNeededForTextureParams(const GrCaps* caps, GrTextureProxy* te
// those capabilities are required) force a copy.
if ((textureParams.isRepeated() && texProxy->texPriv().isClampOnly()) ||
(GrSamplerState::Filter::kMipMap == textureParams.filter() &&
- texProxy->texPriv().doesNotSupportMipMaps())) {
+ texProxy->mipMapped() == GrMipMapped::kNo)) {
copyParams->fFilter = GrSamplerState::Filter::kNearest;
copyParams->fWidth = texProxy->width();
copyParams->fHeight = texProxy->height();
@@ -138,13 +138,7 @@ sk_sp<GrTexture> GrGpu::wrapBackendTexture(const GrBackendTexture& backendTex,
backendTex.height() > this->caps()->maxTextureSize()) {
return nullptr;
}
- sk_sp<GrTexture> tex = this->onWrapBackendTexture(backendTex, ownership);
- if (tex && !backendTex.hasMipMaps()) {
- // Ganesh will not ever allocate mipmaps for a wrapped resource. By setting this flag here,
- // it will be propagated to any proxy that wraps this texture.
- tex->texturePriv().setDoesNotSupportMipMaps();
- }
- return tex;
+ return this->onWrapBackendTexture(backendTex, ownership);
}
sk_sp<GrTexture> GrGpu::wrapRenderableBackendTexture(const GrBackendTexture& backendTex,
@@ -163,11 +157,6 @@ sk_sp<GrTexture> GrGpu::wrapRenderableBackendTexture(const GrBackendTexture& bac
return nullptr;
}
sk_sp<GrTexture> tex = this->onWrapRenderableBackendTexture(backendTex, sampleCnt, ownership);
- if (tex && !backendTex.hasMipMaps()) {
- // Ganesh will not ever allocate mipmaps for a wrapped resource. By setting this flag here,
- // it will be propagated to any proxy that wraps this texture.
- tex->texturePriv().setDoesNotSupportMipMaps();
- }
SkASSERT(!tex || tex->asRenderTarget());
return tex;
}