Bug 91047 - [SNB Bisected] Messed up Fog in Super Smash Bros. Melee in Dolphin
Summary: [SNB Bisected] Messed up Fog in Super Smash Bros. Melee in Dolphin
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 10.6
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Matt Turner
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2015-06-21 22:51 UTC by Link Mauve
Modified: 2015-06-23 19:49 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

apitrace of that issue (1.81 MB, text/plain)
2015-06-21 22:51 UTC, Link Mauve
p.patch (1.63 KB, patch)
2015-06-22 17:52 UTC, Matt Turner
Details | Splinter Review
p.patch (1.62 KB, patch)
2015-06-22 17:56 UTC, Matt Turner
Details | Splinter Review

Description Link Mauve 2015-06-21 22:51:18 UTC
Created attachment 116638 [details]
apitrace of that issue

After a round of bisect, “f7df169ba13d22338e9276839a7e9629ca0a6b4f is the first bad commit”, “i965/fs: Implement integer multiply without mul/mach.”
Comment 1 Matt Turner 2015-06-22 03:12:17 UTC
Can you confirm that you have this commit (on the 10.6 branch), and that the problem still exists with it?

commit 230891cc9c24744cbe59cc40a748a69a6b89edf6
Author: Matt Turner <mattst88@gmail.com>
Date:   Wed May 27 10:44:45 2015 -0700

    i965/fs: Fix lowering of integer multiplication with cmod.
    If the multiplication's result is unused, except by a conditional_mod,
    the destination will be null. Since the final instruction in the lowered
    sequence is a partial-write, we can't put the conditional mod on it and
    we have to store the full result to a register and do a MOV with a
    conditional mod.
    Cc: "10.6" <mesa-stable@lists.freedesktop.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90580
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    (cherry picked from commit 0596134410a0decc2f6bba77bfedb82d308aabbe)

Can you reproduce with master?
Comment 2 Link Mauve 2015-06-22 08:05:13 UTC
I actually found the bug in 10.6 (from the ArchLinux repository) then switched to mesa-git, which tracks master, to do the bisection.

And I do have 0596134410a0decc2f6bba77bfedb82d308aabbe in this branch, which didn’t fix it.
Comment 3 Matt Turner 2015-06-22 17:52:50 UTC
Created attachment 116658 [details] [review]

Please try this patch. I expect it fixes the problem.
Comment 4 Matt Turner 2015-06-22 17:56:45 UTC
Created attachment 116659 [details] [review]

Sorry, this one will actually apply to master. :)
Comment 5 Link Mauve 2015-06-22 19:11:04 UTC
It fixed it, thanks. :)
Comment 6 Matt Turner 2015-06-23 19:49:49 UTC
Thanks a lot for the bug report and testing the patch. I've committed it as

commit a49328d58d1e3e143f9434976d9f3574acefc4ea
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon Jun 22 10:59:33 2015 -0700

    i965/fs: Don't mess up stride for uniform integer multiplication.

and tagged it for the 10.6 branch, so it should be in 10.6.1.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.