On Fri, Jul 16, 2010 at 11:10 AM, Chia-I Wu <olva...@gmail.com> wrote: > Hi all, > > This patch series replaces > > st_context::draw_arrays > st_context::draw_elements, > st_context::draw_arrays_instanced > st_context::draw_elements_instanced > st_context::draw_range_elements > > by a single > > st_context::draw_vbo(struct pipe_context *pipe, > const struct pipe_draw_info *info); > > The series is too big in size and I have to push it to > > http://cgit.freedesktop.org/~olv/mesa/log/?h=gallium-unified-draw > > Since the drivers no longer need to implement all the drawing > variants, the diffstat says > > 29 files changed, 359 insertions(+), 1061 deletions(-) > > Its main user (st_draw_vbo) is also simplified. > > There are 4 commits in the branch. The first commit adds the new > function prototype to the header file. The second commit implements > draw_vbo for all pipe drivers. The third commit converts all state > trackers (st/mesa, st/vega, and util_draw_vertex_buffer) to use > draw_vbo. The last commit removes all other variants from the > interface. > > This looks like a nice cleanup to have to me. Suggestion?
Hi Chia-I First off it should be pipe_context:: instead of st_context:: since st_context is the state tracker and not the pipe driver. So when I first read your email I thought you where unifying the mesa state tracker and not unifying the draw call in the gallium interface. I'm also not so sure with passing arguments to a function in a struct. But I like the general idea of unifying all the draw functions into a single one or maybe two. Cheers Jakob. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev