nv50: fixes after rebase + commits note on the code that was just pushed.
authorBen Skeggs <skeggsb@gmail.com>
Sun, 29 Jun 2008 05:59:24 +0000 (15:59 +1000)
committerBen Skeggs <skeggsb@gmail.com>
Sun, 29 Jun 2008 06:00:42 +0000 (16:00 +1000)
OK, seems a lot of people have been getting the idea that nouveau is
dying lately - I decided to commit some of the work I've been doing lately
to prove them wrong :)  Progress on my side is slow due to lack of time
mainly, but I'm still around.

Firstly, don't even bother trying to use gallium on G8x/G9x yet, it won't
work.  I've deliberately left all the necessary winsys changes out of the
commits for a very good reason - I don't know what we're going to need from
the DRM exactly yet and don't want to be continually breaking interfaces
as I discover additional requirements.  On my side, I think I've gone
through about 3 different DRM interface changes, and have just discovered
that I may need more yet.  It'd be very annoying for everyone who uses
nouveau to keep things in sync.  Once I've got it sorted - I'll commit a
lot of cool stuff. Stay tuned.

Also, don't look at the shader code.. it's horribly nasty and full of hacks,
I used it as an opportunity to learn G8x GPU programs at the same time.
New semi-decent code is in works, and will follow at some point. :)

src/gallium/drivers/nv50/nv50_miptree.c
src/gallium/drivers/nv50/nv50_program.c
src/gallium/drivers/nv50/nv50_state.c
src/gallium/winsys/dri/nouveau/nouveau_screen.c

index ec6e09aea0801d5e1a176396b2c0533956649edd..f936a1f0e20b6dc49d5b34e5681db1b1b4a7c58e 100644 (file)
@@ -26,7 +26,7 @@ nv50_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
                break;
        }
 
-       pitch = ((pt->width[0] + 63) & ~63) * pt->cpp;
+       pitch = ((pt->width[0] + 63) & ~63) * pt->block.size;
 
        mt->buffer = ws->buffer_create(ws, 256, usage, pitch * pt->height[0]);
        if (!mt->buffer) {
index bc45fe0bdfd324b75f030b44e55465a60fab8e50..cd6967b3668371eb8d582492238362a9c7a7fe29 100644 (file)
@@ -1240,7 +1240,7 @@ nv50_program_tx_prep(struct nv50_pc *pc)
                        unsigned last;
 
                        d = &p.FullToken.FullDeclaration;
-                       last = d->u.DeclarationRange.Last;
+                       last = d->DeclarationRange.Last;
 
                        switch (d->Declaration.File) {
                        case TGSI_FILE_TEMPORARY:
@@ -1546,7 +1546,7 @@ nv50_program_validate_code(struct nv50_context *nv50, struct nv50_program *p)
        }
 
        if (!upload)
-               return FALSE;
+               return;
 
        up = ptr = MALLOC(p->exec_size * 4);
        for (e = p->exec_head; e; e = e->next) {
index 665e3cc80d60174582dd57d7abaada1ccaf77df6..743de089d6f7bc60999126fc183a6f030b2ffb22 100644 (file)
@@ -121,9 +121,9 @@ nv50_set_sampler_texture(struct pipe_context *pipe, unsigned nr,
        int i;
 
        for (i = 0; i < nr; i++)
-               pipe_texture_reference(&nv50->miptree[i], pt[i]);
+               pipe_texture_reference((void *)&nv50->miptree[i], pt[i]);
        for (i = nr; i < nv50->miptree_nr; i++)
-               pipe_texture_reference(&nv50->miptree[i], NULL);
+               pipe_texture_reference((void *)&nv50->miptree[i], NULL);
 
        nv50->miptree_nr = nr;
        nv50->dirty |= NV50_NEW_TEXTURE;
index b15ee7509cc6f8640c0d65563b9f3463a472654f..df1fe7e69b4f16bd676823a63695d5560bfd7122 100644 (file)
@@ -13,7 +13,7 @@
 #include "nouveau_screen.h"
 #include "nouveau_swapbuffers.h"
 
-#if NOUVEAU_DRM_HEADER_PATCHLEVEL != 10
+#if NOUVEAU_DRM_HEADER_PATCHLEVEL != 11
 #error nouveau_drm.h version does not match expected version
 #endif