[Mesa-dev] RFC: Haswell resource streamer/hw-generated binding tables (v2)

Eric Anholt eric at anholt.net
Thu Oct 10 13:04:08 PDT 2013


Abdiel Janulgue <abdiel.janulgue at linux.intel.com> writes:

> Prerequisites:
>
>   - Kernel patches: [1]
>     (do 'make headers_install' and update libdrm headers after compiling
>     the kernel)
>   - Mesa patch: [2]
>
> This is an update from my previous RFC patches [3]. Most notable 
> change is that the resource streamer is an experimental feature 
> disabled by default and toggled by setting the env variable 
> INTEL_RESOURCE_STREAMER=1.
>
> After struggling for some time with hard-lockups, I found out that
> the previous implementation was not too conformant with the specs.
> The fixes include:
>   
>   - Fixed the binding table pool allocation algorithm. Previous
>   implementation allocated up to 128k binding table pool but the 
>   hardware only allows an offset into the pool entry of up to 64k.
>
>   - Take into consideration the smaller size of a hw-generated binding
>   tables. Surface state offsets are expressed as 16 bit entries instead
>   of 32.
>   
>   - Properly update binding table offsets after being triggered by 
>   new constant buffers in addition to new surfaces state change.
>
> There are probably still some nasty critters somewhere I failed to
> workaround but I did manage to coax Piglit to go thru a successful run,
> at least, without hardlocking the machine (tested on Haswell GT3). This
> was in part due to Paul's fix on a send instruction complaint by the 
> simulator inside blorp [2] which only got triggered for some reason
> when the resource streamer is on.

My basic comment on resource streamer: We need performance data showing
that it is a win before we commit it.  I'm not planning on reviewing the
changes until we get that data.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131010/2d2ec45f/attachment.pgp>


More information about the mesa-dev mailing list