From 9856fd02a0d6f7314ed580aea4e354a49f3b013f Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Fri, 27 Apr 2012 09:26:13 +1000 Subject: [PATCH] nv30: properly init window information Should fix >2k rendering issues reported on nv4x. Signed-off-by: Ben Skeggs --- src/gallium/drivers/nv30/nv30_screen.c | 2 -- src/gallium/drivers/nv30/nv30_state_validate.c | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nv30/nv30_screen.c b/src/gallium/drivers/nv30/nv30_screen.c index 158fef5a80c..d355f749a09 100644 --- a/src/gallium/drivers/nv30/nv30_screen.c +++ b/src/gallium/drivers/nv30/nv30_screen.c @@ -454,8 +454,6 @@ nv30_screen_create(struct nouveau_device *dev) PUSH_DATA (push, screen->query->handle); /* QUERY - intr 0x80 if nullobj */ PUSH_DATA (push, screen->null->handle); /* UNK1AC */ PUSH_DATA (push, screen->null->handle); /* UNK1B0 */ - BEGIN_NV04(push, NV30_3D(VIEWPORT_CLIP_MODE), 1); - PUSH_DATA (push, 0); if (screen->eng3d->oclass < NV40_3D_CLASS) { BEGIN_NV04(push, SUBC_3D(0x03b0), 1); PUSH_DATA (push, 0x00100000); diff --git a/src/gallium/drivers/nv30/nv30_state_validate.c b/src/gallium/drivers/nv30/nv30_state_validate.c index df0170bb8e4..ae7955bb413 100644 --- a/src/gallium/drivers/nv30/nv30_state_validate.c +++ b/src/gallium/drivers/nv30/nv30_state_validate.c @@ -110,8 +110,11 @@ nv30_validate_fb(struct nv30_context *nv30) BEGIN_NV04(push, NV30_3D(VIEWPORT_HORIZ), 2); PUSH_DATA (push, w << 16); PUSH_DATA (push, h << 16); - BEGIN_NV04(push, NV30_3D(VIEWPORT_TX_ORIGIN), 1); + BEGIN_NV04(push, NV30_3D(VIEWPORT_TX_ORIGIN), 4); PUSH_DATA (push, (y << 16) | x); + PUSH_DATA (push, 0); + PUSH_DATA (push, ((w - 1) << 16) | 0); + PUSH_DATA (push, ((h - 1) << 16) | 0); if ((nv30->state.rt_enable & NV30_3D_RT_ENABLE_COLOR0) || fb->zsbuf) { struct nv30_surface *rsf = nv30_surface(fb->cbufs[0]); -- 2.30.2