nouveau: more nv30 fixes, still doesn't work as well as before.
authorStephane Marchesin <marchesin@icps.u-strasbg.fr>
Fri, 15 Feb 2008 03:23:46 +0000 (04:23 +0100)
committerStephane Marchesin <marchesin@icps.u-strasbg.fr>
Fri, 15 Feb 2008 03:23:46 +0000 (04:23 +0100)
configs/linux-dri
src/mesa/pipe/nv30/nv30_context.c
src/mesa/pipe/nv30/nv30_state.c
src/mesa/pipe/nv30/nv30_vbo.c

index 494b0aab8e98e347eef339e5f01a534610972804..c7eb7112c0ee5cce8b6ccaba414b6561f0e5c907 100644 (file)
@@ -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
index eef49fbcc2be3029a154a414323366d03fa5910d..d12aab85d8c4eed50a4c8dc3c55c0eb9f2e4dc0b 100644 (file)
@@ -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;
index abc22eacae95d44e1deb0af86971d99344bc2917..992afe033e99291d0fcd3d69c7ce662b7cdf8a83 100644 (file)
@@ -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;
        }
 
index e6c50d3820c9372955a9cbd99b7293c553b8fcac..173a6e8fd7b5c5ea8316cc566be8d8fb4dceec5d 100644 (file)
@@ -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]);