You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
100 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7df2eaa22d | ||
|
571ab663fd | ||
|
ddba27937a | ||
|
f71c20b7f7 | ||
|
8281fca8dc | ||
|
093f3b9818 | ||
|
c8299873fb | ||
|
60e6da65cd | ||
|
08dca3b834 | ||
|
4f12cf4dc9 | ||
|
1d08851c35 | ||
|
a8976086e5 | ||
|
c6a96f3e32 | ||
|
6adf92cebb | ||
|
e27647e4d5 | ||
|
2f3baafeca | ||
|
5e5f21854b | ||
|
6b9d38b61c | ||
|
45157d6bbe | ||
|
3cb1c835bc | ||
|
243a9f7b89 | ||
|
4f532d23bb | ||
|
73d2e2a9e8 | ||
|
7391ecfaa0 | ||
|
295deafca7 | ||
|
2dd175172b | ||
|
5924752fd9 | ||
|
57b298602e | ||
|
52f5a405e9 | ||
|
c92ffa58c0 | ||
|
e741b83080 | ||
|
faf8d49216 | ||
|
08e221b30c | ||
|
c2158ca405 | ||
|
953ae16ca9 | ||
|
066e207750 | ||
|
64e8ae3a61 | ||
|
3d1995983f | ||
|
4705d850ea | ||
|
8bede16222 | ||
|
5c3c83fef5 | ||
|
8c43c80df2 | ||
|
99ddea76c5 | ||
|
6eb4b11c22 | ||
|
5eb1d3c69b | ||
|
70a46a2305 | ||
|
bd04bf9ac0 | ||
|
749dc37048 | ||
|
a15b448623 | ||
|
e460e59354 | ||
|
71bb1a35f5 | ||
|
83d43970e8 | ||
|
0f1aef64bf | ||
|
a40017a010 | ||
|
94419b1dad | ||
|
5d32e6fc71 | ||
|
f10c1d3c42 | ||
|
9aefba7af5 | ||
|
16e6b1c3e3 | ||
|
8a2c526e13 | ||
|
334b3cb393 | ||
|
54ed708c91 | ||
|
1294cf8ca9 | ||
|
5c40d98a8f | ||
|
cc62b92f5e | ||
|
a89e9696d4 | ||
|
5f37cb2071 | ||
|
b4c93af2cb | ||
|
c2b1a0350d | ||
|
70c4687b47 | ||
|
9907ab34d3 | ||
|
cd9936654a | ||
|
87b3c56914 | ||
|
65a09eaaa0 | ||
|
35e6091943 | ||
|
2dff0d6075 | ||
|
fd89a1b64c | ||
|
352d7723f5 | ||
|
4564b0148b | ||
|
56c4a42468 | ||
|
49f61371b2 | ||
|
fa0e389d75 | ||
|
44b04d6d36 | ||
|
64714a825f | ||
|
71b8ace1aa | ||
|
d661521305 | ||
|
6f424b1e0f | ||
|
131c688ab3 | ||
|
27ba45e053 | ||
|
1acbf46fcf | ||
|
dc4a52734f | ||
|
b1d1f3475b | ||
|
00902fdb2f | ||
|
ee7d9bd76b | ||
|
e38a9d7073 | ||
|
cd9e01c9ed | ||
|
ece39ae33d | ||
|
cecff04cad | ||
|
96068c4fe2 | ||
|
8e5acbdae3 |
@@ -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
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [37090] Implement AMStream GetMultiMediaStream functions
|
@@ -0,0 +1,116 @@
|
||||
From 8113f7a7b3c214b5c9d07a4b6f5b0d97d6f576f1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 12 Jul 2014 23:58:19 +0200
|
||||
Subject: comctl32: Preserve custom colors between subitems. (v2)
|
||||
|
||||
---
|
||||
dlls/comctl32/listview.c | 20 +++++++++-----------
|
||||
dlls/comctl32/tests/listview.c | 27 ++++++++++++++++++++++-----
|
||||
2 files changed, 31 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
|
||||
index 784ca7b..2c4051d 100644
|
||||
--- a/dlls/comctl32/listview.c
|
||||
+++ b/dlls/comctl32/listview.c
|
||||
@@ -1054,7 +1054,7 @@ static void prepaint_setup (const LISTVIEW_INFO *infoPtr, HDC hdc, NMLVCUSTOMDRA
|
||||
COLORREF backcolor, textcolor;
|
||||
|
||||
/* apparently, for selected items, we have to override the returned values */
|
||||
- if (!SubItem)
|
||||
+ if (!SubItem || (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
|
||||
{
|
||||
if (lpnmlvcd->nmcd.uItemState & CDIS_SELECTED)
|
||||
{
|
||||
@@ -4767,6 +4767,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, ITERAT
|
||||
while (iterator_next(subitems))
|
||||
{
|
||||
DWORD subitemstage = CDRF_DODEFAULT;
|
||||
+ NMLVCUSTOMDRAW temp_nmlvcd;
|
||||
|
||||
/* We need to query for each subitem, item's data (subitem == 0) is already here at this point */
|
||||
if (subitems->nItem)
|
||||
@@ -4793,19 +4794,16 @@ 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);
|
||||
- else if (!(infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
|
||||
- prepaint_setup(infoPtr, hdc, &nmlvcd, TRUE);
|
||||
+ /*
|
||||
+ * A selection should neither affect the colors in the post paint notification nor
|
||||
+ * affect the colors of the next drawn subitem. Copy the structure to prevent this.
|
||||
+ */
|
||||
+ temp_nmlvcd = nmlvcd;
|
||||
+ prepaint_setup(infoPtr, hdc, &temp_nmlvcd, subitems->nItem);
|
||||
|
||||
if (!(subitemstage & CDRF_SKIPDEFAULT))
|
||||
- LISTVIEW_DrawItemPart(infoPtr, &lvItem, &nmlvcd, &pos);
|
||||
+ LISTVIEW_DrawItemPart(infoPtr, &lvItem, &temp_nmlvcd, &pos);
|
||||
|
||||
if (subitemstage & CDRF_NOTIFYPOSTPAINT)
|
||||
subitemstage = notify_customdraw(infoPtr, CDDS_SUBITEM | CDDS_ITEMPOSTPAINT, &nmlvcd);
|
||||
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
|
||||
index ed5d9f9..64cc214 100644
|
||||
--- a/dlls/comctl32/tests/listview.c
|
||||
+++ b/dlls/comctl32/tests/listview.c
|
||||
@@ -1823,14 +1823,18 @@ static LRESULT WINAPI cd_wndproc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||
clr = GetBkColor(nmlvcd->nmcd.hdc);
|
||||
ok(nmlvcd->clrTextBk == CLR_DEFAULT, "got 0x%x\n", nmlvcd->clrTextBk);
|
||||
ok(nmlvcd->clrText == RGB(0, 255, 0), "got 0x%x\n", nmlvcd->clrText);
|
||||
- if (nmlvcd->iSubItem)
|
||||
- todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
- else
|
||||
- ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
+ if (!(GetWindowLongW(nmhdr->hwndFrom, GWL_STYLE) & LVS_SHOWSELALWAYS))
|
||||
+ {
|
||||
+ if (nmlvcd->iSubItem)
|
||||
+ todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
+ else
|
||||
+ ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
+ }
|
||||
return CDRF_NOTIFYPOSTPAINT;
|
||||
case CDDS_ITEMPOSTPAINT | CDDS_SUBITEM:
|
||||
clr = GetBkColor(nmlvcd->nmcd.hdc);
|
||||
- todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
+ if (!(GetWindowLongW(nmhdr->hwndFrom, GWL_STYLE) & LVS_SHOWSELALWAYS))
|
||||
+ todo_wine ok(clr == c0ffee, "clr=%.8x\n", clr);
|
||||
ok(nmlvcd->clrTextBk == CLR_DEFAULT, "got 0x%x\n", nmlvcd->clrTextBk);
|
||||
ok(nmlvcd->clrText == RGB(0, 255, 0), "got 0x%x\n", nmlvcd->clrText);
|
||||
return CDRF_DODEFAULT;
|
||||
@@ -1846,6 +1850,7 @@ static void test_customdraw(void)
|
||||
{
|
||||
HWND hwnd;
|
||||
WNDPROC oldwndproc;
|
||||
+ LVITEMA item;
|
||||
|
||||
hwnd = create_listview_control(LVS_REPORT);
|
||||
|
||||
@@ -1865,6 +1870,18 @@ static void test_customdraw(void)
|
||||
UpdateWindow(hwnd);
|
||||
ok_sequence(sequences, PARENT_CD_SEQ_INDEX, parent_report_cd_seq, "parent customdraw, LVS_REPORT", FALSE);
|
||||
|
||||
+ /* check colors when item is selected */
|
||||
+ SetWindowLongW(hwnd, GWL_STYLE, GetWindowLongW(hwnd, GWL_STYLE) | LVS_SHOWSELALWAYS);
|
||||
+ item.mask = LVIF_STATE;
|
||||
+ item.stateMask = LVIS_SELECTED;
|
||||
+ item.state = LVIS_SELECTED;
|
||||
+ SendMessageA(hwnd, LVM_SETITEMSTATE, 0, (LPARAM)&item);
|
||||
+
|
||||
+ flush_sequences(sequences, NUM_MSG_SEQUENCES);
|
||||
+ InvalidateRect(hwnd, NULL, TRUE);
|
||||
+ UpdateWindow(hwnd);
|
||||
+ ok_sequence(sequences, PARENT_CD_SEQ_INDEX, parent_report_cd_seq, "parent customdraw, LVS_REPORT, selection", FALSE);
|
||||
+
|
||||
DestroyWindow(hwnd);
|
||||
|
||||
hwnd = create_listview_control(LVS_LIST);
|
||||
--
|
||||
2.8.0
|
||||
|
1
patches/comctl32-Listview_DrawItem/definition
Normal file
1
patches/comctl32-Listview_DrawItem/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38941] Preserve custom colors between subitems for listview control
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -1 +0,0 @@
|
||||
Category: stable
|
@@ -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
|
||||
|
@@ -1,58 +0,0 @@
|
||||
From 07b257223fda63414f00f3a658fcdce83a7991e4 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 14 Mar 2015 05:01:05 +0100
|
||||
Subject: d3dx9_24: Add an interface wrapper for different version of
|
||||
ID3DXEffect.
|
||||
|
||||
---
|
||||
dlls/d3dx9_24/d3dx9_24.spec | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
|
||||
index cfe26ce..1ddf219 100644
|
||||
--- a/dlls/d3dx9_24/d3dx9_24.spec
|
||||
+++ b/dlls/d3dx9_24/d3dx9_24.spec
|
||||
@@ -43,21 +43,21 @@
|
||||
@ stdcall D3DXCreateCubeTextureFromResourceExW(ptr long long long long long long long long long long ptr ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceExW
|
||||
@ stdcall D3DXCreateCubeTextureFromResourceW(ptr long ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceW
|
||||
@ stdcall D3DXCreateCylinder(ptr long long long long long ptr ptr) d3dx9_36.D3DXCreateCylinder
|
||||
-@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffect
|
||||
+@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffect # don't forward
|
||||
@ stdcall D3DXCreateEffectCompiler(ptr long ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompiler
|
||||
@ stdcall D3DXCreateEffectCompilerFromFileA(str ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileA
|
||||
@ stdcall D3DXCreateEffectCompilerFromFileW(wstr ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileW
|
||||
@ stdcall D3DXCreateEffectCompilerFromResourceA(long str ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromResourceA
|
||||
@ stdcall D3DXCreateEffectCompilerFromResourceW(long wstr ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromResourceW
|
||||
-@ stdcall D3DXCreateEffectEx(ptr ptr long ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectEx
|
||||
-@ stdcall D3DXCreateEffectFromFileA(ptr str ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileA
|
||||
-@ stdcall D3DXCreateEffectFromFileExA(ptr str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileExA
|
||||
-@ stdcall D3DXCreateEffectFromFileExW(ptr str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileExW
|
||||
-@ stdcall D3DXCreateEffectFromFileW(ptr wstr ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromFileW
|
||||
-@ stdcall D3DXCreateEffectFromResourceA(ptr long str ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceA
|
||||
-@ stdcall D3DXCreateEffectFromResourceExA(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceExA
|
||||
-@ stdcall D3DXCreateEffectFromResourceExW(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceExW
|
||||
-@ stdcall D3DXCreateEffectFromResourceW(ptr long wstr ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffectFromResourceW
|
||||
+@ stdcall D3DXCreateEffectEx(ptr ptr long ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectEx # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromFileA(ptr str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileA # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromFileExA(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExA # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromFileExW(ptr str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileExW # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromFileW(ptr wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromFileW # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromResourceA(ptr long str ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceA # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromResourceExA(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExA # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromResourceExW(ptr long str ptr ptr str long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceExW # don't forward
|
||||
+@ stdcall D3DXCreateEffectFromResourceW(ptr long wstr ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffectFromResourceW # don't forward
|
||||
@ stdcall D3DXCreateEffectPool(ptr) d3dx9_36.D3DXCreateEffectPool
|
||||
@ stdcall D3DXCreateFontA(ptr long long long long long long long long long str ptr) d3dx9_36.D3DXCreateFontA
|
||||
@ stdcall D3DXCreateFontIndirectA(ptr ptr ptr) d3dx9_36.D3DXCreateFontIndirectA
|
||||
@@ -115,7 +115,7 @@
|
||||
@ stdcall D3DXCreateVolumeTextureFromResourceW(ptr long ptr ptr) d3dx9_36.D3DXCreateVolumeTextureFromResourceW
|
||||
@ stdcall D3DXDebugMute(long) d3dx9_36.D3DXDebugMute
|
||||
@ stdcall D3DXDeclaratorFromFVF(long ptr) d3dx9_36.D3DXDeclaratorFromFVF
|
||||
-@ stdcall D3DXDisassembleEffect(ptr long ptr) d3dx9_36.D3DXDisassembleEffect
|
||||
+@ stdcall D3DXDisassembleEffect(ptr long ptr) d3dx9_25.D3DXDisassembleEffect # don't forward
|
||||
@ stdcall D3DXDisassembleShader(ptr long str ptr) d3dx9_36.D3DXDisassembleShader
|
||||
@ stdcall D3DXFileCreate(ptr) d3dx9_36.D3DXFileCreate
|
||||
@ stdcall D3DXFillCubeTexture(ptr ptr ptr) d3dx9_36.D3DXFillCubeTexture
|
||||
--
|
||||
2.6.4
|
||||
|
@@ -1,3 +0,0 @@
|
||||
Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
Depends: d3dx9_25-ID3DXEffect
|
||||
Category: stable
|
@@ -0,0 +1,237 @@
|
||||
From d1229f450e5b7f7cdda6654010c520dc79f7951a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 14 Mar 2015 04:48:38 +0100
|
||||
Subject: d3dx9_*: Adjust ID3DXEffect interface based on DLL version.
|
||||
|
||||
---
|
||||
dlls/d3dx9_24/Makefile.in | 1 +
|
||||
dlls/d3dx9_25/Makefile.in | 1 +
|
||||
dlls/d3dx9_26/Makefile.in | 1 +
|
||||
dlls/d3dx9_27/Makefile.in | 1 +
|
||||
dlls/d3dx9_28/Makefile.in | 1 +
|
||||
dlls/d3dx9_29/Makefile.in | 1 +
|
||||
dlls/d3dx9_30/Makefile.in | 1 +
|
||||
dlls/d3dx9_31/Makefile.in | 1 +
|
||||
dlls/d3dx9_32/Makefile.in | 1 +
|
||||
dlls/d3dx9_33/Makefile.in | 1 +
|
||||
dlls/d3dx9_36/Makefile.in | 1 +
|
||||
dlls/d3dx9_36/effect.c | 8 ++++++++
|
||||
include/d3dx9effect.h | 12 ++++++++++++
|
||||
13 files changed, 31 insertions(+)
|
||||
|
||||
diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in
|
||||
index 71dee7f..7464bd1 100644
|
||||
--- a/dlls/d3dx9_24/Makefile.in
|
||||
+++ b/dlls/d3dx9_24/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_24.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=24
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_25/Makefile.in b/dlls/d3dx9_25/Makefile.in
|
||||
index 9b44be8..1531e66 100644
|
||||
--- a/dlls/d3dx9_25/Makefile.in
|
||||
+++ b/dlls/d3dx9_25/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_25.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=25
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_26/Makefile.in b/dlls/d3dx9_26/Makefile.in
|
||||
index 14a52d1..2a58c58 100644
|
||||
--- a/dlls/d3dx9_26/Makefile.in
|
||||
+++ b/dlls/d3dx9_26/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_26.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=26
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_27/Makefile.in b/dlls/d3dx9_27/Makefile.in
|
||||
index b2784fc..9ba1e2a 100644
|
||||
--- a/dlls/d3dx9_27/Makefile.in
|
||||
+++ b/dlls/d3dx9_27/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_27.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=27
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_28/Makefile.in b/dlls/d3dx9_28/Makefile.in
|
||||
index f6b31d6..15dec71 100644
|
||||
--- a/dlls/d3dx9_28/Makefile.in
|
||||
+++ b/dlls/d3dx9_28/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_28.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=28
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_29/Makefile.in b/dlls/d3dx9_29/Makefile.in
|
||||
index 9bd84be..5a5a8fc 100644
|
||||
--- a/dlls/d3dx9_29/Makefile.in
|
||||
+++ b/dlls/d3dx9_29/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_29.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=29
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_30/Makefile.in b/dlls/d3dx9_30/Makefile.in
|
||||
index a8ee15d..bafcdb4 100644
|
||||
--- a/dlls/d3dx9_30/Makefile.in
|
||||
+++ b/dlls/d3dx9_30/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_30.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=30
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_31/Makefile.in b/dlls/d3dx9_31/Makefile.in
|
||||
index 27bd337..f5df4d8 100644
|
||||
--- a/dlls/d3dx9_31/Makefile.in
|
||||
+++ b/dlls/d3dx9_31/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_31.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=31
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_32/Makefile.in b/dlls/d3dx9_32/Makefile.in
|
||||
index 1229c7f..cce9293 100644
|
||||
--- a/dlls/d3dx9_32/Makefile.in
|
||||
+++ b/dlls/d3dx9_32/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_32.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=32
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_33/Makefile.in b/dlls/d3dx9_33/Makefile.in
|
||||
index 44bd991..c9b6587 100644
|
||||
--- a/dlls/d3dx9_33/Makefile.in
|
||||
+++ b/dlls/d3dx9_33/Makefile.in
|
||||
@@ -1,5 +1,6 @@
|
||||
MODULE = d3dx9_33.dll
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=33
|
||||
PARENTSRC = ../d3dx9_36
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
|
||||
index 83f7d1c..24ce09d 100644
|
||||
--- a/dlls/d3dx9_36/Makefile.in
|
||||
+++ b/dlls/d3dx9_36/Makefile.in
|
||||
@@ -1,6 +1,7 @@
|
||||
MODULE = d3dx9_36.dll
|
||||
IMPORTLIB = d3dx9
|
||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
|
||||
+EXTRADEFS = -D_D3DX9_VER=36
|
||||
|
||||
C_SRCS = \
|
||||
animation.c \
|
||||
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
|
||||
index fd8d59e..5b140fe 100644
|
||||
--- a/dlls/d3dx9_36/effect.c
|
||||
+++ b/dlls/d3dx9_36/effect.c
|
||||
@@ -3888,6 +3888,7 @@ static HRESULT WINAPI ID3DXEffectImpl_ApplyParameterBlock(ID3DXEffect* iface, D3
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
+#if _D3DX9_VER >= 26
|
||||
static HRESULT WINAPI ID3DXEffectImpl_DeleteParameterBlock(ID3DXEffect* iface, D3DXHANDLE parameter_block)
|
||||
{
|
||||
struct ID3DXEffectImpl *This = impl_from_ID3DXEffect(iface);
|
||||
@@ -3896,6 +3897,7 @@ static HRESULT WINAPI ID3DXEffectImpl_DeleteParameterBlock(ID3DXEffect* iface, D
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface,
|
||||
struct IDirect3DDevice9 *device, struct ID3DXEffect **effect)
|
||||
@@ -3907,6 +3909,7 @@ static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface,
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
+#if _D3DX9_VER >= 27
|
||||
static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface,
|
||||
D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes)
|
||||
{
|
||||
@@ -3915,6 +3918,7 @@ static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface,
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static const struct ID3DXEffectVtbl ID3DXEffect_Vtbl =
|
||||
{
|
||||
@@ -3997,9 +4001,13 @@ static const struct ID3DXEffectVtbl ID3DXEffect_Vtbl =
|
||||
ID3DXEffectImpl_BeginParameterBlock,
|
||||
ID3DXEffectImpl_EndParameterBlock,
|
||||
ID3DXEffectImpl_ApplyParameterBlock,
|
||||
+#if _D3DX9_VER >= 26
|
||||
ID3DXEffectImpl_DeleteParameterBlock,
|
||||
+#endif
|
||||
ID3DXEffectImpl_CloneEffect,
|
||||
+#if _D3DX9_VER >= 27
|
||||
ID3DXEffectImpl_SetRawValue
|
||||
+#endif
|
||||
};
|
||||
|
||||
static inline struct ID3DXEffectCompilerImpl *impl_from_ID3DXEffectCompiler(ID3DXEffectCompiler *iface)
|
||||
diff --git a/include/d3dx9effect.h b/include/d3dx9effect.h
|
||||
index 3f527ed..b8259e4 100644
|
||||
--- a/include/d3dx9effect.h
|
||||
+++ b/include/d3dx9effect.h
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright 2010 Christian Costa
|
||||
+ * Copyright 2015 Sebastian Lackner
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -197,7 +198,13 @@ DECLARE_INTERFACE_(ID3DXEffectStateManager, IUnknown)
|
||||
|
||||
typedef struct ID3DXEffect *LPD3DXEFFECT;
|
||||
|
||||
+#if defined(_D3DX9_VER) && _D3DX9_VER <= 25
|
||||
+DEFINE_GUID(IID_ID3DXEffect, 0xd165ccb1, 0x62b0, 0x4a33, 0xb3, 0xfa, 0xa9, 0x23, 0x0, 0x30, 0x5a, 0x11);
|
||||
+#elif defined(_D3DX9_VER) && _D3DX9_VER == 26
|
||||
+DEFINE_GUID(IID_ID3DXEffect, 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87);
|
||||
+#else
|
||||
DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
|
||||
+#endif
|
||||
|
||||
#define INTERFACE ID3DXEffect
|
||||
|
||||
@@ -282,10 +289,15 @@ DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
|
||||
STDMETHOD(BeginParameterBlock)(THIS) PURE;
|
||||
STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
|
||||
STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
|
||||
+#if !defined(_D3DX9_VER) || _D3DX9_VER >= 26
|
||||
STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
|
||||
+#endif
|
||||
STDMETHOD(CloneEffect)(THIS_ struct IDirect3DDevice9 *device, struct ID3DXEffect **effect) PURE;
|
||||
+#if !defined(_D3DX9_VER) || _D3DX9_VER >= 27
|
||||
STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes) PURE;
|
||||
+#endif
|
||||
};
|
||||
+
|
||||
#undef INTERFACE
|
||||
|
||||
typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
|
||||
--
|
||||
2.8.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
||||
Fixes: [25138] Fix wrong version of ID3DXEffect interface for d3dx9_25
|
||||
Category: stable
|
||||
Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
|
@@ -1,38 +0,0 @@
|
||||
From 95470685fda5c2e5e74c88d2d689159c3af478e8 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 14 Mar 2015 17:00:08 +0100
|
||||
Subject: d3dx9_36: Allow to query for d3dx9_26 specific ID3DXEffect interface.
|
||||
|
||||
---
|
||||
dlls/d3dx9_36/effect.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
|
||||
index 8f82784..384af3f 100644
|
||||
--- a/dlls/d3dx9_36/effect.c
|
||||
+++ b/dlls/d3dx9_36/effect.c
|
||||
@@ -22,6 +22,11 @@
|
||||
|
||||
#include "d3dx9_private.h"
|
||||
#include "d3dcompiler.h"
|
||||
+#include "initguid.h"
|
||||
+
|
||||
+/* d3dx9_26 provides an ID3DXEffect interface where the last function SetRawValue
|
||||
+ * is missing. Since its otherwise identical, we just use the same vtable. */
|
||||
+DEFINE_GUID(IID_ID3DXEffect26, 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87);
|
||||
|
||||
/* Constants for special INT/FLOAT conversation */
|
||||
#define INT_FLOAT_MULTI 255.0f
|
||||
@@ -2862,7 +2867,8 @@ static HRESULT WINAPI ID3DXEffectImpl_QueryInterface(ID3DXEffect *iface, REFIID
|
||||
TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), object);
|
||||
|
||||
if (IsEqualGUID(riid, &IID_IUnknown) ||
|
||||
- IsEqualGUID(riid, &IID_ID3DXEffect))
|
||||
+ IsEqualGUID(riid, &IID_ID3DXEffect) ||
|
||||
+ IsEqualGUID(riid, &IID_ID3DXEffect26))
|
||||
{
|
||||
iface->lpVtbl->AddRef(iface);
|
||||
*object = iface;
|
||||
--
|
||||
2.7.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Category: stable
|
File diff suppressed because it is too large
Load Diff
@@ -1,4 +0,0 @@
|
||||
Fixes: [21817] Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards
|
||||
Apply-After: dlls/d3dx9_33/*
|
||||
Depends: d3dx9_36-D3DXStubs
|
||||
Depends: d3dx9_36-DXTn
|
@@ -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
|
||||
|
@@ -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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user