On Sat, May 2, 2015 at 9:47 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > Hello, > > I've started working on implementing ARB_query_buffer_object, and am > trying to work out the driver interface. I'm thinking something along > these lines: > > void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q); > void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q); > + void (*StoreQueryResult)(struct gl_context *ctx, struct gl_query_object > *q, > + struct gl_buffer_object *buf, intptr_t offset, > + bool is64bit, bool wait); > > Which would only work for GL_QUERY_RESULT and GL_QUERY_RESULT_NO_WAIT. > The other queries (GL_QUERY_RESULT_AVAILABLE and GL_QUERY_TYPE) would > manually update the buffer using the BufferSubData call. This new call > would only be used for when a buffer is bound. > > The alternative would be to also pass in the pname to the driver > backend instead of the wait bool, and have it write in the 1/0 result > for available, and the query type for GL_QUERY_TYPE. > > Thoughts?
Sounds like what I was thinking of doing when I looked at this a bit. Looks like you have all the info there. Kristian > -ilia > _______________________________________________ > 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