[Mesa-dev] [Bug 94882] Incorrect texture filtering when using GL_LINEAR_MIPMAP_LINEAR

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 11 03:57:03 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=94882

Michel Dänzer <michel at daenzer.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |NOTOURBUG

--- Comment #4 from Michel Dänzer <michel at daenzer.net> ---
Looking at the fragment shader:

  // check if in [-1;1]
  if(any(lessThan   ( vec3(1.0),  projTexCoords ))
  || any(greaterThan( vec3(-1.0), projTexCoords )))
    return vec3(0.0, 0.0, 0.3);

  projTexCoords = 0.5 * projTexCoords + vec3(0.5);  // transform to [0;1]
  return texture( u_Texture, projTexCoords.xy ).xyz;

texture() is only called conditionally, i.e. within non-uniform control flow,
but for mip-mapping it has to implicitly calculate derivatives. Section 8.7 of
the GLSL spec explains that this is undefined:

"Some texture functions (non-“Lod” and non-“Grad” versions) may require
implicit derivatives. Implicit derivatives are undefined within non-uniform
control flow [...]."

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160411/6b1f9312/attachment.html>


More information about the mesa-dev mailing list