summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_state.c
diff options
context:
space:
mode:
authorAapo Tahkola <aet@rasterburn.org>2005-01-11 23:34:55 +0000
committerAapo Tahkola <aet@rasterburn.org>2005-01-11 23:34:55 +0000
commitff04e50e2e4f423b7d8866b85d299c9acce5fed6 (patch)
tree7ae829231f3fcbe2164193daa24afa80896cf68b /src/mesa/drivers/dri/r300/r300_state.c
parentd24e49f301db9612349ed09594e476a8dbc896a5 (diff)
Mipmapping and other texture filters now work.
Beaware that R300_TX_MIN_FILTER_MASK might be incorrect because i havent been able to confirm that all filters operate correctly. Because of this its also pretty pointless trying to get other features that use filter field to work. Lod bias should also work but have been unable to test it because lodbias test doesnt work.
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_state.c')
-rw-r--r--src/mesa/drivers/dri/r300/r300_state.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index 7c09e3c026..142d34bd83 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -955,7 +955,12 @@ void r300_setup_textures(GLcontext *ctx)
r300->hw.txe.cmd[R300_TXE_ENABLE]|=(1<<i);
r300->hw.tex.filter.cmd[R300_TEX_VALUE_0+i]=t->filter;
- r300->hw.tex.unknown1.cmd[R300_TEX_VALUE_0+i]=t->pitch;
+
+ /* Turn off rest of the bits that are wrong */
+ t->filter &= R300_TX_MIN_FILTER_MASK | R300_TX_MAG_FILTER_MASK;
+
+ /* No idea why linear filtered textures shake when puting random data */
+ /*r300->hw.tex.unknown1.cmd[R300_TEX_VALUE_0+i]=(rand()%0xffffffff) & (~0x1fff);*/
r300->hw.tex.size.cmd[R300_TEX_VALUE_0+i]=t->size;
r300->hw.tex.format.cmd[R300_TEX_VALUE_0+i]=t->format;
r300->hw.tex.offset.cmd[R300_TEX_VALUE_0+i]=r300->radeon.radeonScreen->fbLocation+t->offset;