[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