From a64b66d5fe3cb6e9793ccc90c2a11dcf31758085 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Sat, 20 Aug 2016 18:24:52 +0200 Subject: [PATCH] st/nine: Fix DEPTHBIAS for GW2 Fixes issue (3) for issue #224. TODO: ask imirkin why this patch is necessary. Signed-off-by: Patrick Rudolph --- .../drivers/nouveau/nvc0/nvc0_state_validate.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c index 4f004a4f705..3f757335e57 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c @@ -763,6 +763,20 @@ nvc0_validate_rast_fb(struct nvc0_context *nvc0) if (!rast) return; + /* Disable POLYGON_OFFSET in case no depth stencil is bound. */ + if (!fb->zsbuf) { + BEGIN_NVC0(push, NVC0_3D(POLYGON_OFFSET_POINT_ENABLE), 3); + PUSH_DATA (push, 0); + PUSH_DATA (push, 0); + PUSH_DATA (push, 0); + return; + } else { + BEGIN_NVC0(push, NVC0_3D(POLYGON_OFFSET_POINT_ENABLE), 3); + PUSH_DATA (push, rast->offset_point); + PUSH_DATA (push, rast->offset_line); + PUSH_DATA (push, rast->offset_tri); + } + if (rast->offset_units_unscaled) { BEGIN_NVC0(push, NVC0_3D(POLYGON_OFFSET_UNITS), 1); if (fb->zsbuf && fb->zsbuf->format == PIPE_FORMAT_Z16_UNORM)