Bug 29676

Summary: [regression][G45] Serious Sam 2: Enemies no longer visible
Product: Mesa Reporter: Sven Arvidsson <sa>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium Keywords: NEEDINFO
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Screenshot

Description Sven Arvidsson 2010-08-19 07:36:22 UTC
Created attachment 37984 [details]
Screenshot

The game Serious Sam 2 have regressed lately, enemies are no longer visible. Bisecting leads to this:

96b11f1e3ee12f06be1d33bf085bf1353f23e667 is the first bad commit
commit 96b11f1e3ee12f06be1d33bf085bf1353f23e667
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Jul 21 18:29:06 2010 -0700

    i965: Support relative addressed VS constant reads using the appropriate msg.
    
    The previous support was overly complicated by trying to use the same
    1-OWORD message for both offsets.

:040000 040000 11fced2877ca7e063dbef733d62aba43d198fc28 90ac0a3017df7c2f1ea4f5d699062f7877460ddb M	src

Automagic revert didn't work, so it's not confirmed.
Comment 1 Sven Arvidsson 2010-08-25 08:51:59 UTC
Another instance of this bug is missing models in 3DMark 2001 (running in Wine), benchmark three "Lobby".
http://www.futuremark.com/download/3dmark2001/
Comment 2 Sven Arvidsson 2010-08-25 09:44:24 UTC
This is also what's causing the models in the menu in Heroes of Newerth to go missing:
http://www.heroesofnewerth.com/download.php

(Not confirmed by reverting, just by trying the commit prior to 96b11f1)
Comment 3 Eric Anholt 2010-08-30 11:23:50 UTC
Could you try:

commit 5360c48317f5806c7ea8814002e9aac2041960a7
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Aug 30 11:19:30 2010 -0700

    i965: Clear the cached constant buffer entry in the VS at control flow.
    
    Fixes the 7 regressions with constant buffers forced on with piglit -t
    glsl (glsl-vs-if-*).

Before that, VS constant buffers could be full of all sorts of insanity.
Comment 4 Sven Arvidsson 2010-08-30 13:48:31 UTC
No change in any of the games.
Comment 5 Ian Romanick 2010-09-03 15:52:11 UTC
Several of the other "invisible characters" games were fixed when loop unrolling was merged.  Could you retest?
Comment 6 Sven Arvidsson 2010-09-03 15:55:20 UTC
No change here, I don't think Serious Sam 2 uses GLSL.
Comment 7 Eric Anholt 2010-12-23 02:41:41 UTC
These regressions should be fixed by:

commit 5dc53444c8323c1787dddbe6b67048828df9c684
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Dec 22 22:46:12 2010 -0800

    i965: Correct the dp_read message descriptor setup on g4x.
    
    It's mostly like gen4 message descriptor setup, except that the sizes
    of type/control changed to be like gen5.  Fixes 21 piglit cases on
    gm45, including the regressions in bug #32311 from increased VS
    constant buffer usage.

(the pre-96b11f1e3ee12f06be1d33bf085bf1353f23e667 read message type had a value of 0, so the bitfield being misplaced didn't matter).  Please reopen if the regressions persist.

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.