On 07.10.2011 04:04, Marek Olšák wrote: > On Fri, Oct 7, 2011 at 3:21 AM, Zack Rusin <za...@vmware.com> wrote: >> On Thursday, October 06, 2011 04:58:45 PM Marek Olšák wrote: >>> I am cc'ing Zack, because he was the one to design the first interface. >> Hi Marek. >> >> I'm swamped right now and won't have time to review the patches. FWIW, the >> interface initially did have the stream output data in the shader state, >> ultimately though Keith and I just didn't like it. I don't quite remember >> what >> the issue was. Also I noticed you removed draw stream output auto, which >> seems >> useful interface wise because it allows rendering without needing to know the >> amount of data that was written to the buffers. > The draw auto functionality was moved to pipe_draw_info. > >> Ultimately though I think this is a perfect feature to implement in a feature >> branch. Interface changes just for the purpose of interface changes always >> endup badly. We've been huge offenders in the past because we were working on >> proprietary state trackers but we shouldn't go that road again and we should >> require that interface changes always go along an implementation. >> It just makes it a lot easier to see how everything fits together. > That's exactly my plan. It won't a Mesa branch though -- I like to > rebase and modify commits all the time. > >>> more concerned about the queries. There is PIPE_QUERY_GPU_FINISHED, >>> which looks equivalent to fences. Besides that, >>> PIPE_QUERY_PRIMITIVES_EMITTED is a strict subset of >>> PIPE_QUERY_SO_STATISTICS, which returns a structure instead of one >>> number. >> Yes, the primitives emitted should go and so statistics should stay as it is. >> The d3d query model is nicer than the GL one, so I'd strongly suggest to >> follow it. >> http://msdn.microsoft.com/en-us/library/windows/desktop/bb205335(v=vs.85).aspx > I agree with the so queries, but I'd like to keep fences and not > GPU_FINISHED. The fences seem more natural to how it's done under the > hood. Both can be implemented easily though.
Could we please keep GPU_FINISHED, it coincides with the D3D EVENT query (it doesn't require a call to begin_query, only to end). And no it's not more natural to how it's done by hardware, nv50+ fences are also just queries. (https://github.com/chrisbmr/Mesa-3D/blob/d3d1x/src/gallium/drivers/nvc0/nvc0_query.c#L309) Thanks. > Marek > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev