[Mesa-dev] [PATCH v2 5/5] i965/gen6: Initial implementation of MSAA.
Chad Versace
chad.versace at linux.intel.com
Fri May 11 12:40:01 PDT 2012
On 05/10/2012 11:21 AM, Paul Berry wrote:
> This patch enables MSAA for Gen6, by modifying intel_mipmap_tree to
> understand multisampled buffers, adapting the rendering pipeline setup
> to enable multisampled rendering, and adding multisample resolve
> operations to brw_blorp_blit.cpp. Some preparation work is also
> included for Gen7, but it is not yet enabled.
>
> MSAA support is still fairly preliminary. In particular, the
> following are not yet supported:
> - Fully general blits between MSAA and non-MSAA buffers.
> - Formats other than RGBA8, DEPTH24, and STENCIL8.
> - Centroid interpolation.
> - Coverage parameters (glSampleCoverage, GL_SAMPLE_ALPHA_TO_COVERAGE,
> GL_SAMPLE_ALPHA_TO_ONE, GL_SAMPLE_COVERAGE, GL_SAMPLE_COVERAGE_VALUE,
> GL_SAMPLE_COVERAGE_INVERT).
>
> Fixes piglit tests "EXT_framebuffer_multisample/accuracy" on
> i965/Gen6.
>
> v2:
> - In intel_alloc_renderbuffer_storage(), quantize the requested number
> of samples to the next higher sample count supported by the
> hardware. This ensures that a query of GL_SAMPLES will return the
> correct value. It also ensures that MSAA is fully disabled on Gen7
> for now (since Gen7 MSAA support doesn't work yet).
> - When reading from a non-MSAA surface, ensure that s_is_zero is true
> so that we won't try to read from a nonexistent sample.
> ---
> src/mesa/drivers/dri/i965/Makefile.sources | 1 +
> src/mesa/drivers/dri/i965/brw_blorp.cpp | 10 +-
> src/mesa/drivers/dri/i965/brw_blorp.h | 30 ++-
> src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 332 +++++++++++++++++---
> src/mesa/drivers/dri/i965/brw_context.h | 8 +
> src/mesa/drivers/dri/i965/brw_defines.h | 7 +
> src/mesa/drivers/dri/i965/brw_misc_state.c | 33 +--
> src/mesa/drivers/dri/i965/brw_state.h | 4 +
> src/mesa/drivers/dri/i965/brw_state_upload.c | 2 +
> src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 16 +-
> src/mesa/drivers/dri/i965/gen6_blorp.cpp | 44 ++--
> src/mesa/drivers/dri/i965/gen6_multisample_state.c | 102 ++++++
> src/mesa/drivers/dri/i965/gen6_sf_state.c | 15 +-
> src/mesa/drivers/dri/i965/gen6_wm_state.c | 12 +
> src/mesa/drivers/dri/i965/gen7_blorp.cpp | 20 +-
> src/mesa/drivers/dri/i965/gen7_sf_state.c | 14 +-
> src/mesa/drivers/dri/i965/gen7_wm_state.c | 18 +-
> src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 16 +
> src/mesa/drivers/dri/intel/intel_fbo.c | 31 ++-
> src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 52 +++-
> src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 10 +-
> src/mesa/drivers/dri/intel/intel_tex_image.c | 3 +-
> src/mesa/drivers/dri/intel/intel_tex_validate.c | 3 +-
> 23 files changed, 662 insertions(+), 121 deletions(-)
> create mode 100644 src/mesa/drivers/dri/i965/gen6_multisample_state.c
I tried reviewing this one, but the patch does so much at once that
I quickly got lost. And, anyway, I don't understand brw shaders.
Do you intend to push this today regardless of receiving review?
I see that you have gen7 patches queued up dependent on this series.
----
Chad Versace
chad.versace at linux.intel.com
More information about the mesa-dev
mailing list