st/mesa: set sampler_view::last_level correctly
It was set to pipe_resource::last_level and _MaxLevel was embedded in max_lod, that's why it worked for ordinary texturing. However, min_lod doesn't have any effect on texelFetch and textureQueryLevels, so we must still set last_level correctly. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
@@ -160,11 +160,8 @@ convert_sampler(struct st_context *st,
|
||||
|
||||
sampler->lod_bias = ctx->Texture.Unit[texUnit].LodBias + msamp->LodBias;
|
||||
|
||||
sampler->min_lod = CLAMP(msamp->MinLod,
|
||||
0.0f,
|
||||
(GLfloat) texobj->MaxLevel - texobj->BaseLevel);
|
||||
sampler->max_lod = MIN2((GLfloat) texobj->MaxLevel - texobj->BaseLevel,
|
||||
msamp->MaxLod);
|
||||
sampler->min_lod = MAX2(msamp->MinLod, 0.0f);
|
||||
sampler->max_lod = msamp->MaxLod;
|
||||
if (sampler->max_lod < sampler->min_lod) {
|
||||
/* The GL spec doesn't seem to specify what to do in this case.
|
||||
* Swap the values.
|
||||
|
Reference in New Issue
Block a user