nvfx: rework state_fb code to get rid of render temps
authorLucas Stach <dev@lynxeye.de>
Tue, 10 Jan 2012 11:41:02 +0000 (12:41 +0100)
committerMarek Olšák <maraeo@gmail.com>
Sun, 15 Jan 2012 06:37:41 +0000 (07:37 +0100)
commitf428ae6f72f8a403bd3d83b88c41e9b78c23bbe3
tree2ca844c9251732455e88be6313c2a8762532cc7d
parent7f918683c4f92d2f5fc1765da4b404f569cec003
nvfx: rework state_fb code to get rid of render temps

This commit rewrites a lot of the state_fb code to support
rendering to targets not aligned to 64 byte.

This allows us to drop the render temporaries as unaligned
targets are the only use-case where they are really needed. The
temporaries code was used for a lot of things more, but apparently
those also work without temps.

There is one regression in piglit fbo-clear-formats, but this will
be fixed with the use of real hardware clears and doesn't matter in
practice as no real application tries to scissor clear a 2x2 pixel
render target.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
src/gallium/drivers/nvfx/nvfx_context.h
src/gallium/drivers/nvfx/nvfx_state_emit.c
src/gallium/drivers/nvfx/nvfx_state_fb.c
src/gallium/drivers/nvfx/nvfx_surface.c