From: Stephane Marchesin Date: Fri, 15 Feb 2008 03:23:46 +0000 (+0100) Subject: nouveau: more nv30 fixes, still doesn't work as well as before. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a653bef05fb3627fdd1857bfa8c3a1ebe08a4b7;p=mesa.git nouveau: more nv30 fixes, still doesn't work as well as before. --- diff --git a/configs/linux-dri b/configs/linux-dri index 494b0aab8e9..c7eb7112c0e 100644 --- a/configs/linux-dri +++ b/configs/linux-dri @@ -66,4 +66,4 @@ WINDOW_SYSTEM=dri # gamma are missing because they have not been converted to use the new # interface. -DRI_DIRS = intel_winsys nouveau_winsys +DRI_DIRS = nouveau_winsys diff --git a/src/mesa/pipe/nv30/nv30_context.c b/src/mesa/pipe/nv30/nv30_context.c index eef49fbcc2b..d12aab85d8c 100644 --- a/src/mesa/pipe/nv30/nv30_context.c +++ b/src/mesa/pipe/nv30/nv30_context.c @@ -71,6 +71,8 @@ nv30_get_paramf(struct pipe_context *pipe, int param) return 16.0; case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: return 4.0; + case PIPE_CAP_BITMAP_TEXCOORD_BIAS: + return 0.0; default: NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param); return 0.0; diff --git a/src/mesa/pipe/nv30/nv30_state.c b/src/mesa/pipe/nv30/nv30_state.c index abc22eacae9..992afe033e9 100644 --- a/src/mesa/pipe/nv30/nv30_state.c +++ b/src/mesa/pipe/nv30/nv30_state.c @@ -614,12 +614,8 @@ nv30_set_framebuffer_state(struct pipe_context *pipe, nv30->rt[1] = rt[1]->buffer; } - if (zeta_format) { - /* XXX allocate LMA */ -/* BEGIN_RING(rankine, NV34TCL_LMA_DEPTH_OFFSET, 1); - OUT_RING(0);*/ - BEGIN_RING(rankine, NV34TCL_ZETA_PITCH, 1); - OUT_RING (zeta->pitch * zeta->cpp); + if (zeta_format) + { nv30->zeta = zeta->buffer; } diff --git a/src/mesa/pipe/nv30/nv30_vbo.c b/src/mesa/pipe/nv30/nv30_vbo.c index e6c50d3820c..173a6e8fd7b 100644 --- a/src/mesa/pipe/nv30/nv30_vbo.c +++ b/src/mesa/pipe/nv30/nv30_vbo.c @@ -241,9 +241,9 @@ nv30_draw_elements_u08(struct nv30_context *nv30, void *ib, } while (count) { - push = MIN2(count, 2046); + push = MIN2(count, 2047 * 2); - BEGIN_RING_NI(rankine, NV40TCL_VB_ELEMENT_U16, push); + BEGIN_RING_NI(rankine, NV40TCL_VB_ELEMENT_U16, push >> 1); for (i = 0; i < push; i+=2) OUT_RING((elts[i+1] << 16) | elts[i]); @@ -266,9 +266,9 @@ nv30_draw_elements_u16(struct nv30_context *nv30, void *ib, } while (count) { - push = MIN2(count, 2046); + push = MIN2(count, 2047 * 2); - BEGIN_RING_NI(rankine, NV34TCL_VB_ELEMENT_U16, push); + BEGIN_RING_NI(rankine, NV34TCL_VB_ELEMENT_U16, push >> 1); for (i = 0; i < push; i+=2) OUT_RING((elts[i+1] << 16) | elts[i]);