[Mesa-dev] [PATCH RFC] gallium: interface changes necessary to implement transform feedback

Zack Rusin zackr at vmware.com
Thu Oct 6 18:21:28 PDT 2011


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.

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.

> 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

z


More information about the mesa-dev mailing list