[Bug 71870] Metro: Last Light rendering issues

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Nov 25 08:35:09 PST 2013


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

--- Comment #8 from Paul Berry <stereotype441 at gmail.com> ---
(In reply to comment #7)
> Game hits assert in brw_state_batch, the incoming size parameter varies and
> seems uninitialized data. Seems like this is done by 'mark_surface_used' in
> vs and fs generators but not sure yet why/how this is not happening.

I haven't been able to reproduce the problem yet, but based on the backtrace I
have a guess as to why it's occurring:

We have an existing bug in which brw_gs_upload_binding_table() incorrectly uses
a NULL check on brw->gs.prog_data to determine whether a geometry shader is
currently active.  This doesn't work: brw->gs.prog_data is non-NULL if a
geometry shader has *ever* been active.  The correct way to determine whether a
geometry shader is currently active is to check whether brw->geometry_program
is NULL.

As a result of this bug, if no geometry shader is inactive, but one was active
in the past, brw_gs_upload_binding_table() will refer to stale data from a
previously active geometry shader.  Most of the time this is benign because the
stale data is not used by the hardware (since no geometry shader is actually
active).  However, if the program cache gets flushed, then the stale data now
resides in free memory blocks.  If that memory gets reallocated, then we will
get data corruption when brw_gs_upload_binding_table() tries to refer to it.

Commit 068a073c1d4853b5c8f33efdeb481026f42e23a5 makes the situation worse
because it introduces a geometry shader into the Meta clear program.  As a
result, even client applications that don't use geometry shaders will run into
this problem.

Tapani, can you please try running Metro again with
http://lists.freedesktop.org/archives/mesa-dev/2013-November/049081.html
applied?  I'm hoping that this will fix the crash issue and take you back to
the state where there are just rendering issues.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20131125/eb3ca6ed/attachment.html>


More information about the intel-3d-bugs mailing list