From 78cecabc2aa06567b49470d3858ac6868d6f564b 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 40a42f5116f..5d1fbbb04ca 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)