On 06/26/2015 10:55 AM, Chris Wilson wrote: > On Fri, Jun 26, 2015 at 08:52:01AM +0300, Abdiel Janulgue wrote: >> When hardware-generated binding tables are enabled, use the hw-generated >> binding table format when uploading binding table state. >> >> Normally, the CS will will just consume the binding table pointer commands >> as pipelined state. When the RS is enabled however, the RS flushes whatever >> edited surface state entries of our on-chip binding table to the binding >> table pool before passing the command on to the CS. >> >> Note that the the binding table pointer offset is relative to the binding >> table >> pool base address when resource streamer instead of the surface state base >> address. >> >> v2: Fix possible buffer overflow when allocating a chunk out of the >> hw-binding table pool (Ken). > > If I am reading this correctly, the binding table store offsets relative > to the surface-state base address. It would seem that separating the > surfaces into their own state bo would cut down on the amount of RS > traffic (you would not need to reload the binding table bo every batch, > nor change the entries as often). Right?
We tried this approach already around a couple of years ago*. Yes, it did cut down the traffic but didn't offer any performance improvements. -Abdiel -- [*] http://lists.freedesktop.org/archives/mesa-dev/2013-October/046362.html _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev