[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