GLSL bug: texture MIPmap
Reported by
fabrice....@gmail.com,
Feb 23 2018
|
|||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 Example URL: https://www.shadertoy.com/view/XdtczB Steps to reproduce the problem: 1. pickup shader color value with your favorite tool. 2. compare value obtained with Angle vs OpenGl 3. option: compare with true texture average (e.g. with gimp. #if 0 to show the texture.) What is the expected behavior? texture is 256x256 uniform color noise. Theoretical average is 127.5, real average is 127.16, 127.16, 127.55. But ultimate MIPmap level is 123, 123, 124 on Windows/Angle and 126, 126, 127 on OpenGL (either windows or linux). What went wrong? Bias on texture average (MIPmap0), small on OpenGL but quite larger on Angle. MIPmap computation by 8bits cascading yields imprecisions, but 3.6 * more in Angle for some strange reason. Does it occur on multiple sites: N/A Is it a problem with a plugin? No Did this work before? N/A Does this work in other browsers? No Firefox Chrome version: 62.0.3202.94 Channel: n/a OS Version: Flash Version: Shockwave Flash 28.0 r0 More that 3% relative error can cause thresholding and bias issues (e.g. when MIPmap0 is used to normalize the texture values). May somebody please set the flags : Blink>WebGL Internals>GPU>ANGLE ? thanks !
,
Feb 25 2018
,
Feb 26 2018
Adding a few people for help with triage regarding ANGLE/WebGL.
,
Feb 26 2018
I'm not surprised that there are some cascading errors in our mipmap computation, when generating mipmaps we only look at the previous mipmap level and do simple averaging. I believe this is within spec and would take a lot of work to use fancier algorithms.
,
Feb 26 2018
Is this WontFix then?
,
Feb 26 2018
Yes, I think we discussed this over during an ANGLE meeting or WebGL working group meeting and the conclusion is Chrome won't do anything here unless the spec changes. If an app cares about mipmap quality, they can always manually generate each level on the client side.
,
Feb 26 2018
The problem is not the approximation, which is expected. The problem is that the amount of error is very different depending whether OpenGL or Angle/D3D is used.
,
Feb 26 2018
This is the difference between two drivers, or the difference between two GPUs. As far as the behavior is spec compliant, there will be no action taken on our side. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dtapu...@chromium.org
, Feb 25 2018