diff options
author | Aapo Tahkola <aet@rasterburn.org> | 2005-01-11 23:34:55 +0000 |
---|---|---|
committer | Aapo Tahkola <aet@rasterburn.org> | 2005-01-11 23:34:55 +0000 |
commit | ff04e50e2e4f423b7d8866b85d299c9acce5fed6 (patch) | |
tree | 7ae829231f3fcbe2164193daa24afa80896cf68b /src/mesa/drivers/dri/r300/r300_state.c | |
parent | d24e49f301db9612349ed09594e476a8dbc896a5 (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.c | 7 |
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; |