Commit Graph

7 Commits

Author SHA1 Message Date
Chris Wilson ad0afda3fe sna: Fix checking the dirty boxes
I forgot how insane the data structure for the list of dirty boxes
attached to the damage is. It is neither a simple list, nor does not store
the count of boxes within each chunk.

Fixes regression from
commit 9026bb9546 [2.21.11]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jun 28 15:59:17 2013 +0100

    sna: Inspect the dirty boxes when querying whether damage contains a rectangle

A side effect is that we now make sure that there is an upper bound to
the amount of searching we do for the no-reduce fast path.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66430
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-01 22:51:22 +01:00
Chris Wilson 5c5ebd6a3e intel: Fix typo s/asert/assert/
The joy of conditional compiles masked this compilation failure when
testing.

Reported-by: Reinhard Karcher <reinhard.karcher@gmx.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-08 11:18:01 +00:00
Chris Wilson 34fe3cbb31 sna: Avoid recursive calls to kgem_retire_partials()
Whilst iterating the partial list and uploading the buffers, we need to
avoid trigger a recursive call into retire should we attempt to shrink a
buffer. Such a recursive call will modify the list beneath us so that we
chase a stale pointer and wreak havoc with memory corruption.

Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47061
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-07 18:25:44 +00:00
Chris Wilson 9c0c04cac2 sna: Split storage of inactive partials
As we now attempt to keep retain partial buffers after execution, we can
end up will lots of inactive buffers sitting on the partial buffer list.
In any one batch, we wish to minimise the number of buffers used, so
keep all the inactive buffers on a seperate list and only pull from them
as required.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-03-01 21:19:22 +00:00
Chris Wilson 66cc9c6965 Be paranoid about the definition of container_of
Replace any existing definition with a correct version, since there are
broken container_of macros floating around the xorg includes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-15 11:58:42 +00:00
Chris Wilson c0376b7f7b Add a missing macro for old xorg/list.h
list_last_entry() needs to be defined if we are including the xorg
list.h as opposed to our standalone variant.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-13 00:48:15 +00:00
Chris Wilson 87bed52180 Include a local copy of list.h
In 1.11.903, the list.h was renamed to xorg-list.h with a corresponding
change to all structures. As we carried local fixes to list.h and
extended functionality, just create our own list.h with a bit of
handwaving to protect us for the brief existence of xorg/include/list.h.

Reported-by: Armin K <krejzi@email.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45938
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-02-11 21:02:22 +00:00