зеркало из https://github.com/AvaloniaUI/angle.git
Fix CopyTexture to support GL_LUMINANCE/ALPHA/LUMINANCE_ALPHA
A few WebGL tests were failing on Linux/NVIDIA/passthrough because the luminance workaround doesn't handle the case where the destination texture is a luminance texture. For now, fallback to CPU readback in this case. Bug: chromium:773861 Change-Id: I1b85edccc2e257a5fa19cd496d86443ba96e07ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695922 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
This commit is contained in:
Родитель
fba3e64e80
Коммит
8db211bc8d
|
@ -815,7 +815,11 @@ angle::Result TextureGL::copySubTextureHelper(const gl::Context *context,
|
|||
|
||||
// Check if the destination is renderable and copy on the GPU
|
||||
const LevelInfoGL &destLevelInfo = getLevelInfo(target, level);
|
||||
if (!destSRGB &&
|
||||
// todo(jonahr): http://crbug.com/773861
|
||||
// Behavior for now is to fallback to CPU readback implementation if the destination texture
|
||||
// is a luminance format. The correct solution is to handle both source and destination in the
|
||||
// luma workaround.
|
||||
if (!destSRGB && !destLevelInfo.lumaWorkaround.enabled &&
|
||||
nativegl::SupportsNativeRendering(functions, getType(), destLevelInfo.nativeInternalFormat))
|
||||
{
|
||||
bool copySucceeded = false;
|
||||
|
|
Загрузка…
Ссылка в новой задаче