Revert "Add Ganesh support for LUM16F"
This reverts commit 2f6c8af73a87d60e97ec2667a39cf597e1f463b2.
Reason for revert: Failing on some bots
Original change's description:
> Add Ganesh support for LUM16F
>
> When Chrome has a LUM16F texture they tell Skia it is R16F. Although this has been working for them so far it causes trouble with some upcoming changes.
>
> Change-Id: Ic2143ec69f33a17cb1cb64f6ebc39bffd94a5e68
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228557
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: Ie52150f4f5255a2db697b9f0e810eff2042eadec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228560
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp
index bfc46f9..e8f51e9 100644
--- a/src/gpu/GrCaps.cpp
+++ b/src/gpu/GrCaps.cpp
@@ -151,7 +151,6 @@
case kRGBA_1010102_GrPixelConfig: return "RGBA1010102";
case kRGBA_float_GrPixelConfig: return "RGBAFloat";
case kAlpha_half_GrPixelConfig: return "AlphaHalf";
- case kAlpha_half_as_Lum_GrPixelConfig: return "AlphaHalf_asLum";
case kAlpha_half_as_Red_GrPixelConfig: return "AlphaHalf_asRed";
case kRGBA_half_GrPixelConfig: return "RGBAHalf";
case kRGBA_half_Clamped_GrPixelConfig: return "RGBAHalfClamped";
@@ -395,8 +394,7 @@
break;
case kAlpha_half_GrPixelConfig:
compatible = kAlpha_half_GrPixelConfig == specificConfig || // bc of the mock context
- kAlpha_half_as_Red_GrPixelConfig == specificConfig ||
- kAlpha_half_as_Lum_GrPixelConfig == specificConfig;
+ kAlpha_half_as_Red_GrPixelConfig == specificConfig;
break;
case kRGB_888_GrPixelConfig:
compatible = kRGB_888_GrPixelConfig == specificConfig ||
diff --git a/src/gpu/GrDataUtils.cpp b/src/gpu/GrDataUtils.cpp
index 939ac3b..0ac04f8 100644
--- a/src/gpu/GrDataUtils.cpp
+++ b/src/gpu/GrDataUtils.cpp
@@ -235,7 +235,6 @@
}
break;
}
- case kAlpha_half_as_Lum_GrPixelConfig: // fall through
case kAlpha_half_as_Red_GrPixelConfig: // fall through
case kAlpha_half_GrPixelConfig: {
SkHalf alphaHalf = SkFloatToHalf(colorf.fA);
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 50116ca..48c7ce7 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -1374,8 +1374,6 @@
uint32_t fpRenderFlags = (GR_IS_GR_GL(standard)) ? msaaRenderFlags : nonMSAARenderFlags;
if (GR_IS_GR_GL(standard)) {
- // TODO: it seems like GL_ARB_texture_float GL_ARB_color_buffer_float should be taken
- // into account here
if (version >= GR_GL_VER(3, 0)) {
hasFP16Textures = true;
halfFPRenderTargetSupport = HalfFPRenderTargetSupport::kAll;
@@ -1841,63 +1839,6 @@
}
}
- // LUMINANCE16F
- {
- // NOTE: We disallow lum16f on ES devices if linear filtering modes are not
- // supported. This is for simplicity, but a more granular approach is possible.
- bool lum16FSupported = false;
-
- if (GR_IS_GR_GL(standard)) {
- if (version >= GR_GL_VER(3, 0)) {
- lum16FSupported = true;
- } else if (ctxInfo.hasExtension("GL_ARB_texture_float")) {
- lum16FSupported = true;
- }
- } else if (GR_IS_GR_GL_ES(standard)) {
- if (version >= GR_GL_VER(3, 0)) {
- lum16FSupported = true;
- } else if (ctxInfo.hasExtension("GL_OES_texture_float_linear") &&
- ctxInfo.hasExtension("GL_OES_texture_float")) {
- lum16FSupported = true;
- } else if (ctxInfo.hasExtension("GL_OES_texture_half_float_linear") &&
- ctxInfo.hasExtension("GL_OES_texture_half_float")) {
- lum16FSupported = true;
- }
- } // No WebGL support
-
- FormatInfo& info = this->getFormatInfo(GrGLFormat::kLUMINANCE16F);
- info.fFormatType = FormatType::kFloat;
- info.fBaseInternalFormat = GR_GL_LUMINANCE;
- info.fSizedInternalFormat = GR_GL_LUMINANCE16F;
- info.fInternalFormatForTexImage =
- texImageSupportsSizedInternalFormat ? GR_GL_LUMINANCE16F : GR_GL_LUMINANCE;
- info.fInternalFormatForRenderbuffer =
- renderbufferStorageSupportsSizedInternalFormat ? GR_GL_LUMINANCE16F
- : GR_GL_LUMINANCE;
- info.fDefaultExternalType = halfFloatType;
-
- if (lum16FSupported) {
- info.fFlags = FormatInfo::kTextureable_Flag;
- }
- if (texStorageSupported &&
- !formatWorkarounds.fDisablePerFormatTextureStorageForCommandBufferES2) {
- info.fFlags |= FormatInfo::kCanUseTexStorage_Flag;
- }
-
- if (lum16FSupported) {
- // kAlpha_F16
- {
- uint32_t flags = ColorTypeInfo::kUploadData_Flag;
- info.fColorTypeInfos.emplace_back(GrColorType::kAlpha_F16, flags);
-
- int idx = static_cast<int>(GrColorType::kAlpha_F16);
- if (fColorTypeToFormatTable[idx] == GrGLFormat::kUnknown) {
- this->setColorTypeFormat(GrColorType::kAlpha_F16, GrGLFormat::kLUMINANCE16F);
- }
- }
- }
- }
-
// RGB8
{
FormatInfo& info = this->getFormatInfo(GrGLFormat::kRGB8);
@@ -2520,38 +2461,17 @@
rgbaF32Info.fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] = GR_GL_RGBA;
rgbaF32Info.fFormats.fExternalType = GR_GL_FLOAT;
- // single channel half formats
- {
- GrGLenum halfExternalType;
- if (GR_IS_GR_GL(standard) ||
- (GR_IS_GR_GL_ES(standard) && version >= GR_GL_VER(3, 0))) {
- halfExternalType = GR_GL_HALF_FLOAT;
- } else {
- halfExternalType = GR_GL_HALF_FLOAT_OES;
- }
-
- // RED16F
- {
- ConfigInfo& redHalf = fConfigTable[kAlpha_half_as_Red_GrPixelConfig];
- redHalf.fFormats.fExternalType = halfExternalType;
- redHalf.fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] = GR_GL_RED;
-
- if (textureRedSupport) {
- fConfigTable[kAlpha_half_GrPixelConfig] = redHalf;
- }
- }
-
- // LUM16F
- {
- ConfigInfo& lumHalf = fConfigTable[kAlpha_half_as_Lum_GrPixelConfig];
- lumHalf.fFormats.fExternalType = halfExternalType;
- lumHalf.fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] = GR_GL_LUMINANCE;
-
- if (!textureRedSupport) {
- fConfigTable[kAlpha_half_GrPixelConfig] = lumHalf;
- }
- }
+ GrGLenum redHalfExternalType;
+ if (GR_IS_GR_GL(standard) ||
+ (GR_IS_GR_GL_ES(standard) && version >= GR_GL_VER(3, 0))) {
+ redHalfExternalType = GR_GL_HALF_FLOAT;
+ } else {
+ redHalfExternalType = GR_GL_HALF_FLOAT_OES;
}
+ ConfigInfo& redHalf = fConfigTable[kAlpha_half_as_Red_GrPixelConfig];
+ redHalf.fFormats.fExternalType = redHalfExternalType;
+ redHalf.fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] = GR_GL_RED;
+ fConfigTable[kAlpha_half_GrPixelConfig] = redHalf;
fConfigTable[kRGBA_half_GrPixelConfig].fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] =
GR_GL_RGBA;
@@ -3485,8 +3405,6 @@
return GrGLFormat::kLUMINANCE8;
case kGray_8_as_Red_GrPixelConfig:
return GrGLFormat::kR8;
- case kAlpha_half_as_Lum_GrPixelConfig:
- return GrGLFormat::kLUMINANCE16F;
case kAlpha_half_as_Red_GrPixelConfig:
return GrGLFormat::kR16F;
case kRGB_ETC1_GrPixelConfig: {
@@ -3588,9 +3506,7 @@
}
break;
case GrColorType::kAlpha_F16:
- if (GR_GL_LUMINANCE16F == format) {
- return kAlpha_half_as_Lum_GrPixelConfig;
- } else if (GR_GL_R16F == format) {
+ if (GR_GL_R16F == format) {
return kAlpha_half_as_Red_GrPixelConfig;
}
break;
@@ -3688,9 +3604,6 @@
case GR_GL_RGB10_A2:
config = kRGBA_1010102_GrPixelConfig;
break;
- case GR_GL_LUMINANCE16F:
- config = kAlpha_half_as_Lum_GrPixelConfig;
- break;
case GR_GL_R16F:
config = kAlpha_half_as_Red_GrPixelConfig;
break;
@@ -3769,7 +3682,7 @@
case GrColorType::kGray_8:
return GR_GL_LUMINANCE8 == format || GR_GL_R8 == format;
case GrColorType::kAlpha_F16:
- return GR_GL_R16F == format || GR_GL_LUMINANCE16F == format;
+ return GR_GL_R16F == format;
case GrColorType::kRGBA_F16:
return GR_GL_RGBA16F == format;
case GrColorType::kRGBA_F16_Clamped:
@@ -3817,13 +3730,12 @@
}
break;
case GrColorType::kAlpha_F16:
- SkASSERT(glFormat == GR_GL_R16F || glFormat == GR_GL_LUMINANCE16F);
+ SkASSERT(glFormat == GR_GL_R16F);
if (forOutput) {
return GrSwizzle::AAAA();
} else {
return GrSwizzle::RRRR();
}
- break;
case GrColorType::kGray_8:
if (glFormat == GR_GL_R8) {
if (!forOutput) {
@@ -3835,11 +3747,9 @@
if (!forOutput) {
return GrSwizzle::RGB1();
}
- break;
default:
return GrSwizzle::RGBA();
}
-
return GrSwizzle::RGBA();
}
diff --git a/src/gpu/gl/GrGLDefines.h b/src/gpu/gl/GrGLDefines.h
index 5bf4350..6d3ed39 100644
--- a/src/gpu/gl/GrGLDefines.h
+++ b/src/gpu/gl/GrGLDefines.h
@@ -461,7 +461,6 @@
/* Luminance sized formats */
#define GR_GL_LUMINANCE8 0x8040
-#define GR_GL_LUMINANCE16F 0x881E
/* Alpha sized formats */
#define GR_GL_ALPHA8 0x803C
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 962ebc7..4508af7 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -866,7 +866,6 @@
case kRGBA_4444_GrPixelConfig:
case kRG_88_GrPixelConfig:
case kAlpha_half_GrPixelConfig:
- case kAlpha_half_as_Lum_GrPixelConfig:
case kAlpha_half_as_Red_GrPixelConfig:
case kRGBA_half_GrPixelConfig:
case kRGBA_half_Clamped_GrPixelConfig:
@@ -3737,6 +3736,7 @@
case GrGLFormat::kRGBA4: return kRGBA_4444_GrPixelConfig;
case GrGLFormat::kRGBA32F: return kRGBA_float_GrPixelConfig;
case GrGLFormat::kRGBA16F: return kRGBA_half_GrPixelConfig;
+ case GrGLFormat::kR16F: return kAlpha_half_GrPixelConfig;
case GrGLFormat::kR16: return kR_16_GrPixelConfig;
case GrGLFormat::kRG16: return kRG_1616_GrPixelConfig;
case GrGLFormat::kRGBA16: return kRGBA_16161616_GrPixelConfig;
@@ -3745,9 +3745,6 @@
// Configs with multiple equivalent formats.
- case GrGLFormat::kR16F: return kAlpha_half_GrPixelConfig;
- case GrGLFormat::kLUMINANCE16F: return kAlpha_half_GrPixelConfig;
-
case GrGLFormat::kALPHA8: return kAlpha_8_GrPixelConfig;
case GrGLFormat::kR8: return kAlpha_8_GrPixelConfig;
diff --git a/src/gpu/gl/GrGLUtil.cpp b/src/gpu/gl/GrGLUtil.cpp
index fd92b39..21aede6 100644
--- a/src/gpu/gl/GrGLUtil.cpp
+++ b/src/gpu/gl/GrGLUtil.cpp
@@ -608,7 +608,6 @@
case GrGLFormat::kRGB565:
case GrGLFormat::kRGBA16F:
case GrGLFormat::kR16F:
- case GrGLFormat::kLUMINANCE16F:
case GrGLFormat::kRGB8:
case GrGLFormat::kRG8:
case GrGLFormat::kRGB10_A2:
@@ -640,7 +639,6 @@
case GrGLFormat::kRGB565:
case GrGLFormat::kRGBA16F:
case GrGLFormat::kR16F:
- case GrGLFormat::kLUMINANCE16F:
case GrGLFormat::kRGB8:
case GrGLFormat::kRG8:
case GrGLFormat::kRGB10_A2:
@@ -668,7 +666,6 @@
case GrGLFormat::kRGBA4:
case GrGLFormat::kRG8:
case GrGLFormat::kR16F:
- case GrGLFormat::kLUMINANCE16F:
case GrGLFormat::kR16:
return 2;
diff --git a/src/gpu/gl/GrGLUtil.h b/src/gpu/gl/GrGLUtil.h
index 644eae8..5d41495 100644
--- a/src/gpu/gl/GrGLUtil.h
+++ b/src/gpu/gl/GrGLUtil.h
@@ -283,7 +283,6 @@
case GR_GL_BGRA8: return GrGLFormat::kBGRA8;
case GR_GL_RGB565: return GrGLFormat::kRGB565;
case GR_GL_RGBA16F: return GrGLFormat::kRGBA16F;
- case GR_GL_LUMINANCE16F: return GrGLFormat::kLUMINANCE16F;
case GR_GL_R16F: return GrGLFormat::kR16F;
case GR_GL_RGB8: return GrGLFormat::kRGB8;
case GR_GL_RG8: return GrGLFormat::kRG8;
diff --git a/src/gpu/mtl/GrMtlUtil.mm b/src/gpu/mtl/GrMtlUtil.mm
index 77e93bd..de5641f 100644
--- a/src/gpu/mtl/GrMtlUtil.mm
+++ b/src/gpu/mtl/GrMtlUtil.mm
@@ -91,8 +91,6 @@
case kAlpha_half_as_Red_GrPixelConfig:
*format = MTLPixelFormatR16Float;
return true;
- case kAlpha_half_as_Lum_GrPixelConfig:
- return false;
case kRGB_ETC1_GrPixelConfig:
#ifdef SK_BUILD_FOR_IOS
*format = MTLPixelFormatETC2_RGB8;
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 00194d1..b2796f9 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -92,7 +92,6 @@
case kUnknown_GrPixelConfig:
case kAlpha_8_as_Alpha_GrPixelConfig:
case kGray_8_as_Lum_GrPixelConfig:
- case kAlpha_half_as_Lum_GrPixelConfig:
SK_ABORT("Unsupported Vulkan pixel config");
return 0;
diff --git a/src/gpu/vk/GrVkUtil.cpp b/src/gpu/vk/GrVkUtil.cpp
index 197d4a0..0153af2 100644
--- a/src/gpu/vk/GrVkUtil.cpp
+++ b/src/gpu/vk/GrVkUtil.cpp
@@ -77,8 +77,6 @@
case kAlpha_half_as_Red_GrPixelConfig:
*format = VK_FORMAT_R16_SFLOAT;
return true;
- case kAlpha_half_as_Lum_GrPixelConfig:
- return false;
case kR_16_GrPixelConfig:
*format = VK_FORMAT_R16_UNORM;
return true;
diff --git a/src/sksl/SkSLGLSLCodeGenerator.cpp b/src/sksl/SkSLGLSLCodeGenerator.cpp
index 2f2989b..4ac8ed4 100644
--- a/src/sksl/SkSLGLSLCodeGenerator.cpp
+++ b/src/sksl/SkSLGLSLCodeGenerator.cpp
@@ -1143,19 +1143,18 @@
switch (modifiers.fLayout.fFormat) {
case Layout::Format::kUnspecified:
break;
- case Layout::Format::kRGBA32F: // fall through
+ case Layout::Format::kRGBA32F: // fall through
case Layout::Format::kR32F:
this->write("highp ");
break;
- case Layout::Format::kRGBA16F: // fall through
- case Layout::Format::kR16F: // fall through
- case Layout::Format::kLUMINANCE16F: // fall through
+ case Layout::Format::kRGBA16F: // fall through
+ case Layout::Format::kR16F: // fall through
case Layout::Format::kRG16F:
this->write("mediump ");
break;
- case Layout::Format::kRGBA8: // fall through
- case Layout::Format::kR8: // fall through
- case Layout::Format::kRGBA8I: // fall through
+ case Layout::Format::kRGBA8: // fall through
+ case Layout::Format::kR8: // fall through
+ case Layout::Format::kRGBA8I: // fall through
case Layout::Format::kR8I:
this->write("lowp ");
break;
diff --git a/src/sksl/ir/SkSLLayout.h b/src/sksl/ir/SkSLLayout.h
index 143aff3..d4b1cb6 100644
--- a/src/sksl/ir/SkSLLayout.h
+++ b/src/sksl/ir/SkSLLayout.h
@@ -60,7 +60,6 @@
kR32F,
kRGBA16F,
kR16F,
- kLUMINANCE16F,
kRGBA8,
kR8,
kRGBA8I,
@@ -103,7 +102,6 @@
case Format::kR32F: return "r32f";
case Format::kRGBA16F: return "rgba16f";
case Format::kR16F: return "r16f";
- case Format::kLUMINANCE16F: return "lum16f";
case Format::kRGBA8: return "rgba8";
case Format::kR8: return "r8";
case Format::kRGBA8I: return "rgba8i";
@@ -126,9 +124,6 @@
} else if (str == "r16f") {
*format = Format::kR16F;
return true;
- } else if (str == "lum16f") {
- *format = Format::kLUMINANCE16F;
- return true;
} else if (str == "rgba8") {
*format = Format::kRGBA8;
return true;