OSDN Git Service

r600g: implement compression for MSAA colorbuffers for evergreen
authorMarek Olšák <maraeo@gmail.com>
Sun, 12 Aug 2012 18:06:33 +0000 (20:06 +0200)
committerMarek Olšák <maraeo@gmail.com>
Mon, 27 Aug 2012 02:31:00 +0000 (04:31 +0200)
commita3d9d7ec79d6f7205fab2324e47d8ea185431de0
tree3aa8b27b500d9e7535053e01c5345f025ab4f86a
parent48edfe0505ee79d35f770f53b9c9b7ca3c69fd2b
r600g: implement compression for MSAA colorbuffers for evergreen

This adds the FMASK and CMASK buffers. They share the same resource
with color data.

COMPRESSION and FAST_CLEAR are always enabled if both FMASK and CMASK are
allocated. We initialize the CMASK to a "compressed" state (not "fast cleared"),
so that we can keep FAST_CLEAR enabled all the time.

Both FMASK and CMASK must be present at the moment. If either one is missing,
the other one is not used.

v2: add cayman regs in the list

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
12 files changed:
src/gallium/auxiliary/util/u_blitter.c
src/gallium/auxiliary/util/u_blitter.h
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/evergreend.h
src/gallium/drivers/r600/r600_blit.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_resource.h
src/gallium/drivers/r600/r600_state.c
src/gallium/drivers/r600/r600_state_common.c
src/gallium/drivers/r600/r600_texture.c