[Mesa-dev] RFC: Remove internal flushes from Mesa state tracker

José Fonseca jfonseca at vmware.com
Tue May 11 01:46:21 PDT 2010


On Sun, 2010-04-25 at 09:50 -0700, José Fonseca wrote:
> Now that transfers are context operations it is the driver's
> responsibility to ensure that transfers happen in order with all other
> context operations, so flushes and finishes inside Mesa should be no
> longer necessary. The attached patch implements that.
> 
> This should proportionate significant improvements for hardware drivers
> which are able to stream transfers in the command buffers.
> 
> Nevertheless, drivers must keep their part of the bargain, and I think
> that's not the case yet.
> 
> You can use the softpipe/llvmpipe_flush_resource() as reference
> implementation of the worst case scenario, where the driver is not able
> to streamline transfers. But the expectation is that driver
> implementators will want to avoid flushing as much as possible.

I heard no objection, so I'll be applying this.

Drivers that don't get right will fail in the scenario transfer -> draw
-> overlapping transfer -> draw -> etc ..

I don't think it's actually very common. Typically interleaved transfers
are non-overlapping.

Jose



More information about the mesa-dev mailing list