r600g: Use blitter rather than DMA for 128bpp on cayman (v3)
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 15 Mar 2013 18:29:24 +0000 (14:29 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sun, 17 Mar 2013 17:32:48 +0000 (13:32 -0400)
commit4409758a046a47b09cdd339f97afd22107c68f0c
tree550518e007a81a257ca56d3fadb3989c2187cd03
parent346a1b9bb927625ae5d315bfa1655be734be69de
r600g: Use blitter rather than DMA for 128bpp on cayman (v3)

On cayman, 128bpp surfaces require non_disp ordering for hw
access to both linear and tiled surfaces.  When we use the 3D
engine we can set the non_disp ordering on both the tiled and
linear sides (via CB or texture), but when we use the DMA
engine, we can only set the non_disp ordering on the tiled
side, so after a L2T operation with the DMA engine, the data
ends up in the wrong order on the tiled side.

v2: cayman/TN only

v3: fix comments

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=60802

Note: this is a candidate for the 9.1 branch.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/r600/evergreen_state.c