On 03/08/2011 05:11 PM, José Fonseca wrote:
On Mon, 2011-03-07 at 02:38 -0800, Keith Whitwell wrote:
On Sun, 2011-03-06 at 18:42 +0100, Marek Olšák wrote:
2) is_resource_referenced

Now that the transfer functions are in pipe_context, is this hook
really
necessary?
Good question.  I'd like to see those functions go away as they are
round-trips baked into the interface which is a pain if you try and
remote this stuff.

I guess you'd still need to catch the write-after-read case within a
single context and turn that into a flush.

I think others (Jose in particular) should comment, but I suspect that
individual drivers could now do this internally&  not need to expose the
interface in gallium.
That's correct. State trackers no longer need this. This interface can
be removed, and drivers that need it internally should be updated to use
internal private interfaces.

One should remember, though, that with the state tracker construct

if (is_resource_referenced())
  flush();

this must not be replaced with an unconditional flush, since that may be very wasteful on some hardware. This means that drivers need to be converted to do the necessary flushing themselves if this interface is removed. Otherwise they will misrender.

/Thomas


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

Reply via email to