On Mon, Jul 9, 2012 at 3:15 PM, Marek Olšák <mar...@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.deuc...@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev