On 11/19/2011 09:44 PM, Marek Olšák wrote: > Hi everyone, > > this patch series implements all the core Mesa and Gallium support for > EXT_transform_feedback and ARB_transform_feedback2. It's been tested by me on > Radeons and by Christoph Bumiller on Nouveau. I have verified that all > transform feedback piglit tests (except the one that requires GLSL 1.3) pass > with this code. > > Since we were discussing this last time, the Gallium interface has been > slightly modified to make it easier to implement by drivers. The Gallium docs > have been updated too. > > Some streamout-related softpipe and llvmpipe code for the old interface has > been disabled. I didn't look at what needs to be done to support the new one. > > Please review. >
No one cares ? Could we just push these now ? > Marek Olšák (8): > mesa: implement DrawTransformFeedback from ARB_transform_feedback2 > gallium: disable stream output in drivers that support it > gallium: interface changes necessary to implement transform feedback (v4) > gallium: utility helper functions for stream output > noop: implement stream output > u_blitter: restore stream output targets > u_blitter: implement copy_buffer using stream output > st/mesa: implement EXT_transform_feedback and ARB_transform_feedback2 > > src/gallium/auxiliary/cso_cache/cso_context.c | 101 +++++++++++++++++ > src/gallium/auxiliary/cso_cache/cso_context.h | 8 ++ > src/gallium/auxiliary/draw/draw_context.c | 4 +- > src/gallium/auxiliary/draw/draw_context.h | 2 +- > src/gallium/auxiliary/draw/draw_private.h | 2 +- > src/gallium/auxiliary/draw/draw_pt_so_emit.c | 2 +- > src/gallium/auxiliary/tgsi/tgsi_ureg.c | 7 +- > src/gallium/auxiliary/tgsi/tgsi_ureg.h | 18 +++- > src/gallium/auxiliary/util/u_blit.c | 6 + > src/gallium/auxiliary/util/u_blitter.c | 105 +++++++++++++++++- > src/gallium/auxiliary/util/u_blitter.h | 29 +++++ > src/gallium/auxiliary/util/u_debug_describe.c | 10 ++ > src/gallium/auxiliary/util/u_debug_describe.h | 2 + > src/gallium/auxiliary/util/u_gen_mipmap.c | 3 + > src/gallium/auxiliary/util/u_inlines.h | 12 ++ > src/gallium/auxiliary/util/u_simple_shaders.c | 14 ++- > src/gallium/auxiliary/util/u_simple_shaders.h | 8 ++ > src/gallium/docs/source/context.rst | 61 +++++++---- > src/gallium/docs/source/screen.rst | 3 + > src/gallium/drivers/llvmpipe/lp_state.h | 2 +- > src/gallium/drivers/llvmpipe/lp_state_so.c | 9 ++- > src/gallium/drivers/noop/noop_state.c | 35 ++++++ > src/gallium/drivers/nv50/nv50_screen.c | 2 +- > src/gallium/drivers/nvc0/nvc0_screen.c | 2 +- > src/gallium/drivers/nvc0/nvc0_state.c | 9 ++- > src/gallium/drivers/r300/r300_screen.c | 2 +- > src/gallium/drivers/r600/r600_pipe.c | 2 +- > src/gallium/drivers/softpipe/sp_context.c | 2 +- > src/gallium/drivers/softpipe/sp_screen.c | 4 +- > src/gallium/drivers/softpipe/sp_state.h | 2 +- > src/gallium/drivers/softpipe/sp_state_so.c | 9 ++- > src/gallium/include/pipe/p_context.h | 38 ++++--- > src/gallium/include/pipe/p_defines.h | 8 +- > src/gallium/include/pipe/p_state.h | 83 +++++++++++--- > src/mesa/drivers/dri/i965/brw_draw.c | 3 +- > src/mesa/drivers/dri/i965/brw_draw.h | 3 +- > src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c | 15 ++- > src/mesa/main/api_validate.c | 34 ++++++ > src/mesa/main/api_validate.h | 10 ++ > src/mesa/main/dd.h | 3 +- > src/mesa/main/mtypes.h | 2 + > src/mesa/main/transformfeedback.c | 65 ++---------- > src/mesa/main/transformfeedback.h | 6 +- > src/mesa/main/varray.h | 7 + > src/mesa/main/vtxfmt.c | 1 + > src/mesa/state_tracker/st_atom_rasterizer.c | 7 +- > src/mesa/state_tracker/st_cb_bitmap.c | 3 + > src/mesa/state_tracker/st_cb_clear.c | 3 + > src/mesa/state_tracker/st_cb_drawpixels.c | 3 + > src/mesa/state_tracker/st_cb_drawtex.c | 3 + > src/mesa/state_tracker/st_cb_rasterpos.c | 3 +- > src/mesa/state_tracker/st_cb_xformfb.c | 149 > ++++++++++++++++++------- > src/mesa/state_tracker/st_cb_xformfb.h | 12 ++ > src/mesa/state_tracker/st_draw.c | 14 ++- > src/mesa/state_tracker/st_draw.h | 6 +- > src/mesa/state_tracker/st_draw_feedback.c | 3 +- > src/mesa/state_tracker/st_extensions.c | 16 +++ > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 25 ++++ > src/mesa/state_tracker/st_glsl_to_tgsi.h | 6 + > src/mesa/state_tracker/st_program.c | 12 ++ > src/mesa/tnl/t_draw.c | 3 +- > src/mesa/tnl/tnl.h | 3 +- > src/mesa/vbo/vbo.h | 4 +- > src/mesa/vbo/vbo_exec_array.c | 93 +++++++++++++++- > src/mesa/vbo/vbo_exec_draw.c | 3 +- > src/mesa/vbo/vbo_rebase.c | 3 +- > src/mesa/vbo/vbo_save_api.c | 11 ++ > src/mesa/vbo/vbo_save_draw.c | 3 +- > src/mesa/vbo/vbo_split_copy.c | 3 +- > src/mesa/vbo/vbo_split_inplace.c | 3 +- > 70 files changed, 934 insertions(+), 215 deletions(-) > _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
