[Mesa-dev] [PATCH 00/22] Gallium and R600 improvements

Alex Deucher alexdeucher at gmail.com
Tue Jul 10 08:56:01 PDT 2012


On Mon, Jul 9, 2012 at 3:15 PM, Marek Olšák <maraeo at gmail.com> wrote:
> Hi everyone,
>
> this series has two parts.
>
> Patches 1-12 are Mesa/Gallium improvements. Most importantly, this adds acceleration of stencil copying (including glBlitFramebuffer) using the shader stencil export functionality. I am afraid r600g and radeonsi are the only drivers which can make use of it at the moment. There is also acceleration for depth texture mipmap generation.
>
> Patches 13-22 are R600 improvements. There is a new derived state for the CB registers which kept cumulating in the draw_vbo function, and some improvements for depth-stencil flushing and uploading. My changes to the CB_TARGET_MASK emission in the compute code (patch #13) might need some review from somebody working on compute.
>
> The R600 changes depend on the not-yet-committed patch "r600g: improve flushed depth texture handling v2" from Vadim Girlin.
>
> The series fixes 23 depth-stencil piglit tests on r600g.

For the series:

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

>
> Marek Olšák (22):
>       mesa: remove assertions that do not allow compressed 2D_ARRAY textures
>       gallium/u_gen_mipmap: accelerate depth texture mipmap generation
>       gallium/u_blitter: minify depth0 when initializing last_layer
>       gallium: add util_format_stencil helper function
>       gallium/u_blitter: accelerate depth-stencil copying using shader stencil export
>       gallium/u_blitter: accelerate stencil-only copying
>       gallium/util: move pipe_tex_to_tgsi_tex helper function into u_inlines
>       gallium/u_blit: don't do two copies for non-2D textures
>       gallium/u_blit: drop not-very-useful wrapper around util_blit_pixels_writemask
>       gallium/u_blit: remove useless memset calls
>       st/mesa: set colormask to zero when blitting depth
>       st/mesa: implement accelerated stencil blitting using shader stencil export
>       r600g: move CB_TARGET_MASK setup into new cb_misc_state
>       r600g: move MULTIWRITE setup into cb_misc_state for r6xx-r7xx
>       r600g: move CB_SHADER_MASK setup into cb_misc_state
>       r600g: set DISABLE in CB_COLOR_CONTROL if colormask is 0
>       r600g: remove is_flush from DSA state
>       r600g: do fine-grained depth texture flushing
>       r600g: flush depth textures bound to vertex shaders
>       r600g: don't set dirty_db_mask for a flushed depth texture
>       r600g: don't flush depth textures set as colorbuffers
>       r600g: fix uploading non-zero mipmap levels of depth textures
>
>  src/gallium/auxiliary/postprocess/pp_mlaa.c        |    3 +-
>  src/gallium/auxiliary/postprocess/pp_run.c         |    3 +-
>  src/gallium/auxiliary/util/u_blit.c                |  337 +++++++++++++-------
>  src/gallium/auxiliary/util/u_blit.h                |   20 +-
>  src/gallium/auxiliary/util/u_blitter.c             |  153 ++++++---
>  src/gallium/auxiliary/util/u_blitter.h             |    4 +-
>  src/gallium/auxiliary/util/u_format.h              |   29 ++
>  src/gallium/auxiliary/util/u_gen_mipmap.c          |   84 +++--
>  src/gallium/auxiliary/util/u_inlines.h             |   26 ++
>  src/gallium/auxiliary/util/u_simple_shaders.c      |  100 ++++++
>  src/gallium/auxiliary/util/u_simple_shaders.h      |   12 +
>  src/gallium/drivers/r600/evergreen_compute.c       |    3 +-
>  .../drivers/r600/evergreen_compute_internal.c      |    2 +-
>  src/gallium/drivers/r600/evergreen_hw_context.c    |    4 -
>  src/gallium/drivers/r600/evergreen_state.c         |   36 ++-
>  src/gallium/drivers/r600/evergreend.h              |    2 +
>  src/gallium/drivers/r600/r600_blit.c               |   99 +++---
>  src/gallium/drivers/r600/r600_hw_context.c         |    4 +-
>  src/gallium/drivers/r600/r600_pipe.h               |   27 +-
>  src/gallium/drivers/r600/r600_resource.h           |    6 +-
>  src/gallium/drivers/r600/r600_state.c              |   42 ++-
>  src/gallium/drivers/r600/r600_state_common.c       |   88 ++---
>  src/gallium/drivers/r600/r600_texture.c            |   23 +-
>  src/gallium/drivers/r600/r600d.h                   |    2 +
>  src/mesa/main/formats.c                            |    6 +-
>  src/mesa/state_tracker/st_cb_blit.c                |   37 ++-
>  src/mesa/state_tracker/st_cb_drawpixels.c          |   23 +-
>  src/mesa/state_tracker/st_cb_texture.c             |   32 +-
>  src/mesa/state_tracker/st_context.c                |    2 +
>  src/mesa/state_tracker/st_context.h                |    2 +-
>  30 files changed, 838 insertions(+), 373 deletions(-)
>
> Marek
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list