nvfx: fix sampler views support
authorLuca Barbieri <luca@luca-barbieri.com>
Mon, 22 Mar 2010 17:36:16 +0000 (18:36 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Mon, 22 Mar 2010 17:36:16 +0000 (18:36 +0100)
The code was half converted, resulting in texturing being totally broken.

src/gallium/drivers/nvfx/nv30_fragtex.c
src/gallium/drivers/nvfx/nv40_fragtex.c
src/gallium/drivers/nvfx/nvfx_context.h

index 2b56f45..54e4757 100644 (file)
@@ -91,7 +91,7 @@ struct nouveau_stateobj *
 nv30_fragtex_build(struct nvfx_context *nvfx, int unit)
 {
        struct nvfx_sampler_state *ps = nvfx->tex_sampler[unit];
-       struct nvfx_miptree *nv30mt = nvfx->tex_miptree[unit];
+       struct nvfx_miptree *nv30mt = (struct nvfx_miptree *)nvfx->fragment_sampler_views[unit]->texture;
        struct pipe_texture *pt = &nv30mt->base;
        struct nouveau_bo *bo = nouveau_bo(nv30mt->buffer);
        struct nv30_texture_format *tf;
index 5889b5e..05506e2 100644 (file)
@@ -109,7 +109,7 @@ struct nouveau_stateobj *
 nv40_fragtex_build(struct nvfx_context *nvfx, int unit)
 {
        struct nvfx_sampler_state *ps = nvfx->tex_sampler[unit];
-       struct nvfx_miptree *nv40mt = nvfx->tex_miptree[unit];
+       struct nvfx_miptree *nv40mt = (struct nvfx_miptree *)nvfx->fragment_sampler_views[unit]->texture;
        struct nouveau_bo *bo = nouveau_bo(nv40mt->buffer);
        struct pipe_texture *pt = &nv40mt->base;
        struct nv40_texture_format *tf;
index 001b19e..ab7225c 100644 (file)
@@ -158,7 +158,6 @@ struct nvfx_context {
        struct pipe_buffer *idxbuf;
        unsigned idxbuf_format;
        struct nvfx_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS];
-       struct nvfx_miptree *tex_miptree[PIPE_MAX_SAMPLERS];
        struct pipe_sampler_view *fragment_sampler_views[PIPE_MAX_SAMPLERS];
        unsigned nr_samplers;
        unsigned nr_textures;