summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/nouveau/nv04_state_tex.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-09-15 01:56:04 +0200
committerFrancisco Jerez <currojerez@riseup.net>2010-09-16 19:44:21 +0200
commitbec626ff63ad1d5c7c3e4b5b1d7a741e4f7d55ac (patch)
treedd65de1371423cb6b8a07e481276df0bda275ce4 /src/mesa/drivers/dri/nouveau/nv04_state_tex.c
parentaa317a40ced575024924ef5697fc0b96c76e3d90 (diff)
dri/nv04: Mipmapping fixes.
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nv04_state_tex.c')
-rw-r--r--src/mesa/drivers/dri/nouveau/nv04_state_tex.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nv04_state_tex.c b/src/mesa/drivers/dri/nouveau/nv04_state_tex.c
index 6d8762b7d1..4ac8327b87 100644
--- a/src/mesa/drivers/dri/nouveau/nv04_state_tex.c
+++ b/src/mesa/drivers/dri/nouveau/nv04_state_tex.c
@@ -103,7 +103,7 @@ nv04_emit_tex_obj(GLcontext *ctx, int emit)
0, 15) + 1;
lod_bias = CLAMP(ctx->Texture.Unit[i].LodBias +
- t->LodBias, 0, 15);
+ t->LodBias, -16, 15) * 8;
}
format |= get_wrap_mode(t->WrapT) << 28 |
@@ -117,7 +117,7 @@ nv04_emit_tex_obj(GLcontext *ctx, int emit)
nvgl_filter_mode(t->MagFilter) << 28 |
log2i(t->MaxAnisotropy) << 27 |
nvgl_filter_mode(t->MinFilter) << 24 |
- lod_bias << 16;
+ (lod_bias & 0xff) << 16;
} else {
s = &to_nv04_context(ctx)->dummy_texture;
@@ -134,7 +134,7 @@ nv04_emit_tex_obj(GLcontext *ctx, int emit)
if (nv04_mtex_engine(fahrenheit)) {
nouveau_bo_markl(bctx, fahrenheit,
NV04_MULTITEX_TRIANGLE_OFFSET(i),
- s->bo, 0, bo_flags);
+ s->bo, s->offset, bo_flags);
nouveau_bo_mark(bctx, fahrenheit,
NV04_MULTITEX_TRIANGLE_FORMAT(i),
@@ -149,7 +149,7 @@ nv04_emit_tex_obj(GLcontext *ctx, int emit)
} else {
nouveau_bo_markl(bctx, fahrenheit,
NV04_TEXTURED_TRIANGLE_OFFSET,
- s->bo, 0, bo_flags);
+ s->bo, s->offset, bo_flags);
nouveau_bo_mark(bctx, fahrenheit,
NV04_TEXTURED_TRIANGLE_FORMAT,