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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev