Compare commits

...

59 Commits

Author SHA1 Message Date
Sebastian Lackner
8c43c80df2 Release 1.9.11. 2016-05-29 20:16:54 +02:00
Sebastian Lackner
99ddea76c5 Temporarily disable ntdll-Thread_Stack patchset.
The patchset was initially added for 64-bit MSYS2, however it seems to
break various other applications. Disable it until a better solution is
found.
2016-05-29 17:20:49 +02:00
Sebastian Lackner
6eb4b11c22 Added patch for ntoskrnl.IoStopTimer stub function. 2016-05-29 16:45:04 +02:00
Sebastian Lackner
5eb1d3c69b Added patch to implement DrawDibProfileDisplay in msvideo.dll16. 2016-05-28 00:24:35 +02:00
Sebastian Lackner
70a46a2305 Added patch to provide DeviceID, Location and PortName for printers. 2016-05-28 00:18:19 +02:00
Sebastian Lackner
bd04bf9ac0 Added patch for setupapi.CM_Get_DevNode_Status stub implementation. 2016-05-28 00:13:07 +02:00
Sebastian Lackner
749dc37048 Rebase against 81c700e0f8f8670f9c3b05a4baab2b2cffaeff89. 2016-05-27 23:41:15 +02:00
Sebastian Lackner
a15b448623 Rebase against 0dcf255b51ef096d649a5b4daee7204409550376. 2016-05-27 23:01:46 +02:00
Sebastian Lackner
e460e59354 Rebase against a0c651cd7cf83c9fac6b8776de2d54a731fc4b29.
[secur32-ANSI_NTLM_Credentials]
Removed patch to fix handling of ANSI NTLM credentials (accepted upstream).
2016-05-26 23:38:44 +02:00
Sebastian Lackner
71bb1a35f5 Added patch to avoid sorting InMemoryOrderModuleList by memory address. 2016-05-26 15:55:53 +02:00
Sebastian Lackner
83d43970e8 wined3d-CSMT_Main: Use newly introduced wined3d_calloc function. 2016-05-26 01:38:25 +02:00
Sebastian Lackner
0f1aef64bf Rebase against b5aeb661b9297a6ee6047335f42543936f593525. 2016-05-25 21:17:56 +02:00
Sebastian Lackner
a40017a010 Rebase against 351bd33f2cd1edd680176ef777d77a3d1256ab6d. 2016-05-25 20:34:59 +02:00
Sebastian Lackner
94419b1dad Rebase against 698d4114677205c3e5a0df659d230fe982578757. 2016-05-25 03:43:00 +02:00
Sebastian Lackner
5d32e6fc71 Added patch with workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id. 2016-05-21 15:07:54 +02:00
Sebastian Lackner
f10c1d3c42 Rebase against 9a80284e1a886ff7e01d33f68715c9bfdb773459. 2016-05-19 20:06:07 +02:00
Sebastian Lackner
9aefba7af5 wined3d-CSMT_Main: Make float constant updates consistent with the rest of the code. 2016-05-19 14:44:21 +02:00
Sebastian Lackner
16e6b1c3e3 Rebase against 58e95f72218fa018739c484f172bc236e685d5bb.
[dbghelp-EnumerateLoadedModulesExW]
Removed patch to implement dbghelp.EnumerateLoadedModulesExW (fixed upstream).
2016-05-19 13:19:02 +02:00
Sebastian Lackner
8a2c526e13 Rebase against aa475ce23fa295a8f5d0fa120d7b3dac1a5a41b5.
[wininet-InternetReadFile]
Removed patch to return synchronously from InternetReadFile if there is no
more data to read (accepted upstream).
2016-05-19 13:18:45 +02:00
Sebastian Lackner
334b3cb393 Release 1.9.10. 2016-05-18 00:00:26 +02:00
Sebastian Lackner
54ed708c91 kernel32-Locale_Definitions: Update patchset and remove STAGED status. 2016-05-17 22:43:28 +02:00
Sebastian Lackner
1294cf8ca9 Added patch to implement msvcrt._fstat32i64. 2016-05-17 21:52:28 +02:00
Sebastian Lackner
5c40d98a8f Disabled wined3d-Revert_PixelFormat patchset.
The issue has already been fixed a while ago, and there are no known cases
where this patch actually makes a difference.
2016-05-17 15:15:15 +02:00
Sebastian Lackner
cc62b92f5e Added patch to recognize bump luminance X8L8V8U8 when loading dds file. 2016-05-17 14:51:17 +02:00
Sebastian Lackner
a89e9696d4 Added patch to properly handle invalid parameters in CharToOem* and OemToChar* APIs. 2016-05-17 14:43:30 +02:00
Sebastian Lackner
5f37cb2071 Added patch to resize buffer when call to InternetCanonicalizeUrlW fails in InternetCrackUrlW. 2016-05-17 14:38:43 +02:00
Sebastian Lackner
b4c93af2cb wined3d-CSMT_Main: Reenable CSMT patchset. 2016-05-17 12:57:30 +02:00
Sebastian Lackner
c2b1a0350d Added patch to implement dbghelp.EnumerateLoadedModulesExW. 2016-05-16 20:04:51 +02:00
Sebastian Lackner
70c4687b47 Added patch to fix various issues related to UnmapViewOfFile. 2016-05-16 19:59:21 +02:00
Sebastian Lackner
9907ab34d3 Added patch to return synchronously from InternetReadFile if there is no more data to read. 2016-05-16 19:40:37 +02:00
Sebastian Lackner
cd9936654a Rebase against f7ac364b0c06bbe7a1ef5b715f2be46b5e6c04d4. 2016-05-16 19:31:20 +02:00
Sebastian Lackner
87b3c56914 imagehlp-ImageLoad: Add dependency on imagehlp-Cleanup and remove a couple of todo_wines. 2016-05-15 22:55:46 +02:00
Sebastian Lackner
65a09eaaa0 d3d9-DesktopWindow: Fix some test failures. 2016-05-15 22:50:00 +02:00
Sebastian Lackner
35e6091943 winepulse-PulseAudio_Support: Add todo_wine to avoid a test failure. 2016-05-15 20:30:25 +02:00
Sebastian Lackner
2dff0d6075 oleaut32-OLEPictureImpl_SaveAsFile: Implement SaveAsFile for PICTYPE_ENHMETAFILE. 2016-05-15 19:09:59 +02:00
Sebastian Lackner
fd89a1b64c Added patch to avoid test failures in d2d1 tests on specific Nvidia graphic cards. 2016-05-15 17:32:04 +02:00
Sebastian Lackner
352d7723f5 mpr-WNetGetUniversalNameW: Fix a couple of test failures. 2016-05-15 17:28:01 +02:00
Sebastian Lackner
4564b0148b iphlpapi-System_Ping: Add/remove todo_wine to avoid test failures. 2016-05-15 17:20:24 +02:00
Sebastian Lackner
56c4a42468 Merge d3d9-Skip_Tests and d3d9-Tests patchset. 2016-05-15 17:15:01 +02:00
Sebastian Lackner
49f61371b2 Added patch to avoid test failures in d3d9 visual tests on specific Nvidia graphic cards. 2016-05-15 17:13:53 +02:00
Sebastian Lackner
fa0e389d75 Added patch to hide random test failures in ws2_32 socket tests. 2016-05-15 17:12:01 +02:00
Sebastian Lackner
44b04d6d36 winex11-wglShareLists: Remove todo for a succeeding tests. 2016-05-15 16:53:46 +02:00
Sebastian Lackner
64714a825f wined3d-Accounting: Mark some failing tests as todo. 2016-05-15 16:49:22 +02:00
Sebastian Lackner
71b8ace1aa wined3d-QUERY_Stubs: Remove todo for a couple of succeeding tests. 2016-05-15 16:38:54 +02:00
Sebastian Lackner
d661521305 ntdll-WRITECOPY: Do not mark tests as fixed.
The code is not active unless a special environment variable is set.
2016-05-15 16:32:20 +02:00
Sebastian Lackner
6f424b1e0f Rebase against 1348d9e97b1e83c99b68e0c9b592798038dc7f41. 2016-05-15 02:23:15 +02:00
Sebastian Lackner
131c688ab3 Added patch for sr-Latn-{CS,RS} locale definitions. 2016-05-15 00:11:30 +02:00
Sebastian Lackner
27ba45e053 Added patch to preserve custom colors between subitems for listview control. 2016-05-14 23:55:10 +02:00
Sebastian Lackner
1acbf46fcf Added patch to fix DialogBoxParam return value when control creation fails. 2016-05-14 23:46:34 +02:00
Sebastian Lackner
dc4a52734f Added patch with riched20 class tests. 2016-05-13 10:33:56 +02:00
Sebastian Lackner
b1d1f3475b Added patch to implement gdiplus.GdipGetMetafileHeaderFromMetafile and other metafile functions. 2016-05-13 08:29:00 +02:00
Sebastian Lackner
00902fdb2f Added patch to update Wine Gecko to version 2.47-beta1. 2016-05-11 02:58:17 +02:00
Sebastian Lackner
ee7d9bd76b oleaut32-Vtable_Offset: Add reference to upstream bug report. 2016-05-11 02:48:15 +02:00
Sebastian Lackner
e38a9d7073 Added patch to set buffer size to zero when InitializeSecurityContextW returns no data. 2016-05-08 23:20:09 +02:00
Sebastian Lackner
cd9e01c9ed Added patch to implement support for fs segment in GetThreadSelectorEntry. 2016-05-08 20:24:58 +02:00
Sebastian Lackner
ece39ae33d Added patch to extend a vtable offset before calling 64-bit DispCallFunc() for a 32-bit typelib. 2016-05-06 04:16:30 +02:00
Sebastian Lackner
cecff04cad Rebase against 6dd6c76299f02a311e37d20a4cef3a0f917f7076.
[ntdll-FileNamesInformation]
Removed patch to implement FileNamesInformation class support for
NtQueryDirectoryFile (fixed upstream).
2016-05-06 00:52:12 +02:00
Sebastian Lackner
96068c4fe2 Rebase against 9eaa37249948c4d77df37cf3649ad1db59412fcb.
[amstream-GetMultiMediaStream]
Removed patch to implement AMStream GetMultiMediaStream functions (accepted
upstream).

[mscoree-Buffer_Overflow]
Removed patch to avoid buffer overflow in mono print handler for large strings
(accepted upstream).

[ntdll-Fix_Free]
Removed patch to fix a handle leak in RemoveDirectoryW (accepted upstream).

[ntdll-FreeBSD_Directory]
Removed patch to use POSIX implementation to enumerate directory content on
FreeBSD (fixed upstream).
2016-05-04 05:14:18 +02:00
Sebastian Lackner
8e5acbdae3 Rebase against bd2999db92e63f3aa8b48945503c616c28726842.
[dwmapi-DwmSetWindowAttribute]
Removed patch to fake success in dwmapi.DwmSetWindowAttribute function
(accepted upstream).

[ntdll-NtSetLdtEntries]
Partially removed patch to implement ntdll.NtSetLdtEntries (accepted upstream).

[shell32-UNIXFS_get_unix_path]
Removed patch to check IsWoW64Process before calling Wow64 functions in
UNIXFS_get_unix_path (fixed upstream).
2016-05-02 20:35:09 +02:00
347 changed files with 15545 additions and 22292 deletions

View File

@@ -1,88 +0,0 @@
From 4d0e6bbc00bd49b8dcfce494bd7380c49f58f92b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 28 Jul 2015 18:21:20 +0200
Subject: amstream: Implement IAMMediaStream::GetMultiMediaStream.
---
dlls/amstream/mediastream.c | 40 ++++++++++++++++++++++++++++++++--------
1 file changed, 32 insertions(+), 8 deletions(-)
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
index 947be1e..e4e15d7 100644
--- a/dlls/amstream/mediastream.c
+++ b/dlls/amstream/mediastream.c
@@ -110,9 +110,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetMultiMediaStre
{
DirectDrawMediaStreamImpl *This = impl_from_DirectDrawMediaStream_IAMMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
- return S_FALSE;
+ if (!multi_media_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multi_media_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
@@ -271,9 +277,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetMultiM
{
DirectDrawMediaStreamImpl *This = impl_from_IDirectDrawMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
- return S_FALSE;
+ if (!ppMultiMediaStream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *ppMultiMediaStream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream *iface,
@@ -511,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA
{
AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
+ TRACE("(%p/%p)->(%p)\n", This, iface, multi_media_stream);
- return S_FALSE;
+ if (!multi_media_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multi_media_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
@@ -672,9 +690,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetMultiMediaStream
{
AudioMediaStreamImpl *This = impl_from_IAudioMediaStream(iface);
- FIXME("(%p/%p)->(%p) stub!\n", iface, This, multimedia_stream);
+ TRACE("(%p/%p)->(%p)\n", iface, This, multimedia_stream);
- return S_FALSE;
+ if (!multimedia_stream)
+ return E_POINTER;
+
+ IMultiMediaStream_AddRef(This->parent);
+ *multimedia_stream = This->parent;
+
+ return S_OK;
}
static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetInformation(IAudioMediaStream *iface,
--
2.4.5

View File

@@ -1 +0,0 @@
Fixes: [37090] Implement AMStream GetMultiMediaStream functions

View File

@@ -0,0 +1,28 @@
From 21f4e393d9843841f2038b09f88d6bcb96d9f539 Mon Sep 17 00:00:00 2001
From: Daniel Jelinski <djelinski1@gmail.com>
Date: Sat, 12 Jul 2014 23:58:19 +0200
Subject: comctl32: Preserve custom colors between subitems.
---
dlls/comctl32/listview.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 38c376c..f83254a 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -4794,11 +4794,6 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
if (cdsubitemmode & CDRF_NOTIFYSUBITEMDRAW)
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPREPAINT, &nmlvcd);
- else
- {
- nmlvcd.clrTextBk = infoPtr->clrTextBk;
- nmlvcd.clrText = infoPtr->clrText;
- }
if (subitems->nItem == 0 || (cdmode & CDRF_NOTIFYITEMDRAW))
prepaint_setup(infoPtr, hdc, &nmlvcd, FALSE);
--
2.8.0

View File

@@ -0,0 +1 @@
Fixes: [38941] Preserve custom colors between subitems for listview control

View File

@@ -0,0 +1,24 @@
From 46a3f35c38aa4dcb9ca3101fc346fe44fa0d240d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 15 May 2016 17:30:35 +0200
Subject: d2d1/tests: Avoid test failure on specific Nvidia graphic cards.
---
dlls/d2d1/tests/d2d1.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 7f9632f..0961373 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -1103,6 +1103,7 @@ static void test_bitmap_brush(void)
hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL);
ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
match = compare_surface(surface, "393636185359a550d459e1e5f0e25411814f724c");
+ todo_wine_if (compare_surface(surface, "f428a7d2f886e33a8be006a831fb38d88b235884"))
ok(match, "Surface does not match.\n");
ID2D1RenderTarget_BeginDraw(rt);
--
2.8.0

View File

@@ -1,4 +1,4 @@
From 4d175fa573da8103e76f59f93b528dc9d37c146d Mon Sep 17 00:00:00 2001
From 26a7497a9fb1184080a1622f6a834bed50d2a239 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 3 Jun 2015 22:57:21 +0200
Subject: winex11.drv: Allow changing the opengl pixel format on the desktop
@@ -11,15 +11,73 @@ window will fail because of this limitation. Unless someone comes up with
a more correct solution or finds an application that breaks because of this,
it seems to be a suitable workaround as it fixes multiple applications.
---
dlls/d3d9/tests/device.c | 16 ++++++++++++++++
dlls/winex11.drv/opengl.c | 5 ++++-
2 files changed, 20 insertions(+), 1 deletion(-)
dlls/d3d10_1/tests/d3d10_1.c | 14 ++++++++++++--
dlls/d3d11/tests/d3d11.c | 20 ++++++++++++++++----
dlls/d3d9/tests/device.c | 16 ++++++++++++++++
dlls/winex11.drv/opengl.c | 5 ++++-
4 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/dlls/d3d10_1/tests/d3d10_1.c b/dlls/d3d10_1/tests/d3d10_1.c
index f5b1454..ac21f68 100644
--- a/dlls/d3d10_1/tests/d3d10_1.c
+++ b/dlls/d3d10_1/tests/d3d10_1.c
@@ -226,8 +226,18 @@ static void test_create_device(void)
hr = D3D10CreateDeviceAndSwapChain1(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 0,
supported_feature_level, D3D10_1_SDK_VERSION, &swapchain_desc, &swapchain, &device);
todo_wine ok(hr == DXGI_ERROR_INVALID_CALL, "D3D10CreateDeviceAndSwapChain1 returned %#x.\n", hr);
- ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
- ok(!device, "Got unexpected device pointer %p.\n", device);
+ if (SUCCEEDED(hr))
+ {
+ refcount = IDXGISwapChain_Release(swapchain);
+ ok(!refcount, "Swapchain has %u references left.\n", refcount);
+ refcount = ID3D10Device1_Release(device);
+ ok(!refcount, "Device has %u references left.\n", refcount);
+ }
+ else
+ {
+ ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
+ ok(!device, "Got unexpected device pointer %p.\n", device);
+ }
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D10Device1 *)0xdeadbeef;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 04a369c..ee506f5 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -805,10 +805,22 @@ static void test_create_device(void)
hr = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0, D3D11_SDK_VERSION,
&swapchain_desc, &swapchain, &device, &feature_level, &immediate_context);
todo_wine ok(hr == DXGI_ERROR_INVALID_CALL, "D3D11CreateDeviceAndSwapChain returned %#x.\n", hr);
- ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
- ok(!device, "Got unexpected device pointer %p.\n", device);
- ok(!feature_level, "Got unexpected feature level %#x.\n", feature_level);
- ok(!immediate_context, "Got unexpected immediate context pointer %p.\n", immediate_context);
+ if (SUCCEEDED(hr))
+ {
+ refcount = IDXGISwapChain_Release(swapchain);
+ ok(!refcount, "Swapchain has %u references left.\n", refcount);
+ refcount = ID3D11DeviceContext_Release(immediate_context);
+ ok(!refcount, "Immediate context has %u references left.\n", refcount);
+ refcount = ID3D11Device_Release(device);
+ ok(!refcount, "Device has %u references left.\n", refcount);
+ }
+ else
+ {
+ ok(!swapchain, "Got unexpected swapchain pointer %p.\n", swapchain);
+ ok(!device, "Got unexpected device pointer %p.\n", device);
+ ok(!feature_level, "Got unexpected feature level %#x.\n", feature_level);
+ ok(!immediate_context, "Got unexpected immediate context pointer %p.\n", immediate_context);
+ }
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D11Device *)0xdeadbeef;
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index e6edb00..5a75f3a 100644
index 4302f76..342f8d2 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -11049,6 +11049,21 @@ done:
@@ -11171,6 +11171,21 @@ static void test_get_render_target_data(void)
DestroyWindow(window);
}
@@ -41,19 +99,19 @@ index e6edb00..5a75f3a 100644
START_TEST(device)
{
WNDCLASSA wc = {0};
@@ -11164,6 +11179,7 @@ START_TEST(device)
test_swapchain_parameters();
@@ -11287,6 +11302,7 @@ START_TEST(device)
test_check_device_format();
test_miptree_layout();
test_get_render_target_data();
+ test_desktop_window();
UnregisterClassA("d3d9_test_wc", GetModuleHandleA(NULL));
}
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index ab29ce4..ce87d14 100644
index 0f7534e..613d1df 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1454,12 +1454,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
@@ -1457,12 +1457,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
TRACE("(%p,%d)\n", hdc, format);
@@ -71,5 +129,5 @@ index ab29ce4..ce87d14 100644
if (!fmt)
{
--
2.7.1
2.8.0

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -0,0 +1,61 @@
From a568780e076f43ab5a7f07c4eb963e7777f84255 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 15 May 2016 17:05:15 +0200
Subject: d3d9/tests: Avoid test failures on specific Nvidia graphic cards.
---
dlls/d3d9/tests/visual.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index a308311..c3de15e 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -14923,6 +14923,7 @@ static void fp_special_test(void)
D3DCOLOR nv40;
D3DCOLOR nv50;
D3DCOLOR warp;
+ D3DCOLOR todo;
}
vs_body[] =
{
@@ -14939,17 +14940,17 @@ static void fp_special_test(void)
* There are considerable differences between graphics cards in how
* these are handled, but pow and nrm never generate INF or NAN on
* real hardware. */
- {"log", vs_log, sizeof(vs_log), 0x00000000, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"pow", vs_pow, sizeof(vs_pow), 0x000000ff, 0x000000ff, 0x0000ff00, 0x000000ff, 0x00008000},
- {"nrm", vs_nrm, sizeof(vs_nrm), 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x00ff0000, 0x00008000},
- {"rcp1", vs_rcp1, sizeof(vs_rcp1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"rcp2", vs_rcp2, sizeof(vs_rcp2), 0x000000ff, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"rsq1", vs_rsq1, sizeof(vs_rsq1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"rsq2", vs_rsq2, sizeof(vs_rsq2), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
- {"lit", vs_lit, sizeof(vs_lit), 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000},
- {"def1", vs_def1, sizeof(vs_def1), 0x000000ff, 0x00007f00, 0x0000ff00, 0x00007f00, 0x00008000},
- {"def2", vs_def2, sizeof(vs_def2), 0x00ff0000, 0x00ff7f00, 0x00ff0000, 0x00ff7f00, 0x00ff8000},
- {"def3", vs_def3, sizeof(vs_def3), 0x00ff00ff, 0x00ff7f00, 0x00ff00ff, 0x00ff7f00, 0x00ff8000},
+ {"log", vs_log, sizeof(vs_log), 0x00000000, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"pow", vs_pow, sizeof(vs_pow), 0x000000ff, 0x000000ff, 0x0000ff00, 0x000000ff, 0x00008000, ~0U},
+ {"nrm", vs_nrm, sizeof(vs_nrm), 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x00ff0000, 0x00008000, ~0U},
+ {"rcp1", vs_rcp1, sizeof(vs_rcp1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"rcp2", vs_rcp2, sizeof(vs_rcp2), 0x000000ff, 0x00000000, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"rsq1", vs_rsq1, sizeof(vs_rsq1), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"rsq2", vs_rsq2, sizeof(vs_rsq2), 0x000000ff, 0x000000ff, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
+ {"lit", vs_lit, sizeof(vs_lit), 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, ~0U},
+ {"def1", vs_def1, sizeof(vs_def1), 0x000000ff, 0x00007f00, 0x0000ff00, 0x00007f00, 0x00008000, 0x00000000},
+ {"def2", vs_def2, sizeof(vs_def2), 0x00ff0000, 0x00ff7f00, 0x00ff0000, 0x00ff7f00, 0x00ff8000, ~0U},
+ {"def3", vs_def3, sizeof(vs_def3), 0x00ff00ff, 0x00ff7f00, 0x00ff00ff, 0x00ff7f00, 0x00ff8000, 0x00ff0000},
};
static const DWORD ps_code[] =
@@ -15068,6 +15069,7 @@ static void fp_special_test(void)
ok(SUCCEEDED(hr), "EndScene failed, hr %#x.\n", hr);
color = getPixelColor(device, 320, 240);
+ todo_wine_if(vs_body[i].todo != ~0U && color_match(color, vs_body[i].todo, 1))
ok(color_match(color, vs_body[i].r500, 1)
|| color_match(color, vs_body[i].r600, 1)
|| color_match(color, vs_body[i].nv40, 1)
--
2.8.0

View File

@@ -0,0 +1,51 @@
From 5bd7e977e0145a8e222ab66676bed7c0ff4d5b44 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 16 May 2016 13:19:06 +0200
Subject: d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
---
dlls/d3dx9_36/surface.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index 1bfe75a..f670860 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -110,6 +110,7 @@ static const GUID *d3dformat_to_wic_guid(D3DFORMAT format)
#define DDS_PF_RGB 0x40
#define DDS_PF_YUV 0x200
#define DDS_PF_LUMINANCE 0x20000
+#define DDS_PF_BUMPLUMINANCE 0x40000
#define DDS_PF_BUMPDUDV 0x80000
struct dds_pixel_format
@@ -265,6 +266,17 @@ static D3DFORMAT dds_bump_to_d3dformat(const struct dds_pixel_format *pixel_form
return D3DFMT_UNKNOWN;
}
+static D3DFORMAT dds_bump_luminance_to_d3dformat(const struct dds_pixel_format *pixel_format)
+{
+ if (pixel_format->bpp == 32 && pixel_format->rmask == 0x000000ff && pixel_format->gmask == 0x0000ff00
+ && pixel_format->bmask == 0x00ff0000)
+ return D3DFMT_X8L8V8U8;
+
+ WARN("Unknown bump pixel format (%u, %#x, %#x, %#x, %#x)\n", pixel_format->bpp,
+ pixel_format->rmask, pixel_format->gmask, pixel_format->bmask, pixel_format->amask);
+ return D3DFMT_UNKNOWN;
+}
+
static D3DFORMAT dds_pixel_format_to_d3dformat(const struct dds_pixel_format *pixel_format)
{
TRACE("pixel_format: size %u, flags %#x, fourcc %#x, bpp %u.\n", pixel_format->size,
@@ -282,6 +294,8 @@ static D3DFORMAT dds_pixel_format_to_d3dformat(const struct dds_pixel_format *pi
return dds_alpha_to_d3dformat(pixel_format);
if (pixel_format->flags & DDS_PF_BUMPDUDV)
return dds_bump_to_d3dformat(pixel_format);
+ if (pixel_format->flags & DDS_PF_BUMPLUMINANCE)
+ return dds_bump_luminance_to_d3dformat(pixel_format);
WARN("Unknown pixel format (flags %#x, fourcc %#x, bpp %u, r %#x, g %#x, b %#x, a %#x)\n",
pixel_format->flags, pixel_format->fourcc, pixel_format->bpp,
--
2.8.0

View File

@@ -0,0 +1,24 @@
From 170a6d9df910f617585791df31aa72b79622ed0b Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 16 May 2016 13:20:39 +0200
Subject: d3dx9_36: Add format description for X8L8V8U8 for format conversions.
---
dlls/d3dx9_36/util.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/d3dx9_36/util.c b/dlls/d3dx9_36/util.c
index d8cd43a..12b9c2c 100644
--- a/dlls/d3dx9_36/util.c
+++ b/dlls/d3dx9_36/util.c
@@ -90,6 +90,7 @@ static const struct pixel_format_desc formats[] =
{D3DFMT_G32R32F, { 0, 32, 32, 0}, { 0, 0, 32, 0}, 8, 1, 1, 8, FORMAT_ARGBF, NULL, NULL },
{D3DFMT_A32B32G32R32F, {32, 32, 32, 32}, {96, 0, 32, 64}, 16, 1, 1, 16, FORMAT_ARGBF, NULL, NULL },
{D3DFMT_P8, { 8, 8, 8, 8}, { 0, 0, 0, 0}, 1, 1, 1, 1, FORMAT_INDEX, NULL, index_to_rgba},
+ {D3DFMT_X8L8V8U8, { 0, 8, 8, 8}, { 0, 0, 8, 16}, 4, 1, 1, 4, FORMAT_ARGB, NULL, NULL },
/* marks last element */
{D3DFMT_UNKNOWN, { 0, 0, 0, 0}, { 0, 0, 0, 0}, 0, 1, 1, 0, FORMAT_UNKNOWN, NULL, NULL },
};
--
2.8.0

View File

@@ -0,0 +1 @@
Fixes: Recognize bump luminance X8L8V8U8 when loading dds file

View File

@@ -1,4 +1,4 @@
From 66ea1296b0b3493271a7611bfa56b0d74b34b16c Mon Sep 17 00:00:00 2001
From 4283d60c4b362e518c7028484b44d9df2ecd27cc Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Fri, 19 Dec 2014 22:31:46 +0100
Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
@@ -9,10 +9,10 @@ Subject: d3dx9_36: Implement ID3DXEffect_FindNextValidTechnique + add tests.
2 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index a210bb3..2fbc1cb 100644
index da7de54..809f11e 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3483,13 +3483,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
@@ -3542,13 +3542,41 @@ static HRESULT WINAPI ID3DXEffectImpl_ValidateTechnique(ID3DXEffect* iface, D3DX
return D3D_OK;
}
@@ -58,11 +58,11 @@ index a210bb3..2fbc1cb 100644
static BOOL WINAPI ID3DXEffectImpl_IsParameterUsed(ID3DXEffect* iface, D3DXHANDLE parameter, D3DXHANDLE technique)
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index c388e7d..8653e0e 100644
index 4ef4d4c..59cd6cc 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -3886,6 +3886,65 @@ static void test_effect_preshader(IDirect3DDevice9 *device)
effect->lpVtbl->Release(effect);
@@ -3983,6 +3983,65 @@ static void test_effect_preshader_ops(IDirect3DDevice9 *device)
&op_tests[i]);
}
+/*
@@ -127,14 +127,14 @@ index c388e7d..8653e0e 100644
START_TEST(effect)
{
HWND wnd;
@@ -3927,6 +3986,7 @@ START_TEST(effect)
test_effect_compilation_errors(device);
@@ -4025,6 +4084,7 @@ START_TEST(effect)
test_effect_states(device);
test_effect_preshader(device);
test_effect_preshader_ops(device);
+ test_effect_technique_validation(device);
count = IDirect3DDevice9_Release(device);
ok(count == 0, "The device was not properly freed: refcount %u\n", count);
--
2.7.1
2.8.0

View File

@@ -1,4 +1,4 @@
From dd8497b40ae145da74ca9aeb8aab274572328bbd Mon Sep 17 00:00:00 2001
From ed0264f5193ecf9d7724be5de6c9bda17919105f Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 28 Mar 2015 08:18:10 +0100
Subject: dsound: Apply filters before sound is multiplied to speakers.
@@ -11,34 +11,34 @@ Based on a patch by Mark Harmstone.
3 files changed, 77 insertions(+), 32 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 065c377..ed0bbba 100644
index 64bfbd3..d73610e 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -238,6 +238,7 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
@@ -233,6 +233,7 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
if(device->volume)
IAudioStreamVolume_Release(device->volume);
+ HeapFree(GetProcessHeap(), 0, device->dsp_buffer);
HeapFree(GetProcessHeap(), 0, device->tmp_buffer);
HeapFree(GetProcessHeap(), 0, device->mix_buffer);
HeapFree(GetProcessHeap(), 0, device->cp_buffer);
HeapFree(GetProcessHeap(), 0, device->buffer);
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 726452c..ed645db 100644
index 34bab65..f580915 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -91,8 +91,8 @@ struct DirectSoundDevice
@@ -88,8 +88,8 @@ struct DirectSoundDevice
int speaker_num[DS_MAX_CHANNELS];
int num_speakers;
int lfe_channel;
- float *mix_buffer, *tmp_buffer;
- DWORD tmp_buffer_len, mix_buffer_len;
+ float *mix_buffer, *tmp_buffer, *dsp_buffer;
+ DWORD mix_buffer_len, tmp_buffer_len, dsp_buffer_len;
- float *tmp_buffer, *cp_buffer;
- DWORD tmp_buffer_len, cp_buffer_len;
+ float *tmp_buffer, *cp_buffer, *dsp_buffer;
+ DWORD tmp_buffer_len, cp_buffer_len, dsp_buffer_len;
DSVOLUMEPAN volpan;
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index 4f22f85..ff92cc1 100644
index a2fd768..db4235d 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -266,23 +266,22 @@ static inline float get_current_sample(const IDirectSoundBufferImpl *dsb,
@@ -93,7 +93,7 @@ index 4f22f85..ff92cc1 100644
LONG64 freqAcc_start = *freqAccNum;
LONG64 freqAcc_end = freqAcc_start + count * dsb->freqAdjustNum;
@@ -372,7 +371,7 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
@@ -383,7 +382,7 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
float* cache = &intermediate[channel * required_input + ipos];
for (j = 0; j < fir_used; j++)
sum += fir_copy[j] * cache[j];
@@ -102,7 +102,7 @@ index 4f22f85..ff92cc1 100644
}
}
@@ -384,16 +383,17 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
@@ -392,16 +391,17 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
return max_ipos;
}
@@ -124,7 +124,7 @@ index 4f22f85..ff92cc1 100644
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
if (ipos >= dsb->buflen) {
@@ -423,6 +423,21 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
@@ -431,6 +431,21 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
return buflen + ptr1 - ptr2;
}
}
@@ -146,7 +146,7 @@ index 4f22f85..ff92cc1 100644
/**
* Mix at most the given amount of data into the allocated temporary buffer
* of the given secondary buffer, starting from the dsb's first currently
@@ -438,32 +453,61 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
@@ -446,32 +461,61 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
*/
static void DSOUND_MixToTemporary(IDirectSoundBufferImpl *dsb, DWORD frames)
{
@@ -225,5 +225,5 @@ index 4f22f85..ff92cc1 100644
static void DSOUND_MixerVol(const IDirectSoundBufferImpl *dsb, INT frames)
--
2.3.3
2.8.0

View File

@@ -1,4 +1,4 @@
From b69c6b88a3628dcaf0f5520f2a33a47013c50aef Mon Sep 17 00:00:00 2001
From cdfc54a6363804cc8ee9146c3adbd51e431bcbf2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 5 Apr 2015 19:13:18 +0200
Subject: dsound: Allow disabling of EAX support in the registry.
@@ -6,13 +6,13 @@ Subject: dsound: Allow disabling of EAX support in the registry.
Based on a patch by Mark Harmstone.
---
dlls/dsound/buffer.c | 16 ++++++----------
dlls/dsound/dsound_main.c | 10 ++++++++--
dlls/dsound/dsound_main.c | 9 ++++++++-
dlls/dsound/dsound_private.h | 2 ++
dlls/dsound/eax.c | 28 ++++++++++++++++++++++++++++
4 files changed, 44 insertions(+), 12 deletions(-)
4 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 3641e32..ca6a5b5 100644
index b763514..ca93972 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -35,6 +35,7 @@
@@ -23,7 +23,7 @@ index 3641e32..ca6a5b5 100644
/*******************************************************************************
* IDirectSoundNotify
@@ -1331,16 +1332,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
@@ -1329,16 +1330,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
@@ -46,12 +46,12 @@ index 3641e32..ca6a5b5 100644
return E_PROP_ID_UNSUPPORTED;
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 1f512a4..4b7e7b0 100644
index b349eb4..db2ca50 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -95,8 +95,12 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
@@ -94,8 +94,12 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
int ds_snd_queue_max = 10;
int ds_hq_buffers_max = 4;
+BOOL ds_eax_enabled = FALSE;
static HINSTANCE instance;
@@ -62,7 +62,7 @@ index 1f512a4..4b7e7b0 100644
/*
* Get a config key from either the app-specific or the default config
*/
@@ -109,7 +113,6 @@ static inline DWORD get_config_key( HKEY defkey, HKEY appkey, const char *name,
@@ -108,7 +112,6 @@ static inline DWORD get_config_key( HKEY defkey, HKEY appkey, const char *name,
return ERROR_FILE_NOT_FOUND;
}
@@ -70,11 +70,7 @@ index 1f512a4..4b7e7b0 100644
/*
* Setup the dsound options.
*/
@@ -150,16 +153,19 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "SndQueueMax", buffer, MAX_PATH ))
ds_snd_queue_max = atoi(buffer);
-
@@ -149,11 +152,15 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
ds_hq_buffers_max = atoi(buffer);
@@ -85,25 +81,24 @@ index 1f512a4..4b7e7b0 100644
if (hkey) RegCloseKey( hkey );
TRACE("ds_hel_buflen = %d\n", ds_hel_buflen);
TRACE("ds_snd_queue_max = %d\n", ds_snd_queue_max);
TRACE("ds_hq_buffers_max = %d\n", ds_hq_buffers_max);
+ TRACE("ds_eax_enabled = %u\n", ds_eax_enabled);
}
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index a9987d0..5c21d1f 100644
index 5a986ba..4e928a4 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -38,6 +38,7 @@
@@ -37,6 +37,7 @@
extern int ds_hel_buflen DECLSPEC_HIDDEN;
extern int ds_snd_queue_max DECLSPEC_HIDDEN;
extern int ds_hq_buffers_max DECLSPEC_HIDDEN;
+extern BOOL ds_eax_enabled DECLSPEC_HIDDEN;
/*****************************************************************************
* Predeclare the interface implementation structures
@@ -234,6 +235,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
@@ -230,6 +231,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
/* eax.c */
@@ -112,7 +107,7 @@ index a9987d0..5c21d1f 100644
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index 4e98812..c9d5b6c 100644
index e10156e..857f924 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -809,6 +809,28 @@ void free_eax_buffer(IDirectSoundBufferImpl *dsb)
@@ -165,5 +160,5 @@ index 4e98812..c9d5b6c 100644
buf->device->eax.using_eax = TRUE;
--
2.3.5
2.8.0

View File

@@ -1,4 +1,4 @@
From 208155a225fef8613f9ef033ba0c895a4e71f409 Mon Sep 17 00:00:00 2001
From fe24cfe8b8e99c4e41fc9d147d7815bce37d2fa0 Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov at gmail.com>
Date: Thu, 7 Aug 2014 17:15:00 -0600
Subject: dsound: Add a linear resampler for use with a large number of mixing
@@ -11,20 +11,20 @@ Subject: dsound: Add a linear resampler for use with a large number of mixing
3 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index cb46301..1f512a4 100644
index 112ce78..b349eb4 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -94,6 +94,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
@@ -93,6 +93,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
int ds_snd_queue_max = 10;
+int ds_hq_buffers_max = 4;
static HINSTANCE instance;
/*
@@ -150,11 +151,15 @@ void setup_dsound_options(void)
ds_snd_queue_max = atoi(buffer);
@@ -145,10 +146,14 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH ))
ds_hel_buflen = atoi(buffer);
+ if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
+ ds_hq_buffers_max = atoi(buffer);
@@ -33,25 +33,24 @@ index cb46301..1f512a4 100644
if (hkey) RegCloseKey( hkey );
TRACE("ds_hel_buflen = %d\n", ds_hel_buflen);
TRACE("ds_snd_queue_max = %d\n", ds_snd_queue_max);
+ TRACE("ds_hq_buffers_max = %d\n", ds_hq_buffers_max);
}
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 9c001ed..726452c 100644
index b980453..b6bce1d 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -36,6 +36,7 @@
@@ -35,6 +35,7 @@
#define DS_MAX_CHANNELS 6
extern int ds_hel_buflen DECLSPEC_HIDDEN;
extern int ds_snd_queue_max DECLSPEC_HIDDEN;
+extern int ds_hq_buffers_max DECLSPEC_HIDDEN;
/*****************************************************************************
* Predeclare the interface implementation structures
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index 85ab14a..4f22f85 100644
index dec8ffd..c358385 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -278,7 +278,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
@@ -118,5 +117,5 @@ index 85ab14a..4f22f85 100644
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
if (ipos >= dsb->buflen) {
--
2.3.3
2.8.0

View File

@@ -1,4 +1,4 @@
From 462599cf79d964c6add1a7250f654d2e3110c4d2 Mon Sep 17 00:00:00 2001
From 49a87ca03766da11e80ec5f0677d1cd7d46b17ca Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 23 Dec 2015 00:58:57 +0100
Subject: Revert "dsound: Use a better name for
@@ -12,7 +12,7 @@ This reverts commit bb72548f3870b1df03ad9fe7ad2e543a69d5d574.
3 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 2a80c3f..d7717fd 100644
index e85a5d1..c59090a 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -983,15 +983,19 @@ static const IDirectSoundBuffer8Vtbl dsbvt =
@@ -60,10 +60,10 @@ index 2a80c3f..d7717fd 100644
return err;
}
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index ccefd1f..e50ef58 100644
index fb9fd66..64bfbd3 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -469,6 +469,8 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer(
@@ -461,6 +461,8 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer(
WARN("primarybuffer_create() failed\n");
}
} else {
@@ -72,7 +72,7 @@ index ccefd1f..e50ef58 100644
if (dsbd->lpwfxFormat == NULL) {
WARN("invalid parameter: dsbd->lpwfxFormat can't be NULL for "
"secondary buffer\n");
@@ -545,8 +547,9 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer(
@@ -537,8 +539,9 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer(
return DSERR_INVALIDPARAM;
}
@@ -85,12 +85,12 @@ index ccefd1f..e50ef58 100644
device->drvcaps.dwFreeHwMixingAllBuffers--;
} else
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 07bda48..9c001ed 100644
index 63d1226..303ce0e 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -182,8 +182,10 @@ void put_stereo2quad(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD channel
void put_mono2surround51(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD channel, float value) DECLSPEC_HIDDEN;
void put_stereo2surround51(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD channel, float value) DECLSPEC_HIDDEN;
@@ -181,8 +181,10 @@ void put_stereo2surround51(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD c
void put_surround512stereo(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD channel, float value) DECLSPEC_HIDDEN;
void put_quad2stereo(const IDirectSoundBufferImpl *dsb, DWORD pos, DWORD channel, float value) DECLSPEC_HIDDEN;
-HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *dsbd,
- IDirectSoundBuffer **buffer) DECLSPEC_HIDDEN;
@@ -102,5 +102,5 @@ index 07bda48..9c001ed 100644
DirectSoundDevice *device,
IDirectSoundBufferImpl **ppdsb,
--
2.6.4
2.8.0

View File

@@ -1,25 +0,0 @@
From 12fa52d23ad77d08100444fd04b9deaf06b5ac63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 18 Mar 2016 04:25:59 +0100
Subject: dwmapi: Return S_OK from DwmSetWindowAttribute function.
---
dlls/dwmapi/dwmapi_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
index a776cfe..7ae2dcf 100644
--- a/dlls/dwmapi/dwmapi_main.c
+++ b/dlls/dwmapi/dwmapi_main.c
@@ -126,7 +126,7 @@ HRESULT WINAPI DwmSetWindowAttribute(HWND hwnd, DWORD attributenum, LPCVOID attr
if (!once++) FIXME("(%p, %x, %p, %x) stub\n", hwnd, attributenum, attribute, size);
- return E_NOTIMPL;
+ return S_OK;
}
/**********************************************************************
--
2.7.1

View File

@@ -1 +0,0 @@
Fixes: Fake success in dwmapi.DwmSetWindowAttribute function

View File

@@ -0,0 +1,102 @@
From 38a7a77a067d4610666ca453f4ca68a69117e80e Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 10 May 2016 12:44:49 +0800
Subject: gdiplus: Implement GdipGetMetafileHeaderFromMetafile.
For bug #27415.
These patches depend on
"gdiplus: Reimplement metafile loading using gdi32 instead of IPicture. (v2)"
---
dlls/gdiplus/metafile.c | 15 +++++++++++----
dlls/gdiplus/tests/image.c | 24 ++++++++++++------------
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c
index 7af6c8c..30b2122 100644
--- a/dlls/gdiplus/metafile.c
+++ b/dlls/gdiplus/metafile.c
@@ -957,17 +957,24 @@ GpStatus WINGDIPAPI GdipEnumerateMetafileDestPointI(GpGraphics *graphics,
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile * metafile,
MetafileHeader * header)
{
- static int calls;
+ GpStatus status;
TRACE("(%p, %p)\n", metafile, header);
if(!metafile || !header)
return InvalidParameter;
- if(!(calls++))
- FIXME("not implemented\n");
+ if (!metafile->hemf)
+ return InvalidParameter;
- memset(header, 0, sizeof(MetafileHeader));
+ status = GdipGetMetafileHeaderFromEmf(metafile->hemf, header);
+ if (status != Ok) return status;
+
+ header->Type = metafile->metafile_type;
+ header->DpiX = metafile->image.xres;
+ header->DpiY = metafile->image.yres;
+ header->Width = metafile->bounds.Width;
+ header->Height = metafile->bounds.Height;
return Ok;
}
diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index e6de9db..a28ddb4 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -1465,17 +1465,17 @@ static void test_loadwmf(void)
expect(Ok, stat);
if (stat == Ok)
{
- todo_wine expect(MetafileTypeWmfPlaceable, header.Type);
+ expect(MetafileTypeWmfPlaceable, header.Type);
todo_wine expect(sizeof(wmfimage)-sizeof(WmfPlaceableFileHeader), header.Size);
todo_wine expect(0x300, header.Version);
expect(0, header.EmfPlusFlags);
- todo_wine expectf(1440.0, header.DpiX);
- todo_wine expectf(1440.0, header.DpiY);
+ expectf(1440.0, header.DpiX);
+ expectf(1440.0, header.DpiY);
expect(0, header.X);
expect(0, header.Y);
- todo_wine expect(320, header.Width);
- todo_wine expect(320, header.Height);
- todo_wine expect(1, U(header).WmfHeader.mtType);
+ expect(320, header.Width);
+ expect(320, header.Height);
+ expect(1, U(header).WmfHeader.mtType);
expect(0, header.EmfPlusHeaderSize);
expect(0, header.LogicalDpiX);
expect(0, header.LogicalDpiY);
@@ -1523,17 +1523,17 @@ static void test_createfromwmf(void)
expect(Ok, stat);
if (stat == Ok)
{
- todo_wine expect(MetafileTypeWmfPlaceable, header.Type);
+ expect(MetafileTypeWmfPlaceable, header.Type);
todo_wine expect(sizeof(wmfimage)-sizeof(WmfPlaceableFileHeader), header.Size);
todo_wine expect(0x300, header.Version);
expect(0, header.EmfPlusFlags);
- todo_wine expectf(1440.0, header.DpiX);
- todo_wine expectf(1440.0, header.DpiY);
+ expectf(1440.0, header.DpiX);
+ expectf(1440.0, header.DpiY);
expect(0, header.X);
expect(0, header.Y);
- todo_wine expect(320, header.Width);
- todo_wine expect(320, header.Height);
- todo_wine expect(1, U(header).WmfHeader.mtType);
+ expect(320, header.Width);
+ expect(320, header.Height);
+ expect(1, U(header).WmfHeader.mtType);
expect(0, header.EmfPlusHeaderSize);
expect(0, header.LogicalDpiX);
expect(0, header.LogicalDpiY);
--
2.8.0

Some files were not shown because too many files have changed in this diff Show More