mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against be91fcd879a1de768a57b4a06be470c10313b08d.
[advapi32-RegNotifyChangeKeyValue] Removed patch to fix return value of RegNotifyChangeKeyValue for pending events (accepted upstream).
This commit is contained in:
parent
1f66129ef4
commit
476a9c608e
@ -1,74 +0,0 @@
|
||||
From 63e3d8fa86ea5bb6dd9154754d57b680b00533ad Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 24 Mar 2016 02:42:22 +0100
|
||||
Subject: advapi32: Fix return value of RegNotifyChangeKeyValue for pending
|
||||
events.
|
||||
|
||||
Also remove handling for STATUS_TIMEOUT. Is it ever returned?
|
||||
---
|
||||
dlls/advapi32/registry.c | 2 +-
|
||||
dlls/advapi32/tests/registry.c | 28 ++++++++++++++++++++++++++++
|
||||
2 files changed, 29 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
|
||||
index 7992384..4b3d852 100644
|
||||
--- a/dlls/advapi32/registry.c
|
||||
+++ b/dlls/advapi32/registry.c
|
||||
@@ -2760,7 +2760,7 @@ LSTATUS WINAPI RegNotifyChangeKeyValue( HKEY hkey, BOOL fWatchSubTree,
|
||||
fdwNotifyFilter, fWatchSubTree, NULL, 0,
|
||||
fAsync);
|
||||
|
||||
- if (status && status != STATUS_TIMEOUT)
|
||||
+ if (status && status != STATUS_PENDING)
|
||||
return RtlNtStatusToDosError( status );
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
|
||||
index f877b36..82f5015 100644
|
||||
--- a/dlls/advapi32/tests/registry.c
|
||||
+++ b/dlls/advapi32/tests/registry.c
|
||||
@@ -3452,6 +3452,33 @@ static void test_RegOpenCurrentUser(void)
|
||||
RegCloseKey(key);
|
||||
}
|
||||
|
||||
+static void test_RegNotifyChangeKeyValue(void)
|
||||
+{
|
||||
+ HKEY key, subkey;
|
||||
+ HANDLE event;
|
||||
+ DWORD dwret;
|
||||
+ LONG ret;
|
||||
+
|
||||
+ event = CreateEventW(NULL, FALSE, TRUE, NULL);
|
||||
+ ok(event != NULL, "CreateEvent failed, error %u\n", GetLastError());
|
||||
+ ret = RegCreateKeyA(hkey_main, "TestKey", &key);
|
||||
+ ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret);
|
||||
+
|
||||
+ ret = RegNotifyChangeKeyValue(key, TRUE, REG_NOTIFY_CHANGE_NAME, event, TRUE);
|
||||
+ ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret);
|
||||
+ dwret = WaitForSingleObject(event, 0);
|
||||
+ ok(dwret == WAIT_TIMEOUT, "expected WAIT_TIMEOUT, got %u\n", dwret);
|
||||
+
|
||||
+ ret = RegCreateKeyA(key, "SubKey", &subkey);
|
||||
+ ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret);
|
||||
+ dwret = WaitForSingleObject(event, 0);
|
||||
+ ok(dwret == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", dwret);
|
||||
+
|
||||
+ RegDeleteKeyA(key, "");
|
||||
+ RegCloseKey(key);
|
||||
+ CloseHandle(event);
|
||||
+}
|
||||
+
|
||||
START_TEST(registry)
|
||||
{
|
||||
/* Load pointers for functions that are not available in all Windows versions */
|
||||
@@ -3486,6 +3513,7 @@ START_TEST(registry)
|
||||
test_delete_value();
|
||||
test_delete_key_value();
|
||||
test_RegOpenCurrentUser();
|
||||
+ test_RegNotifyChangeKeyValue();
|
||||
|
||||
/* cleanup */
|
||||
delete_key( hkey_main );
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [39863] Fix return value of RegNotifyChangeKeyValue for pending events
|
@ -1,90 +0,0 @@
|
||||
From 3b1a8788726b7031baa66985329f4071fc0600a7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 26 Feb 2016 23:14:25 +0100
|
||||
Subject: krnl386.exe16: Emulate 'mov Eb, Gb' instruction on x86 processor
|
||||
architecture.
|
||||
|
||||
Stolen from Sebastian Lackners ntorkrnl implementation.
|
||||
---
|
||||
dlls/krnl386.exe16/instr.c | 35 +++++++++++++++++++++++++++++------
|
||||
1 file changed, 29 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/krnl386.exe16/instr.c b/dlls/krnl386.exe16/instr.c
|
||||
index b44bd55..b0de30f 100644
|
||||
--- a/dlls/krnl386.exe16/instr.c
|
||||
+++ b/dlls/krnl386.exe16/instr.c
|
||||
@@ -113,7 +113,7 @@ static BOOL INSTR_ReplaceSelector( CONTEXT *context, WORD *sel )
|
||||
|
||||
|
||||
/* store an operand into a register */
|
||||
-static void store_reg( CONTEXT *context, BYTE regmodrm, const BYTE *addr, int long_op )
|
||||
+static void store_reg_word( CONTEXT *context, BYTE regmodrm, const BYTE *addr, int long_op )
|
||||
{
|
||||
switch((regmodrm >> 3) & 7)
|
||||
{
|
||||
@@ -152,6 +152,22 @@ static void store_reg( CONTEXT *context, BYTE regmodrm, const BYTE *addr, int lo
|
||||
}
|
||||
}
|
||||
|
||||
+/* store an operand into a byte register */
|
||||
+static void store_reg_byte( CONTEXT *context, BYTE regmodrm, const BYTE *addr )
|
||||
+{
|
||||
+ switch((regmodrm >> 3) & 7)
|
||||
+ {
|
||||
+ case 0: context->Eax = (context->Eax & 0xffffff00) | *addr; break;
|
||||
+ case 1: context->Ecx = (context->Ecx & 0xffffff00) | *addr; break;
|
||||
+ case 2: context->Edx = (context->Edx & 0xffffff00) | *addr; break;
|
||||
+ case 3: context->Ebx = (context->Ebx & 0xffffff00) | *addr; break;
|
||||
+ case 4: context->Eax = (context->Eax & 0xffff00ff) | (*addr << 8); break;
|
||||
+ case 5: context->Ecx = (context->Ecx & 0xffff00ff) | (*addr << 8); break;
|
||||
+ case 6: context->Edx = (context->Edx & 0xffff00ff) | (*addr << 8); break;
|
||||
+ case 7: context->Ebx = (context->Ebx & 0xffff00ff) | (*addr << 8); break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/***********************************************************************
|
||||
* INSTR_GetOperandAddr
|
||||
*
|
||||
@@ -333,7 +349,7 @@ static BOOL INSTR_EmulateLDS( CONTEXT *context, BYTE *instr, int long_op,
|
||||
|
||||
/* Now store the offset in the correct register */
|
||||
|
||||
- store_reg( context, *regmodrm, addr, long_op );
|
||||
+ store_reg_word( context, *regmodrm, addr, long_op );
|
||||
|
||||
/* Store the correct segment in the segment register */
|
||||
|
||||
@@ -689,19 +705,26 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
}
|
||||
return ExceptionContinueExecution;
|
||||
|
||||
+ case 0x8a: /* mov Eb, Gb */
|
||||
case 0x8b: /* mov Ev, Gv */
|
||||
{
|
||||
- BYTE *addr = INSTR_GetOperandAddr(context, instr + 1, long_addr,
|
||||
+ BYTE *data = INSTR_GetOperandAddr(context, instr + 1, long_addr,
|
||||
segprefix, &len);
|
||||
+ unsigned int data_size = (*instr == 0x8b) ? (long_op ? 4 : 2) : 1;
|
||||
struct idtr idtr = get_idtr();
|
||||
- unsigned int offset = addr - idtr.base;
|
||||
+ unsigned int offset = data - idtr.base;
|
||||
|
||||
- if (offset <= idtr.limit + 1 - (long_op ? 4 : 2))
|
||||
+ if (offset <= idtr.limit + 1 - data_size)
|
||||
{
|
||||
idt[1].LimitLow = 0x100; /* FIXME */
|
||||
idt[2].LimitLow = 0x11E; /* FIXME */
|
||||
idt[3].LimitLow = 0x500; /* FIXME */
|
||||
- store_reg( context, instr[1], (BYTE *)idt + offset, long_op );
|
||||
+
|
||||
+ switch (*instr)
|
||||
+ {
|
||||
+ case 0x8a: store_reg_byte( context, instr[1], (BYTE *)idt + offset ); break;
|
||||
+ case 0x8b: store_reg_word( context, instr[1], (BYTE *)idt + offset, long_op ); break;
|
||||
+ }
|
||||
context->Eip += prefixlen + len + 1;
|
||||
return ExceptionContinueExecution;
|
||||
}
|
||||
--
|
||||
2.7.1
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "f6c10b8a75943dc3a49890c9c7a64c91752a4ee0"
|
||||
echo "be91fcd879a1de768a57b4a06be470c10313b08d"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -86,7 +86,6 @@ patch_enable_all ()
|
||||
enable_Pipelight="$1"
|
||||
enable_Staging="$1"
|
||||
enable_advapi32_LsaLookupSids="$1"
|
||||
enable_advapi32_RegNotifyChangeKeyValue="$1"
|
||||
enable_advapi32_SetSecurityInfo="$1"
|
||||
enable_amstream_GetMultiMediaStream="$1"
|
||||
enable_api_ms_win_Stub_DLLs="$1"
|
||||
@ -433,9 +432,6 @@ patch_enable ()
|
||||
advapi32-LsaLookupSids)
|
||||
enable_advapi32_LsaLookupSids="$2"
|
||||
;;
|
||||
advapi32-RegNotifyChangeKeyValue)
|
||||
enable_advapi32_RegNotifyChangeKeyValue="$2"
|
||||
;;
|
||||
advapi32-SetSecurityInfo)
|
||||
enable_advapi32_SetSecurityInfo="$2"
|
||||
;;
|
||||
@ -2546,21 +2542,6 @@ if test "$enable_advapi32_LsaLookupSids" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset advapi32-RegNotifyChangeKeyValue
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39863] Fix return value of RegNotifyChangeKeyValue for pending events
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/registry.c, dlls/advapi32/tests/registry.c
|
||||
# |
|
||||
if test "$enable_advapi32_RegNotifyChangeKeyValue" -eq 1; then
|
||||
patch_apply advapi32-RegNotifyChangeKeyValue/0001-advapi32-Fix-return-value-of-RegNotifyChangeKeyValue.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "advapi32: Fix return value of RegNotifyChangeKeyValue for pending events.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset advapi32-SetSecurityInfo
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -4308,10 +4289,8 @@ fi
|
||||
# | * dlls/krnl386.exe16/instr.c
|
||||
# |
|
||||
if test "$enable_krnl386_exe16_GDT_LDT_Emulation" -eq 1; then
|
||||
patch_apply krnl386.exe16-GDT_LDT_Emulation/0001-krnl386.exe16-Emulate-mov-Eb-Gb-instruction-on-x86-p.patch
|
||||
patch_apply krnl386.exe16-GDT_LDT_Emulation/0002-krnl386.exe16-Emulate-GDT-and-LDT-access.patch
|
||||
patch_apply krnl386.exe16-GDT_LDT_Emulation/0001-krnl386.exe16-Emulate-GDT-and-LDT-access.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "krnl386.exe16: Emulate '\''mov Eb, Gb'\'' instruction on x86 processor architecture.", 1 },';
|
||||
echo '+ { "Michael Müller", "krnl386.exe16: Emulate GDT and LDT access.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8e605496655d72d832a822ba6adc77fdc2540216 Mon Sep 17 00:00:00 2001
|
||||
From 5c8e815ea863794e9c598e99a3b3d7357478d067 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Thomases <ken@codeweavers.com>
|
||||
Date: Sun, 14 Sep 2014 19:47:03 -0500
|
||||
Subject: Revert "wined3d: Track if a context's hdc is private so we never need
|
||||
@ -11,10 +11,10 @@ This reverts commit 272873823e9beff91ea1a62845fc7e5f94a9636f.
|
||||
2 files changed, 9 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index cfd6ec6..ed14aa4 100644
|
||||
index 45dae36..ab217fc 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -812,7 +812,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
|
||||
@@ -939,7 +939,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
int current = GetPixelFormat(dc);
|
||||
@@ -830,7 +830,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
|
||||
@@ -957,7 +957,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
|
||||
}
|
||||
|
||||
context->restore_pf = 0;
|
||||
@ -32,7 +32,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -849,12 +849,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
|
||||
@@ -976,12 +976,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
context->restore_pf_win = win;
|
||||
}
|
||||
|
||||
@@ -875,7 +875,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
|
||||
@@ -1002,7 +1002,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
|
||||
struct wined3d_swapchain *swapchain = ctx->swapchain;
|
||||
BOOL backup = FALSE;
|
||||
|
||||
@ -56,7 +56,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
{
|
||||
WARN("Failed to set pixel format %d on device context %p.\n",
|
||||
ctx->pixel_format, ctx->hdc);
|
||||
@@ -908,7 +908,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
|
||||
@@ -1035,7 +1035,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
{
|
||||
ERR("Failed to set pixel format %d on device context %p.\n",
|
||||
ctx->pixel_format, dc);
|
||||
@@ -952,7 +952,6 @@ static void context_update_window(struct wined3d_context *context)
|
||||
@@ -1079,7 +1079,6 @@ static void context_update_window(struct wined3d_context *context)
|
||||
wined3d_release_dc(context->win_handle, context->hdc);
|
||||
|
||||
context->win_handle = context->swapchain->win_handle;
|
||||
@ -73,15 +73,15 @@ index cfd6ec6..ed14aa4 100644
|
||||
context->needs_set = 1;
|
||||
context->valid = 1;
|
||||
|
||||
@@ -1446,7 +1445,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
int swap_interval;
|
||||
@@ -1573,7 +1572,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
unsigned int s;
|
||||
DWORD state;
|
||||
HDC hdc = 0;
|
||||
- BOOL hdc_is_private = FALSE;
|
||||
|
||||
TRACE("swapchain %p, target %p, window %p.\n", swapchain, target, swapchain->win_handle);
|
||||
|
||||
@@ -1519,9 +1517,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
@@ -1651,9 +1649,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
{
|
||||
WARN("Failed to retrieve device context, trying swapchain backup.\n");
|
||||
|
||||
@ -92,7 +92,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
{
|
||||
ERR("Failed to retrieve a device context.\n");
|
||||
goto out;
|
||||
@@ -1587,7 +1583,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
@@ -1719,7 +1715,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
|
||||
ret->gl_info = gl_info;
|
||||
|
||||
@ -101,7 +101,7 @@ index cfd6ec6..ed14aa4 100644
|
||||
{
|
||||
ERR("Failed to set pixel format %d on device context %p.\n", pixel_format, hdc);
|
||||
context_release(ret);
|
||||
@@ -1650,7 +1646,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
@@ -1783,7 +1779,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
ret->glCtx = ctx;
|
||||
ret->win_handle = swapchain->win_handle;
|
||||
ret->hdc = hdc;
|
||||
@ -110,10 +110,10 @@ index cfd6ec6..ed14aa4 100644
|
||||
ret->needs_set = 1;
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index a5e7167..00ecbc4 100644
|
||||
index 7c9b4d2..8683604 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1218,9 +1218,8 @@ struct wined3d_context
|
||||
@@ -1356,9 +1356,8 @@ struct wined3d_context
|
||||
DWORD use_immediate_mode_draw : 1;
|
||||
DWORD rebind_fbo : 1;
|
||||
DWORD needs_set : 1;
|
||||
@ -125,5 +125,5 @@ index a5e7167..00ecbc4 100644
|
||||
DWORD constant_update_mask;
|
||||
DWORD numbered_array_mask;
|
||||
--
|
||||
2.6.4
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8ab4cc3db3686130a15d6698675c836cebf5f78f Mon Sep 17 00:00:00 2001
|
||||
From bf05198e84d5e154902542508e769163fcda3cc8 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 21 Mar 2016 18:27:59 +0100
|
||||
Subject: wined3d: Silence extremely noisy FIXME in
|
||||
@ -9,10 +9,10 @@ Subject: wined3d: Silence extremely noisy FIXME in
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 4d2a94f..853564e 100644
|
||||
index 3476b32e..ec2f372 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -898,7 +898,7 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
||||
@@ -1036,7 +1036,7 @@ HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
|
||||
}
|
||||
|
||||
if (dirty_region)
|
||||
@ -20,7 +20,7 @@ index 4d2a94f..853564e 100644
|
||||
+ WARN("Ignoring dirty_region %s.\n", debug_box(dirty_region));
|
||||
|
||||
context = context_acquire(texture->resource.device, NULL);
|
||||
if (!texture->texture_ops->texture_load_location(texture, sub_resource_idx, context, sub_resource->map_binding))
|
||||
if (!texture->texture_ops->texture_load_location(texture, sub_resource_idx,
|
||||
--
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b1ebd3a49593c0feb4780fd9cf47910095c3c8fc Mon Sep 17 00:00:00 2001
|
||||
From 70aa91068703ddf7f6edb982f1a1c37482df7dcf Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 4 Nov 2015 19:31:30 +0100
|
||||
Subject: wined3d: Rename wined3d_resource_(un)map to
|
||||
@ -21,7 +21,7 @@ To avoid name conflicts in the CSMT patchset.
|
||||
12 files changed, 44 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 4e84dad..551dea7 100644
|
||||
index f0bb52e..b804bc4 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -273,7 +273,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_Map(ID3D11DeviceContext
|
||||
@ -227,7 +227,7 @@ index 83457fc..7f51a1d 100644
|
||||
|
||||
if (src_surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_MIPMAP)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 62e5129..0a32e14 100644
|
||||
index 5231533..42dd0f1 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3569,7 +3569,7 @@ static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
|
||||
@ -248,7 +248,7 @@ index 62e5129..0a32e14 100644
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -4289,7 +4289,7 @@ static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined
|
||||
@@ -4293,7 +4293,7 @@ static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined
|
||||
struct wined3d_texture *texture;
|
||||
HRESULT hr;
|
||||
|
||||
@ -257,7 +257,7 @@ index 62e5129..0a32e14 100644
|
||||
{
|
||||
ERR("Failed to map source texture.\n");
|
||||
return NULL;
|
||||
@@ -4312,7 +4312,7 @@ static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined
|
||||
@@ -4316,7 +4316,7 @@ static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined
|
||||
|
||||
hr = wined3d_texture_create(device, &desc, 1, WINED3D_TEXTURE_CREATE_MAPPABLE,
|
||||
&data, NULL, &wined3d_null_parent_ops, &texture);
|
||||
@ -266,7 +266,7 @@ index 62e5129..0a32e14 100644
|
||||
if (FAILED(hr))
|
||||
{
|
||||
ERR("Failed to create cursor texture.\n");
|
||||
@@ -4392,14 +4392,14 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
|
||||
@@ -4396,14 +4396,14 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
|
||||
return E_OUTOFMEMORY;
|
||||
memset(mask_bits, 0xff, mask_size);
|
||||
|
||||
@ -306,41 +306,49 @@ index 423d162..0821fde 100644
|
||||
TRACE("resource %p, sub_resource_idx %u.\n", resource, sub_resource_idx);
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index a7dfbf5..d47f3a9 100644
|
||||
index 16d03e8..aece7e5 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1735,25 +1735,25 @@ static struct wined3d_texture *surface_convert_format(struct wined3d_texture *sr
|
||||
memset(&src_map, 0, sizeof(src_map));
|
||||
memset(&dst_map, 0, sizeof(dst_map));
|
||||
@@ -1737,7 +1737,7 @@ static struct wined3d_texture *surface_convert_format(struct wined3d_texture *sr
|
||||
}
|
||||
|
||||
memset(&src_map, 0, sizeof(src_map));
|
||||
- if (FAILED(wined3d_resource_map(&src_texture->resource, sub_resource_idx,
|
||||
+ if (FAILED(wined3d_resource_sub_resource_map(&src_texture->resource, sub_resource_idx,
|
||||
&src_map, NULL, WINED3D_MAP_READONLY)))
|
||||
{
|
||||
ERR("Failed to map the source texture.\n");
|
||||
wined3d_texture_decref(dst_texture);
|
||||
return NULL;
|
||||
@@ -1749,17 +1749,17 @@ static struct wined3d_texture *surface_convert_format(struct wined3d_texture *sr
|
||||
struct wined3d_map_desc dst_map;
|
||||
|
||||
memset(&dst_map, 0, sizeof(dst_map));
|
||||
- if (FAILED(wined3d_resource_map(&dst_texture->resource, 0, &dst_map, NULL, 0)))
|
||||
+ if (FAILED(wined3d_resource_sub_resource_map(&dst_texture->resource, 0, &dst_map, NULL, 0)))
|
||||
{
|
||||
ERR("Failed to map the destination texture.\n");
|
||||
- wined3d_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
+ wined3d_resource_sub_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
wined3d_texture_decref(dst_texture);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
conv->convert(src_map.data, dst_map.data, src_map.row_pitch, dst_map.row_pitch, desc.width, desc.height);
|
||||
|
||||
- wined3d_resource_unmap(&dst_texture->resource, 0);
|
||||
+ wined3d_resource_sub_resource_unmap(&dst_texture->resource, 0);
|
||||
}
|
||||
- if (FAILED(wined3d_resource_map(&dst_texture->resource, 0, &dst_map, NULL, 0)))
|
||||
+ if (FAILED(wined3d_resource_sub_resource_map(&dst_texture->resource, 0, &dst_map, NULL, 0)))
|
||||
else
|
||||
{
|
||||
ERR("Failed to map the destination texture.\n");
|
||||
- wined3d_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
+ wined3d_resource_sub_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
wined3d_texture_decref(dst_texture);
|
||||
return NULL;
|
||||
@@ -1783,7 +1783,7 @@ static struct wined3d_texture *surface_convert_format(struct wined3d_texture *sr
|
||||
wined3d_texture_validate_location(dst_texture, 0, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
wined3d_texture_invalidate_location(dst_texture, 0, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
conv->convert(src_map.data, dst_map.data, src_map.row_pitch, dst_map.row_pitch, desc.width, desc.height);
|
||||
|
||||
- wined3d_resource_unmap(&dst_texture->resource, 0);
|
||||
- wined3d_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
+ wined3d_resource_sub_resource_unmap(&dst_texture->resource, 0);
|
||||
+ wined3d_resource_sub_resource_unmap(&src_texture->resource, sub_resource_idx);
|
||||
|
||||
return dst_texture;
|
||||
}
|
||||
@@ -3648,7 +3648,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
@@ -3678,7 +3678,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
if (src_texture == dst_texture && src_sub_resource_idx == dst_sub_resource_idx)
|
||||
{
|
||||
same_sub_resource = TRUE;
|
||||
@ -349,7 +357,7 @@ index a7dfbf5..d47f3a9 100644
|
||||
src_map = dst_map;
|
||||
src_format = dst_texture->resource.format;
|
||||
dst_format = src_format;
|
||||
@@ -3673,7 +3673,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
@@ -3703,7 +3703,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
src_texture = converted_texture;
|
||||
src_sub_resource_idx = 0;
|
||||
}
|
||||
@ -358,7 +366,7 @@ index a7dfbf5..d47f3a9 100644
|
||||
src_format = src_texture->resource.format;
|
||||
src_fmt_flags = src_texture->resource.format_flags;
|
||||
}
|
||||
@@ -3683,7 +3683,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
@@ -3713,7 +3713,7 @@ static HRESULT surface_cpu_blt(struct wined3d_texture *dst_texture, unsigned int
|
||||
src_fmt_flags = dst_fmt_flags;
|
||||
}
|
||||
|
||||
@ -367,7 +375,7 @@ index a7dfbf5..d47f3a9 100644
|
||||
}
|
||||
|
||||
bpp = dst_format->byte_count;
|
||||
@@ -4099,9 +4099,9 @@ error:
|
||||
@@ -4129,9 +4129,9 @@ error:
|
||||
FIXME(" Unsupported flags %#x.\n", flags);
|
||||
|
||||
release:
|
||||
|
Loading…
Reference in New Issue
Block a user