diff options
author | Wladimir J. van der Laan <[email protected]> | 2016-11-25 06:42:43 +0000 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2017-01-31 19:29:23 +0100 |
commit | 56314f5bafdfeb514adf8401c52f216bd430bbb2 (patch) | |
tree | 498d26b6ae98e397f106ce98ef0ebb1e38ff4441 /src/mesa/program/program_parse.y | |
parent | fe3bb8cdb519a01e6315ce6f142827aece3d4a41 (diff) |
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: <[email protected]>
Signed-off-by: Wladimir J. van der Laan <[email protected]>
Acked-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/mesa/program/program_parse.y')
0 files changed, 0 insertions, 0 deletions