Bug 30222 - [bisected Pineview] incorrect and slow rendering on game nexuiz
[bisected Pineview] incorrect and slow rendering on game nexuiz
Status: ASSIGNED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915
unspecified
All Linux (All)
: low enhancement
Assigned To: Eric Anholt
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-09-16 03:01 UTC by fangxun
Modified: 2010-10-09 21:58 UTC (History)
0 users

See Also:


Attachments
xorg log file (20.33 KB, text/plain)
2010-09-16 03:03 UTC, fangxun
Details
scrot of incorrect rendering on nexuiz (656.22 KB, image/png)
2010-09-16 03:06 UTC, fangxun
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fangxun 2010-09-16 03:01:46 UTC
System Environment:
--------------------------
Platform:   pineview
Libdrm:     (master)2.4.21-21-g7ec9a1effa4f551897f91f3b017723a8adf011d9
Mesa:       (7.9)83f5f50f2f69adae497c71ac48e4e0177979ebff
Xserver:    (master)xorg-server-1.9.0
Xf86_video_intel: (master)2.12.0-87-g08c2caca48323d6d5701dcef3486f850619d7905
Kernel: (master)2.6.5.34-9fe6206f400646a2322096b56c59891d530e8d51

Bug detailed description:
-------------------------
Start the game nexuiz, it is very slow with incorrect rendering. Errors appears in screen output: 
i915_program_error: Exceeded max nr indirect texture lookups (6 out of 4)
i915_program_error: Exceeded max nr indirect texture lookups (7 out of 4)
i915_program_error: Exceeded max nr indirect texture lookups (5 out of 4)

This issue happens on pineview. It works well on piketon. This is regression.
The last known good commit is following:
Libdrm:         (master)2.4.21-15-gb04515c5d6c95f573457a94267b855cceb639105
Mesa:           (glsl2)9349379d1acca23e7a2442549e49e9b58515d731
Xserver:           (master)xorg-server-1.8.99.906
Xf86_video_intel:  (master)2.12.0-66-g19c48d3b3f33582baa87a9b3a9189e320e4cea45 


Reproduce steps:
----------------
1. start nexuiz
Comment 1 fangxun 2010-09-16 03:03:31 UTC
Created attachment 38739 [details]
xorg log file
Comment 2 fangxun 2010-09-16 03:06:38 UTC
Created attachment 38740 [details]
scrot of incorrect rendering on nexuiz
Comment 3 Eric Anholt 2010-09-20 15:19:53 UTC
If this is a regression, where's the bisect?
Comment 4 Gordon Jin 2010-09-20 17:51:45 UTC
We don't have resource/time to do bisect at this point.
Comment 5 fangxun 2010-10-09 01:53:16 UTC
Bisect shows a58514cc9c5cc5867f9140700462c5ac5749550d is the first bad commit.
commit a58514cc9c5cc5867f9140700462c5ac5749550d
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Aug 17 15:07:22 2010 -0700

    i915: Enable ARB_fragment_shader by default.

    Now that we have glsl2 with if flattening in place, most shaders will
    just work.  Remaining failing shaders will mostly be due to loop
    unrolling (in progress), some possible if flattening failures in
    inlining functions (planning on fixing), and the register/instruction
    count limits.

    While the GLSL and GLSL-ES specs say that shaders shouldn't fail to
    compile/link due to register/instruction limits, in practice we're not
    the first vendor to expose GLSL on hardware with these limitations.
    The benefit to application developers of providing a better language
    for GPU programming is greater than the pain of having to handle
    instruction limits (which they had to for ARB_fp on this hardware
    anyway)
Comment 6 Eric Anholt 2010-10-09 21:58:55 UTC
OK, the game "took advantage" of the GLSL without falling back when the GLSL failed to link.  This will be an enhancement to make nexuiz's GLSL work on i915 if possible.