> 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 buffer) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev