Riccardo Bortolato : d3d8: Use wined3d_rendertarget_view_create instead of wined3d_rendertarget_view_create_from_surface in d3d8_surface_get_rendertarget_view.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Oct 15 10:27:59 CDT 2015


Module: wine
Branch: master
Commit: 7fc43d3c0946576ab18eb0d08187558aedc56b78
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7fc43d3c0946576ab18eb0d08187558aedc56b78

Author: Riccardo Bortolato <rikyz619 at gmail.com>
Date:   Tue Oct 13 18:45:39 2015 +0200

d3d8: Use wined3d_rendertarget_view_create instead of wined3d_rendertarget_view_create_from_surface in d3d8_surface_get_rendertarget_view.

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

---

 dlls/d3d8/surface.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/dlls/d3d8/surface.c b/dlls/d3d8/surface.c
index cce8b87..077502d 100644
--- a/dlls/d3d8/surface.c
+++ b/dlls/d3d8/surface.c
@@ -348,12 +348,23 @@ static const struct wined3d_parent_ops d3d8_view_wined3d_parent_ops =
 
 struct wined3d_rendertarget_view *d3d8_surface_get_rendertarget_view(struct d3d8_surface *surface)
 {
+    struct wined3d_resource *resource;
+    struct wined3d_resource_desc resource_desc;
+    struct wined3d_rendertarget_view_desc desc;
     HRESULT hr;
 
     if (surface->wined3d_rtv)
         return surface->wined3d_rtv;
 
-    if (FAILED(hr = wined3d_rendertarget_view_create_from_surface(surface->wined3d_surface,
+    resource = wined3d_texture_get_resource(surface->wined3d_texture);
+    wined3d_resource_get_desc(resource, &resource_desc);
+
+    desc.format_id = resource_desc.format;
+    desc.u.texture.level_idx = surface->sub_resource_idx;
+    desc.u.texture.layer_idx = 0;
+    desc.u.texture.layer_count = 1;
+
+    if (FAILED(hr = wined3d_rendertarget_view_create(&desc, resource,
             surface, &d3d8_view_wined3d_parent_ops, &surface->wined3d_rtv)))
     {
         ERR("Failed to create rendertarget view, hr %#x.\n", hr);




More information about the wine-cvs mailing list