Descriptiongpu: support immutable texture on Linux Mesa driver and GLES3.
Mesa GL driver supports GL_ARB_texture_storage extensions, not
GL_EXT_texture_storage. GLES3 supports glTexStroage2D by default.
GLES3 doesn't support BGRA format for immutable texture without
GL_APPLE_texture_format_bgra8888 extension. We prefer BGRA support
to immutable texture support, so GLES3 enables immutable texture
only if it supports GL_APPLE_texture_format_bgra8888.
In addition, currently the compositor blindly uses BGRA on glTexStorage2D.
It can cause a potential bug so this CL checks BGRA format support
to use BGRA on glTexStorage2D.
This CL makes Intel GPU (e.g. Intel Chromebook) and GLES3 devices with
GL_APPLE_texture_format_bgra8888 extension take advantage of immutable
texture.
BUG=407034
Committed: https://crrev.com/42485ac75b825f1eb30132fa5341985ade5b1eb5
Cr-Commit-Position: refs/heads/master@{#292175}
Patch Set 1 #Patch Set 2 : Remove is_es3 and APPLE_texture_format_BGRA8888 allows BGRA8_EXT in ES3 #
Total comments: 3
Patch Set 3 : Prevent GLES unless GL_APPLE_texture_format_BGRA8888 #
Total comments: 1
Patch Set 4 : CompleteHandlingOfGLESandBGRA. Apply CC #
Messages
Total messages: 19 (0 generated)
|