Capture: Disable GL_CHROMIUM_bind_uniform_location

Some apps (possibly those that use Skia) use the extension
GL_CHROMIUM_bind_uniform_location, which is implemented by ANGLE. This
leads to traces that contain calls to functions from this extension,
such as: glBindUniformLocationCHROMIUM. Such traces do not replay on
native GLES drivers, as the extension is not available.

The fix is to disable the GL_CHROMIUM_bind_uniform_location extension
when capturing, so that apps do not use this extension.

Bug: b/174256233
Change-Id: I8c6de9dc958147bcad053cbf89d8727b40f45fbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Paul Thomson 2020-11-30 17:22:59 +00:00 коммит произвёл Commit Bot
Родитель f42409e602
Коммит abee60f6d0
1 изменённых файлов: 5 добавлений и 0 удалений

Просмотреть файл

@ -3568,6 +3568,11 @@ void Context::initCaps()
<< std::endl;
mState.mExtensions.mapBufferRange = false;
mState.mExtensions.mapBufferOES = false;
INFO() << "Disabling GL_CHROMIUM_bind_uniform_location during capture, which is not "
"supported on native drivers"
<< std::endl;
mState.mExtensions.bindUniformLocation = false;
}
// Disable support for OES_get_program_binary