3df060d9530b5f0cbfe9894dff12cb1c61b831b1 |
|
25-Nov-2016 |
Wladimir J. van der Laan <laanwj@gmail.com> |
etnaviv: Set SE.CLIP registers, add margins for scissor/clip registers This fixes rendering of full-screen quads (and other screen-filling geometry, e.g. ioquake3 walls up-close) on gc3000. It should be a no-op on other hardware. - It looks like SE_CLIP registers were not set at all. I'm amazed that rendering worked without them. Emit them to avoid issues on gc3000. - Define constants ETNA_SE_SCISSOR_MARGIN_RIGHT (0x1119) ETNA_SE_SCISSOR_MARGIN_BOTTOM (0x1111) ETNA_SE_CLIP_MARGIN_RIGHT (0xffff) ETNA_SE_CLIP_MARGIN_BOTTOM (0xffff) These demarcate the margin (fixp16) between the computed sizes and the value sent to the chip. I have set these to the numbers used by the Vivante driver for gc2000. I am not sure whether any old hardware was relying on the old numbers, or whether those were just a guess. But if so, these need to be moved to the _specs structure. CC: <mesa-stable@lists.freedesktop.org> Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com> (cherry picked from commit 56314f5bafdfeb514adf8401c52f216bd430bbb2)
/external/mesa3d/src/gallium/drivers/etnaviv/etnaviv_state.c
|