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_internal.h
|
34cd53ca8c2652b095e090f52bbe66ffbfeced5d |
|
31-Jan-2017 |
Wladimir J. van der Laan <laanwj@gmail.com> |
etnaviv: Generate new sin/cos instructions on GC3000 Shaders using sin/cos instructions were not working on GC3000. The reason for this turns out to be that these chips implement sin/cos in a different way (but using the same opcodes): - Need their input scaled by 1/pi instead of 2/pi. - Output an x and y component, which need to be multiplied to get the result. - tex_amode needs to be set to 1. Add a new bit to the compiler specs and generate these instructions as necessary. 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 fe3bb8cdb519a01e6315ce6f142827aece3d4a41)
/external/mesa3d/src/gallium/drivers/etnaviv/etnaviv_internal.h
|
c9e8b49b885242d84ba031dacef5aa4a5ac1e5b6 |
|
23-Dec-2016 |
The etnaviv authors <etnaviv@lists.freedesktop.org> |
etnaviv: gallium driver for Vivante GPUs This driver supports a wide range of Vivante IP cores like GC880, GC1000, GC2000 and GC3000. Changes from V1 -> V2: - added missing files to actually integrate the driver into build system. - adapted driver to new renderonly API Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com> Acked-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/gallium/drivers/etnaviv/etnaviv_internal.h
|