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.
pgpYUEYgXKQ3A.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev