[PATCH 1/2] wined3d: Correctly restore texture max level in shader_resource_view_generate_mipmaps().
Józef Kucia
jkucia at codeweavers.com
Thu Dec 7 05:39:55 CST 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/wined3d/view.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index 4463fabb6ae5..3322baa2b5b7 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -842,7 +842,7 @@ void shader_resource_view_generate_mipmaps(struct wined3d_shader_resource_view *
base_level = view->desc.u.texture.level_idx;
max_level = base_level + level_count - 1;
- srgb = !!(texture->flags & WINED3D_TEXTURE_IS_SRGB);
+ srgb = texture->flags & WINED3D_TEXTURE_IS_SRGB;
location = srgb ? WINED3D_LOCATION_TEXTURE_SRGB : WINED3D_LOCATION_TEXTURE_RGB;
for (i = 0; i < layer_count; ++i)
wined3d_texture_load_location(texture, i * level_count + base_level, context, location);
@@ -874,11 +874,8 @@ void shader_resource_view_generate_mipmaps(struct wined3d_shader_resource_view *
}
}
- gl_info->gl_ops.gl.p_glTexParameteri(texture->target, GL_TEXTURE_MAX_LEVEL, level_count - 1);
- if (srgb)
- texture->texture_srgb.base_level = base_level;
- else
- texture->texture_rgb.base_level = base_level;
+ gl_info->gl_ops.gl.p_glTexParameteri(texture->target, GL_TEXTURE_MAX_LEVEL, texture->level_count - 1);
+ gl_tex->base_level = base_level;
context_release(context);
}
--
2.13.6
More information about the wine-devel
mailing list