nv40: clarify that tex code is fp-only, we'll do vertex textures eventually.
authorBen Skeggs <skeggsb@gmail.com>
Sun, 20 Jan 2008 00:13:08 +0000 (11:13 +1100)
committerBen Skeggs <skeggsb@gmail.com>
Sun, 20 Jan 2008 00:13:08 +0000 (11:13 +1100)
src/mesa/pipe/nv40/Makefile
src/mesa/pipe/nv40/nv40_context.h
src/mesa/pipe/nv40/nv40_fragtex.c [moved from src/mesa/pipe/nv40/nv40_state_tex.c with 92% similarity]
src/mesa/pipe/nv40/nv40_state_emit.c

index 9818889..c9c3a80 100644 (file)
@@ -8,11 +8,11 @@ DRIVER_SOURCES = \
        nv40_context.c \
        nv40_draw.c \
        nv40_fragprog.c \
+       nv40_fragtex.c \
        nv40_miptree.c \
        nv40_query.c \
        nv40_state.c \
        nv40_state_emit.c \
-       nv40_state_tex.c \
        nv40_surface.c \
        nv40_vbo.c \
        nv40_vertprog.c
index b505efa..df8489f 100644 (file)
@@ -113,6 +113,9 @@ extern void nv40_fragprog_bind(struct nv40_context *,
 extern void nv40_fragprog_destroy(struct nv40_context *,
                                  struct nv40_fragment_program *);
 
+/* nv40_fragtex.c */
+extern void nv40_fragtex_bind(struct nv40_context *);
+
 /* nv40_state.c and friends */
 extern void nv40_emit_hw_state(struct nv40_context *nv40);
 extern void nv40_state_tex_update(struct nv40_context *nv40);
similarity index 92%
rename from src/mesa/pipe/nv40/nv40_state_tex.c
rename to src/mesa/pipe/nv40/nv40_fragtex.c
index f2303e3..48d6eb6 100644 (file)
@@ -38,7 +38,7 @@ nv40_texture_formats[] = {
 };
 
 static struct nv40_texture_format *
-nv40_tex_format(uint pipe_format)
+nv40_fragtex_format(uint pipe_format)
 {
        struct nv40_texture_format *tf = nv40_texture_formats;
 
@@ -53,7 +53,7 @@ nv40_tex_format(uint pipe_format)
 
 
 static void
-nv40_tex_unit_enable(struct nv40_context *nv40, int unit)
+nv40_fragtex_build(struct nv40_context *nv40, int unit)
 {
        struct nv40_sampler_state *ps = nv40->tex_sampler[unit];
        struct nv40_miptree *nv40mt = nv40->tex_miptree[unit];
@@ -62,11 +62,9 @@ nv40_tex_unit_enable(struct nv40_context *nv40, int unit)
        uint32_t txf, txs, txp;
        int swizzled = 0; /*XXX: implement in region code? */
 
-       tf = nv40_tex_format(pt->format);
-       if (!tf || !tf->defined) {
-               NOUVEAU_ERR("Unsupported texture format: 0x%x\n", pt->format);
-               return;
-       }
+       tf = nv40_fragtex_format(pt->format);
+       if (!tf)
+               assert(0);
 
        txf  = ps->fmt;
        txf |= tf->format | 0x8000;
@@ -119,7 +117,7 @@ nv40_tex_unit_enable(struct nv40_context *nv40, int unit)
 }
 
 void
-nv40_state_tex_update(struct nv40_context *nv40)
+nv40_fragtex_bind(struct nv40_context *nv40)
 {
        struct nv40_fragment_program *fp = nv40->fragprog.active;
        unsigned samplers, unit;
@@ -138,7 +136,7 @@ nv40_state_tex_update(struct nv40_context *nv40)
                unit = ffs(samplers) - 1;
                samplers &= ~(1 << unit);
 
-               nv40_tex_unit_enable(nv40, unit);
+               nv40_fragtex_build(nv40, unit);
        }
 
        nv40->fp_samplers = fp->samplers;
index 7bb69e6..c9a7a2e 100644 (file)
@@ -12,7 +12,7 @@ nv40_emit_hw_state(struct nv40_context *nv40)
        }
 
        if (nv40->dirty_samplers || (nv40->dirty & NV40_NEW_FRAGPROG)) {
-               nv40_state_tex_update(nv40);
+               nv40_fragtex_bind(nv40);
 
                BEGIN_RING(curie, NV40TCL_TEX_CACHE_CTL, 1);
                OUT_RING  (2);