bugzilla-daemon at freedesktop.org
2015-Nov-26  00:38 UTC
[Nouveau] [Bug 93110] New: [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call
https://bugs.freedesktop.org/show_bug.cgi?id=93110
            Bug ID: 93110
           Summary: [NVE4] textureSize() and textureQueryLevels() uses a
                    texture bound during the previous draw call
           Product: Mesa
           Version: 10.5
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/nouveau
          Assignee: nouveau at lists.freedesktop.org
          Reporter: joseph.kucia at gmail.com
        QA Contact: nouveau at lists.freedesktop.org
Created attachment 120124
  --> https://bugs.freedesktop.org/attachment.cgi?id=120124&action=edit
A small program to demonstrate the issue
It seems that a texture bound in the previous draw call is used by
textureSize() and textureQueryLevels() (instead of the currently bound
texture).
The attached program demonstrated the bug. When the program is built with
-DBROKEN, it incorrectly prints "width: 2.000000 height 2.000000 miplevels
2.000000" while the current texture is 512x256 with 4 miplevels.
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVE4
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.0.5
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760]
(rev a1) (prog-if 00 [VGA controller])
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20151126/880987e6/attachment.html>
bugzilla-daemon at freedesktop.org
2015-Nov-26  08:09 UTC
[Nouveau] [Bug 93110] [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call
https://bugs.freedesktop.org/show_bug.cgi?id=93110
Józef Kucia <joseph.kucia at gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
--- Comment #1 from Józef Kucia <joseph.kucia at gmail.com> ---
It works correctly in 11.2.0-devel (git-63b49e1). I guess it was fixed
meanwhile.
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20151126/3117fa95/attachment.html>
bugzilla-daemon at freedesktop.org
2015-Nov-26  08:22 UTC
[Nouveau] [Bug 93110] [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call
https://bugs.freedesktop.org/show_bug.cgi?id=93110
Józef Kucia <joseph.kucia at gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|10.5                        |11.0
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20151126/ff695669/attachment.html>
bugzilla-daemon at freedesktop.org
2015-Nov-27  22:03 UTC
[Nouveau] [Bug 93110] [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call
https://bugs.freedesktop.org/show_bug.cgi?id=93110
--- Comment #2 from Ilia Mirkin <imirkin at alum.mit.edu> ---
I did a reverse-bisect, and found this is what fixed it:
commit 5877a594d54fdd2b3aa329f4d35b3491a7ee8a33
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Thu Sep 10 23:58:17 2015 -0400
    nvc0/ir: start offset at texBindBase for txq, like regular texturing
    Curiously this has no actual effect. I think it's because the first 8
    textures are bound in multiple slots for some reason. However seems
    prudent to use these the same way as regular texturing, esp in the case
    where there are more than 8 textures bound.
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
I really couldn't find an effect that it practically had at the time. I
could
spend time thinking about what the difference is, but... I'm insufficiently
interested. I'll ask for a cherry-pick to the 11.0 branch.
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20151127/b7a8fc2e/attachment.html>
Reasonably Related Threads
- [Bug 111218] New: Segmentation fault in nv50_ir::NVC0LegalizeSSA::handleDIV when dividing result of textureSize
- [PATCH] graph/nve4: do not crash if no power device present
- [Bug 75800] New: [NVE4] [GTX660Ti] Pink line on left side of monitor and slightly blurry areas on screen
- [PATCH] drm/nve4: fix size of POLY2ESETUP buffer
- [PATCH] drm/nve4: fix size of POLY2ESETUP buffer (s/gpc_nr/tpc_total)