[Mesa-dev] [PATCH 0/8] EXT_transform_feedback & ARB_transform_feedback2 core support
Christoph Bumiller
e0425955 at student.tuwien.ac.at
Mon Dec 5 09:45:25 PST 2011
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(-)
>
More information about the mesa-dev
mailing list