Abdiel Janulgue <abdiel.janul...@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.

Attachment: pgpYUEYgXKQ3A.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to