mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
softpipe: Use mag texture filter also for clamped lod == 0
Follow the spec when selecting the magnification filter (OpenGL 4.5,
section 8.14):
If λ(x, y) is less than or equal to the constant c (see section 8.15)
the texture is said to be magnified;
While we're here also silence a potential warning about implicit float
to double conversion.
v2: Update commit message to contain a reference to the spec as pointed
out by Eric.
Fixes a number of dEQP GLES2 and GLES3 test out of:
dEQP-GLES2.functional.texture.filtering.*
dEQP-GLES2.functional.texture.vertex.2d.filtering.*
dEQP-GLES3.functional.texture.vertex.*.filtering.*
dEQP-GLES3.functional.texture.filtering.*
dEQP-GLES3.functional.texture.shadow.2d.*
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
361f3d19f1
commit
0dff1533f2
1 changed files with 3 additions and 3 deletions
|
|
@ -1956,7 +1956,7 @@ mip_filter_linear(const struct sp_sampler_view *sp_sview,
|
|||
args.p = p[j];
|
||||
args.face_id = filt_args->faces[j];
|
||||
|
||||
if (lod[j] < 0.0) {
|
||||
if (lod[j] <= 0.0) {
|
||||
args.level = psview->u.tex.first_level;
|
||||
mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]);
|
||||
}
|
||||
|
|
@ -2040,7 +2040,7 @@ mip_filter_nearest(const struct sp_sampler_view *sp_sview,
|
|||
args.p = p[j];
|
||||
args.face_id = filt_args->faces[j];
|
||||
|
||||
if (lod[j] < 0.0) {
|
||||
if (lod[j] <= 0.0) {
|
||||
args.level = psview->u.tex.first_level;
|
||||
mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]);
|
||||
} else {
|
||||
|
|
@ -2100,7 +2100,7 @@ mip_filter_none(const struct sp_sampler_view *sp_sview,
|
|||
args.t = t[j];
|
||||
args.p = p[j];
|
||||
args.face_id = filt_args->faces[j];
|
||||
if (lod[j] < 0.0) {
|
||||
if (lod[j] <= 0.0f) {
|
||||
mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]);
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue