From: Luca Barbieri Date: Thu, 19 Aug 2010 20:47:03 +0000 (+0200) Subject: nvfx: fix lodbias X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=928cce672a613b2f7bfa5563eca828327b16dc27;p=mesa.git nvfx: fix lodbias --- diff --git a/src/gallium/drivers/nvfx/nv30_fragtex.c b/src/gallium/drivers/nvfx/nv30_fragtex.c index db8a8fc4b08..0c3d43fd573 100644 --- a/src/gallium/drivers/nvfx/nv30_fragtex.c +++ b/src/gallium/drivers/nvfx/nv30_fragtex.c @@ -21,7 +21,7 @@ nv30_sampler_state_init(struct pipe_context *pipe, ps->en |= NV34TCL_TX_ENABLE_ANISO_2X; } - limit = CLAMP(cso->lod_bias, -16.0, 15.0); + limit = CLAMP(cso->lod_bias, -16.0, 15.0 + (255.0 / 256.0)); ps->filt |= (int)(cso->lod_bias * 256.0) & 0x1fff; ps->max_lod = (int)CLAMP(cso->max_lod, 0.0, 15.0); diff --git a/src/gallium/drivers/nvfx/nv40_fragtex.c b/src/gallium/drivers/nvfx/nv40_fragtex.c index 5fe742f260c..106ce71a079 100644 --- a/src/gallium/drivers/nvfx/nv40_fragtex.c +++ b/src/gallium/drivers/nvfx/nv40_fragtex.c @@ -29,11 +29,11 @@ nv40_sampler_state_init(struct pipe_context *pipe, ps->en |= NV40TCL_TEX_ENABLE_ANISO_2X; } - limit = CLAMP(cso->lod_bias, -16.0, 15.0); + limit = CLAMP(cso->lod_bias, -16.0, 15.0 + (255.0 / 256.0)); ps->filt |= (int)(cso->lod_bias * 256.0) & 0x1fff; - ps->max_lod = (int)(CLAMP(cso->max_lod, 0.0, 15.0) * 256.0); - ps->min_lod = (int)(CLAMP(cso->min_lod, 0.0, 15.0) * 256.0); + ps->max_lod = (int)(CLAMP(cso->max_lod, 0.0, 15.0 + (255.0 / 256.0)) * 256.0); + ps->min_lod = (int)(CLAMP(cso->min_lod, 0.0, 15.0 + (255.0 / 256.0)) * 256.0); ps->en |= NV40TCL_TEX_ENABLE_ENABLE; }