On Wed, Jan 25, 2012 at 09:40, Jose Fonseca <jfons...@vmware.com> wrote:
> Thanks Stephane.  Much better.
>
> I still think the flush flags semantics are quite confusing, but the problem 
> comes from way before this change. Take e.g. the chunk:
>
> +      /* don't prepare if we only are flushing the backend */
> +      if (!(flags & DRAW_FLUSH_BACKEND))
> +         draw->pt.frontend = NULL;
>
> Why are we looking at the backend flush flag to determine whether to flush 
> the frontend?
>
> Shouldn't it be
>
> +      /* prepare on state changes */
> +      if (flags & DRAW_FLUSH_STATE_CHANGE)
> +         draw->pt.frontend = NULL;
>
> Or maybe
>
>  #define DRAW_FLUSH_FRONTEND 0x1
>  #define DRAW_FLUSH_BACKEND  0x2
>
>  // Flush all
>  #define DRAW_FLUSH_STATE_CHANGE  (DRAW_FLUSH_FRONTEND | DRAW_FLUSH_BACKEND)
>
> +      /* prepare only when we are flushing the frontend */
> +      if (flags & DRAW_FLUSH_FRONTEND)
> +         draw->pt.frontend = NULL;
>
> But I guess this doesn't need to be fixed now -- we can fix this when we feel 
> the need to add more flush flags -- then it should be clearer what to do.
>

Right, it is odd, but then we don't have the right flags... since it
seemed touchy I wanted to do it separately. I'll handle it next.

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

Reply via email to