[Mesa-dev] [PATCH 00/19] MSAA on Evergreen

Marek Olšák maraeo at gmail.com
Thu Aug 9 09:07:12 PDT 2012


Hi everyone,

this series implements MSAA support for Evergreen. It passes most MSAA piglit tests. I think Cayman support is ready too, but I don't have a Cayman GPU to test it. In the last patch, a DRM version check has yet to be added for the kernel patches I sent earlier today.

The tests which don't pass are mostly just u_blit not being able to copy between MSAA resources. Eventually I'd like to get rid of u_blit and add a blit function into pipe_context that will be as flexible as glBlitFramebuffer.

The series starts with some fixes for core Mesa/Gallium and adds MSAA texture support to Gallium, which is required for the MSAA copies.

The FMASK and CMASK hardware optimizations will be implemented later. I'd like to resolve the u_blit issue next.

Thanks to Dave Airlie for implementing the initial version of Evergreen MSAA support.

Please review.

 src/gallium/auxiliary/tgsi/tgsi_info.c          |    3 +-
 src/gallium/auxiliary/tgsi/tgsi_strings.c       |    2 +
 src/gallium/auxiliary/tgsi/tgsi_text.c          |  174 +++++++-----
 src/gallium/auxiliary/tgsi/tgsi_util.c          |    2 +
 src/gallium/auxiliary/util/u_blit.c             |   10 +-
 src/gallium/auxiliary/util/u_blitter.c          |  342 ++++++++++++++++-------
 src/gallium/auxiliary/util/u_blitter.h          |   19 +-
 src/gallium/auxiliary/util/u_inlines.h          |   20 +-
 src/gallium/auxiliary/util/u_simple_shaders.c   |  133 +++++++++
 src/gallium/auxiliary/util/u_simple_shaders.h   |   20 ++
 src/gallium/drivers/i915/i915_surface.c         |    4 +-
 src/gallium/drivers/r300/r300_blit.c            |    4 +-
 src/gallium/drivers/r600/evergreen_hw_context.c |   15 +
 src/gallium/drivers/r600/evergreen_state.c      |  334 ++++++++++++++++++----
 src/gallium/drivers/r600/evergreend.h           |   31 +-
 src/gallium/drivers/r600/r600_blit.c            |  259 ++++++++++++++---
 src/gallium/drivers/r600/r600_hw_context.c      |    2 +
 src/gallium/drivers/r600/r600_pipe.c            |    4 +
 src/gallium/drivers/r600/r600_pipe.h            |   20 +-
 src/gallium/drivers/r600/r600_shader.c          |   25 +-
 src/gallium/drivers/r600/r600_state.c           |   41 +--
 src/gallium/drivers/r600/r600_state_common.c    |   16 +-
 src/gallium/drivers/r600/r600_texture.c         |    6 +-
 src/gallium/drivers/r600/r600d.h                |    6 +
 src/gallium/include/pipe/p_shader_tokens.h      |    7 +-
 src/gallium/include/pipe/p_state.h              |   12 +-
 src/gallium/winsys/radeon/drm/radeon_drm_cs.c   |    8 +-
 src/mesa/main/fbobject.c                        |    3 +
 src/mesa/state_tracker/st_atom_rasterizer.c     |    3 +-
 src/mesa/state_tracker/st_atom_shader.c         |    5 +-
 src/mesa/state_tracker/st_cb_bitmap.c           |    3 +-
 src/mesa/state_tracker/st_cb_drawpixels.c       |    6 +-
 32 files changed, 1216 insertions(+), 323 deletions(-)

Marek


More information about the mesa-dev mailing list