Issue metadata
Sign in to add a comment
|
Leaking data between PNG channels when sampling texture in WebGL
Reported by
d...@playcanvas.com,
Aug 14 2017
|
||||||||||||||||||||||
Issue description
Chrome Version : 60.0.3112.90
OS Version: OS X 10.12.6
URLs (if applicable) :
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
Safari 5:
Firefox 4.x:
IE 7/8/9:
What steps will reproduce the problem?
1. Visit https://s3-eu-west-1.amazonaws.com/bug-channel-leak.playcanvas.com/leaking.html
2. Notice areas which contain no red color are visible when rendered
3. This page is rendering a texture and sampling only the red channel
What is the expected result?
Rendering should be the same as Chrome on Windows and Safari and Firefox
What happens instead of that?
Data from green channel seems to be visible.
Please provide any additional information below. Attach a screenshot if
possible.
See screenshots for difference between Chrome + Safari
Notes:
- This is not always reproducible. We had a case where one Macbook displayed the bug and another didn't.
- This link is the same, but uses a different PNG texture. https://s3-eu-west-1.amazonaws.com/bug-channel-leak.playcanvas.com/leaking-2.html it does not display the issue. Leading me to think there is a problem with some types of png.
UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
,
Aug 14 2017
Let me unduplicate this bug. We would like to understand exactly what's going on with this test case.
,
Aug 14 2017
Using the excellent Spector.JS tool https://github.com/BabylonJS/Spector.js and in particular the top-of-tree version's ability to capture starting at page reload, it is clear that PlayCanvas is failing to make a needed call to: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE); When loading for example PNG files where the color channels are intended to be treated literally, it is absolutely required to set this in the context state in order to get portable behavior among browsers. (Though, as sdy@ points out, many browsers including Chrome are moving toward doing this colorspace conversion later in their compositing pipeline.) This is a bug in the application. Closing as WontFix. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by sdy@chromium.org
, Aug 14 2017Status: Duplicate (was: Unconfirmed)