Issue metadata
Sign in to add a comment
|
Blending between 2D and WebGL canvases is incorrect
Reported by
michele....@arterys.com,
Oct 12
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 Steps to reproduce the problem: 1. Open test_chrome_render_bug_half_alpha.html from the attached .zip file into the chrome browser 2. Observe the animated pink square move from bottom left corner to the top right corner of the image What is the expected behavior? See webGL-2D-Expected-Blend-Half-Alpha.gif in the attached .zip file. The pink square should animate across the image from the bottom left corner into the the top right corner. What went wrong? see webGL-2D-Broken-Blend-Half-Alpha.gif in the attached .zip file The blend between the 2D and WebGL canvas is incorrect and causing artifacts in the image. Did this work before? Yes chrome64 67.0.3396.79 Does this work in other browsers? N/A Chrome version: 69.0.3497.100 Channel: stable OS Version: 10.0 Flash Version: When testing using test_chrome_render_bug_full_alpha.html in the attached .zip file, the blending appears to work in Chrome Version 65. However, the partial alpha test does not appear to work for these older Chrome versions. So it is unclear if partial alpha issue is a regression, but the full alpha case certainly is. Also, the full alpha test does pass when there is a GPU present with appropriate display adapters installed. It is when using Microsoft Basic Display Adapters that we see the regression in full alpha case. In the case with partial alpha, the test shows the behaviour shown in webGL-2D-Broken-Blend-Half-Alpha-Nvidia-Drivers.gif in the attached .zip file when there is a GPU present with appropriate display adapters installed. This behaviour is still incorrect, but is different than what is observed when using only the Microsoft Basic Display Adapters. Finally, when trouble shooting this issue, it was shown that blending between two WebGL canvases was correct and blending between two 2D canvases was correct, it was only when attempting to blend a 2D and WebGL canvas together that this issue is shown.
,
Oct 15
I can't reproduce the error with full alpha test, but with half alpha test it reproduces even when drawing a single frame. Investigating.
,
Oct 15
Regarding the half alpha, it seems that glClearColor expects the color to be premul. If you change the line: gl.clearColor( 1.0, 0.2, 0.7, 0.5); to: gl.clearColor( 0.4, 0.5, 0.6, 0.7); (alpha >= color components) everything works fine. I don't have any idea about issue with Microsoft Basic Display Adapters though, so I leave this bug open for now.
,
Oct 16
I found that the easiest way to reproduce these issues was to create a windows 10 VM. It was much easier than trying to get the drivers correct. |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by fs...@chromium.org
, Oct 15Owner: zakerinasab@chromium.org
Status: Assigned (was: Unconfirmed)