[Mesa-dev] draw_stream_output seems to be broken by design

Luca Barbieri luca at luca-barbieri.com
Mon Sep 20 10:50:43 PDT 2010

> No, you don't store it at all. Storing it in the client side data structures
> implies fetching.

Well, of course you don't store it in the client data structure.
In the driver-specific part of the data structures, you store some
kind of reference to the GPU-side object where you instruct the GPU to
put the count.
In softpipe instead you indeed store the value itself, obviously.

The problem is:
1. In which data structure do you store that handle? pipe_context is
good enough for D3D10, but not for ARB_transform_feedback2, where the
stream output CSO is the natural place
2. How do you pass to Gallium the id parameter to DrawTransformFeedback?
3. How do you handle pause/resume in ARB_transform_feedback2? (it must
_not_ reset the count)
4. How do you handle begin/end in ARB_transform_feedback2? (it must
reset the count)
5. How do you handle multiple transform feedback objects pointing to
the same buffer(s)? (i.e. don't associate the count to the vertex

More information about the mesa-dev mailing list