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