Merge "Fix PixelCopyTest failure in CTS"

This commit is contained in:
John Reck
2018-06-21 00:48:44 +00:00
committed by Gerrit Code Review
3 changed files with 7 additions and 1 deletions

View File

@@ -59,6 +59,7 @@ Extensions::Extensions() {
mHas1BitStencil = extensions.has("GL_OES_stencil1");
mHas4BitStencil = extensions.has("GL_OES_stencil4");
mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage");
mHasRenderableFloatTexture = extensions.has("GL_OES_texture_half_float");
mHasSRGB = mVersionMajor >= 3 || extensions.has("GL_EXT_sRGB");
mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control");

View File

@@ -38,6 +38,9 @@ public:
inline bool hasPixelBufferObjects() const { return mVersionMajor >= 3; }
inline bool hasOcclusionQueries() const { return mVersionMajor >= 3; }
inline bool hasFloatTextures() const { return mVersionMajor >= 3; }
inline bool hasRenderableFloatTextures() const {
return (mVersionMajor >= 3 && mVersionMinor >= 2) || mHasRenderableFloatTexture;
}
inline bool hasSRGB() const { return mHasSRGB; }
inline bool hasSRGBWriteControl() const { return hasSRGB() && mHasSRGBWriteControl; }
inline bool hasLinearBlending() const { return hasSRGB() && mHasLinearBlending; }
@@ -56,6 +59,7 @@ private:
bool mHasSRGB;
bool mHasSRGBWriteControl;
bool mHasLinearBlending;
bool mHasRenderableFloatTexture;
int mVersionMajor;
int mVersionMinor;

View File

@@ -128,7 +128,8 @@ inline CopyResult copyTextureInto(Caches& caches, RenderState& renderState,
return CopyResult::DestinationInvalid;
}
if (bitmap->colorType() == kRGBA_F16_SkColorType && !caches.extensions().hasFloatTextures()) {
if (bitmap->colorType() == kRGBA_F16_SkColorType &&
!caches.extensions().hasRenderableFloatTextures()) {
ALOGW("Can't copy surface into bitmap, RGBA_F16 config is not supported");
return CopyResult::DestinationInvalid;
}