You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against f7e9604c3eb9082d3a1b0172ec7e3b21234fe7b7.
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
From 5b0590e3b6935cd82f7b88a69c92f7530edff337 Mon Sep 17 00:00:00 2001
|
||||
From 43c2d8643d8d7ece5f9e232c068a2b78a982ab8e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:55:03 +0200
|
||||
Subject: ddraw: Allow size and format conversions in IDirect3DTexture2::Load.
|
||||
|
||||
---
|
||||
dlls/ddraw/surface.c | 149 +++++++++++++++++++++++++++------------------------
|
||||
1 file changed, 79 insertions(+), 70 deletions(-)
|
||||
dlls/ddraw/surface.c | 150 +++++++++++++++++++++++++++------------------------
|
||||
1 file changed, 80 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index baf6201..7d91d47 100644
|
||||
index 3e57ad6..c6bde0f 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -5042,6 +5042,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
@@ -5035,6 +5035,46 @@ static struct ddraw_surface *get_sub_mimaplevel(struct ddraw_surface *surface)
|
||||
return impl_from_IDirectDrawSurface7(next_level);
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ index baf6201..7d91d47 100644
|
||||
/*****************************************************************************
|
||||
* IDirect3DTexture2::Load
|
||||
*
|
||||
@@ -5063,6 +5103,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5056,6 +5096,7 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
{
|
||||
struct ddraw_surface *dst_surface = impl_from_IDirect3DTexture2(iface);
|
||||
struct ddraw_surface *src_surface = unsafe_impl_from_IDirect3DTexture2(src_texture);
|
||||
@@ -66,7 +66,7 @@ index baf6201..7d91d47 100644
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("iface %p, src_texture %p.\n", iface, src_texture);
|
||||
@@ -5075,90 +5116,59 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5068,90 +5109,60 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
|
||||
wined3d_mutex_lock();
|
||||
|
||||
@@ -182,8 +182,9 @@ index baf6201..7d91d47 100644
|
||||
|
||||
- wined3d_surface_unmap(src_surface->wined3d_surface);
|
||||
- wined3d_surface_unmap(dst_surface->wined3d_surface);
|
||||
+ hr = wined3d_surface_blt(dst_surface->wined3d_surface, &dst_rect, src_surface->wined3d_surface,
|
||||
+ &src_rect, 0, NULL, WINED3D_TEXF_LINEAR);
|
||||
+ hr = wined3d_texture_blt(dst_surface->wined3d_texture, dst_surface->sub_resource_idx, &dst_rect,
|
||||
+ src_surface->wined3d_texture, src_surface->sub_resource_idx, &src_rect,
|
||||
+ 0, NULL, WINED3D_TEXF_LINEAR);
|
||||
+ if (FAILED(hr))
|
||||
+ {
|
||||
+ ERR("Failed to blit surface, hr %#x.\n", hr);
|
||||
@@ -192,7 +193,7 @@ index baf6201..7d91d47 100644
|
||||
}
|
||||
|
||||
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_MIPMAP)
|
||||
@@ -5171,12 +5181,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
@@ -5164,12 +5175,11 @@ static HRESULT WINAPI d3d_texture2_Load(IDirect3DTexture2 *iface, IDirect3DTextu
|
||||
else
|
||||
dst_surface = NULL;
|
||||
|
||||
|
Reference in New Issue
Block a user