Henri Verbeet : wined3d: Explicitly calculate the sub-resource level in surface_load_renderbuffer( ).

Alexandre Julliard julliard at winehq.org
Fri Mar 2 12:16:44 CST 2018


Module: wine
Branch: master
Commit: 462b6d1bc8833d2ec4934ed3cbcccd988527c724
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=462b6d1bc8833d2ec4934ed3cbcccd988527c724

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Mar  2 12:28:45 2018 +0330

wined3d: Explicitly calculate the sub-resource level in surface_load_renderbuffer().

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/surface.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index c82da87..4a7ed19 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2441,9 +2441,10 @@ static BOOL surface_load_renderbuffer(struct wined3d_surface *surface, struct wi
         DWORD dst_location)
 {
     struct wined3d_texture *texture = surface->container;
+    unsigned int level = surface_get_sub_resource_idx(surface) % texture->level_count;
     const RECT rect = {0, 0,
-            wined3d_texture_get_level_width(texture, surface->texture_level),
-            wined3d_texture_get_level_height(texture, surface->texture_level)};
+            wined3d_texture_get_level_width(texture, level),
+            wined3d_texture_get_level_height(texture, level)};
     DWORD locations = surface_get_sub_resource(surface)->locations;
     DWORD src_location;
 




More information about the wine-cvs mailing list