Revert "Reland "Separate compressed and uncompressed texture functions""
This reverts commit c0519233cdd2545a938848336c7d470bfe27fa96.
Reason for revert: breaking google3 cause of abort in constexpr
Original change's description:
> Reland "Separate compressed and uncompressed texture functions"
>
> This is a reland of 9acfb33ad8c6f5fc6097dff57c0de5e51ea590fd
>
> Original change's description:
> > Separate compressed and uncompressed texture functions
> >
> > Change-Id: Iccf31e1e4dbebde8aab4bb9b57cfb0341bb05912
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223802
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
>
> Change-Id: I9f212b7d34cf43216f7d2ec63b959b75fd6a71b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223992
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I9cee240b438a3682911a3c6cddadfe2062447b8c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223995
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index cb2cefa..aa52c00 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -411,10 +411,6 @@
if (kUnknown_GrPixelConfig == config) {
return false;
}
- if (GrPixelConfigIsCompressed(config)) {
- // We have no way to verify these at the moment.
- return true;
- }
SkColorType colorType = GrColorTypeToSkColorType(GrPixelConfigToColorType(config));
if (colorType == kUnknown_SkColorType) {
// We should add support for validating GrColorType with a GrBackendFormat. Currently we
@@ -435,10 +431,6 @@
SkBudgeted budgeted,
GrInternalSurfaceFlags surfaceFlags) {
SkASSERT(validate_backend_format_and_config(this->caps(), format, desc.fConfig));
- if (GrPixelConfigIsCompressed(desc.fConfig)) {
- // Deferred proxies for compressed textures are not supported.
- return nullptr;
- }
if (GrMipMapped::kYes == mipMapped) {
// SkMipMap doesn't include the base level in the level count so we have to add 1
int mipCount = SkMipMap::ComputeLevelCount(desc.fWidth, desc.fHeight) + 1;
@@ -473,27 +465,25 @@
fit, budgeted, surfaceFlags));
}
-sk_sp<GrTextureProxy> GrProxyProvider::createCompressedTextureProxy(
- int width, int height, SkBudgeted budgeted, SkImage::CompressionType compressionType,
- sk_sp<SkData> data) {
- GrBackendFormat format = this->caps()->getBackendFormatFromCompressionType(compressionType);
-
- GrSurfaceDesc desc;
- desc.fConfig = GrCompressionTypePixelConfig(compressionType);
- desc.fWidth = width;
- desc.fHeight = height;
-
+sk_sp<GrTextureProxy> GrProxyProvider::createProxy(sk_sp<SkData> data, const GrSurfaceDesc& desc) {
if (!this->caps()->isConfigTexturable(desc.fConfig)) {
return nullptr;
}
+ const GrColorType ct = GrPixelConfigToColorType(desc.fConfig);
+ const GrBackendFormat format =
+ this->caps()->getBackendFormatFromGrColorType(ct, GrSRGBEncoded::kNo);
+
sk_sp<GrTextureProxy> proxy = this->createLazyProxy(
- [width, height, compressionType, budgeted, data](GrResourceProvider* resourceProvider) {
- return LazyInstantiationResult(resourceProvider->createCompressedTexture(
- width, height, compressionType, budgeted, data.get()));
- },
- format, desc, kTopLeft_GrSurfaceOrigin, GrMipMapped::kNo, SkBackingFit::kExact,
- SkBudgeted::kYes);
+ [desc, data](GrResourceProvider* resourceProvider) {
+ GrMipLevel texels;
+ texels.fPixels = data->data();
+ texels.fRowBytes = GrBytesPerPixel(desc.fConfig)*desc.fWidth;
+ return LazyInstantiationResult(
+ resourceProvider->createTexture(desc, SkBudgeted::kYes, &texels, 1));
+ },
+ format, desc, kTopLeft_GrSurfaceOrigin, GrMipMapped::kNo, SkBackingFit::kExact,
+ SkBudgeted::kYes);
if (!proxy) {
return nullptr;