Merge "Fix PixelCopyTest failure in CTS"
This commit is contained in:
@@ -59,6 +59,7 @@ Extensions::Extensions() {
|
|||||||
mHas1BitStencil = extensions.has("GL_OES_stencil1");
|
mHas1BitStencil = extensions.has("GL_OES_stencil1");
|
||||||
mHas4BitStencil = extensions.has("GL_OES_stencil4");
|
mHas4BitStencil = extensions.has("GL_OES_stencil4");
|
||||||
mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage");
|
mHasUnpackSubImage = extensions.has("GL_EXT_unpack_subimage");
|
||||||
|
mHasRenderableFloatTexture = extensions.has("GL_OES_texture_half_float");
|
||||||
|
|
||||||
mHasSRGB = mVersionMajor >= 3 || extensions.has("GL_EXT_sRGB");
|
mHasSRGB = mVersionMajor >= 3 || extensions.has("GL_EXT_sRGB");
|
||||||
mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control");
|
mHasSRGBWriteControl = extensions.has("GL_EXT_sRGB_write_control");
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ public:
|
|||||||
inline bool hasPixelBufferObjects() const { return mVersionMajor >= 3; }
|
inline bool hasPixelBufferObjects() const { return mVersionMajor >= 3; }
|
||||||
inline bool hasOcclusionQueries() const { return mVersionMajor >= 3; }
|
inline bool hasOcclusionQueries() const { return mVersionMajor >= 3; }
|
||||||
inline bool hasFloatTextures() 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 hasSRGB() const { return mHasSRGB; }
|
||||||
inline bool hasSRGBWriteControl() const { return hasSRGB() && mHasSRGBWriteControl; }
|
inline bool hasSRGBWriteControl() const { return hasSRGB() && mHasSRGBWriteControl; }
|
||||||
inline bool hasLinearBlending() const { return hasSRGB() && mHasLinearBlending; }
|
inline bool hasLinearBlending() const { return hasSRGB() && mHasLinearBlending; }
|
||||||
@@ -56,6 +59,7 @@ private:
|
|||||||
bool mHasSRGB;
|
bool mHasSRGB;
|
||||||
bool mHasSRGBWriteControl;
|
bool mHasSRGBWriteControl;
|
||||||
bool mHasLinearBlending;
|
bool mHasLinearBlending;
|
||||||
|
bool mHasRenderableFloatTexture;
|
||||||
|
|
||||||
int mVersionMajor;
|
int mVersionMajor;
|
||||||
int mVersionMinor;
|
int mVersionMinor;
|
||||||
|
|||||||
@@ -128,7 +128,8 @@ inline CopyResult copyTextureInto(Caches& caches, RenderState& renderState,
|
|||||||
return CopyResult::DestinationInvalid;
|
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");
|
ALOGW("Can't copy surface into bitmap, RGBA_F16 config is not supported");
|
||||||
return CopyResult::DestinationInvalid;
|
return CopyResult::DestinationInvalid;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user