mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against cfb1d2058fb47ff3f72501e0aaf35b97ea128036.
This commit is contained in:
parent
68441b1d95
commit
5cfa68940f
@ -1,67 +0,0 @@
|
||||
From a31e5531eb8f3be5fddf9f81f48f191b1a10c2aa Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 16 Mar 2015 08:18:33 +0100
|
||||
Subject: [PATCH] d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
|
||||
|
||||
---
|
||||
dlls/d3dx9_36/effect.c | 4 +++-
|
||||
dlls/d3dx9_36/tests/effect.c | 16 +++++-----------
|
||||
2 files changed, 8 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
|
||||
index 7d686a435d..f8d8ab9cd2 100644
|
||||
--- a/dlls/d3dx9_36/effect.c
|
||||
+++ b/dlls/d3dx9_36/effect.c
|
||||
@@ -4100,7 +4100,9 @@ static HRESULT WINAPI d3dx_effect_CloneEffect(ID3DXEffect *iface, IDirect3DDevic
|
||||
if (!device)
|
||||
return D3DERR_INVALIDCALL;
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ iface->lpVtbl->AddRef(iface);
|
||||
+ *new_effect = iface;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
#if D3DX_SDK_VERSION >= 27
|
||||
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
|
||||
index 5c4a3c5e77..ff15426938 100644
|
||||
--- a/dlls/d3dx9_36/tests/effect.c
|
||||
+++ b/dlls/d3dx9_36/tests/effect.c
|
||||
@@ -7419,29 +7419,23 @@ static void test_effect_clone(void)
|
||||
ok(hr == D3DERR_INVALIDCALL, "Got result %#x.\n", hr);
|
||||
|
||||
hr = effect->lpVtbl->CloneEffect(effect, device, &cloned);
|
||||
-todo_wine
|
||||
ok(hr == D3D_OK, "Got result %#x.\n", hr);
|
||||
-if (hr == D3D_OK)
|
||||
-{
|
||||
- ok(cloned != effect, "Expected new effect instance.\n");
|
||||
+
|
||||
+ todo_wine ok(cloned != effect, "Expected new effect instance.\n");
|
||||
cloned->lpVtbl->Release(cloned);
|
||||
-}
|
||||
/* Try with different device. */
|
||||
device2 = create_device(&window2);
|
||||
hr = effect->lpVtbl->CloneEffect(effect, device2, &cloned);
|
||||
-todo_wine
|
||||
ok(hr == D3D_OK, "Got result %#x.\n", hr);
|
||||
-if (hr == D3D_OK)
|
||||
-{
|
||||
- ok(cloned != effect, "Expected new effect instance.\n");
|
||||
+ todo_wine ok(cloned != effect, "Expected new effect instance.\n");
|
||||
|
||||
hr = cloned->lpVtbl->GetDevice(cloned, &device3);
|
||||
ok(hr == S_OK, "Failed to get effect device.\n");
|
||||
- ok(device3 == device2, "Unexpected device instance.\n");
|
||||
+ todo_wine ok(device3 == device2, "Unexpected device instance, device3 %p, device2 %p.\n", device3, device2);
|
||||
IDirect3DDevice9_Release(device3);
|
||||
|
||||
cloned->lpVtbl->Release(cloned);
|
||||
-}
|
||||
+
|
||||
IDirect3DDevice9_Release(device2);
|
||||
DestroyWindow(window2);
|
||||
effect->lpVtbl->Release(effect);
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [44635] Improve stub for ID3DXEffectImpl_CloneEffect
|
@ -1,19 +1,19 @@
|
||||
From 8d33bbc39a573848f00c95699ec8c0eee9fdb416 Mon Sep 17 00:00:00 2001
|
||||
From f9f2e1a4150c515fc416c96405f89d174d5761eb Mon Sep 17 00:00:00 2001
|
||||
From: Mark Harmstone <mark@harmstone.com>
|
||||
Date: Sun, 15 Mar 2015 18:04:38 +0000
|
||||
Subject: dsound: Report that we support EAX v1.
|
||||
Subject: [PATCH] dsound: Report that we support EAX v1.
|
||||
|
||||
---
|
||||
dlls/dsound/buffer.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index d735dc3..9eff140 100644
|
||||
index eb87479b7df..8d5ca27c90c 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -1319,6 +1319,18 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
@@ -1367,6 +1367,18 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
|
||||
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
TRACE("(%p,%s,%ld,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
|
||||
+ if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet)) {
|
||||
+ if (dwPropID <= DSPROPERTY_EAX_DAMPING) {
|
||||
@ -31,5 +31,5 @@ index d735dc3..9eff140 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.3.3
|
||||
2.34.1
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 601e237d1321fcdea3a678c31fd9eac62b89cfb4 Mon Sep 17 00:00:00 2001
|
||||
From ee7fe13f2c520e1360e46f825790539b5bc2be3b Mon Sep 17 00:00:00 2001
|
||||
From: Mark Harmstone <mark@harmstone.com>
|
||||
Date: Sun, 22 Mar 2015 13:58:53 +0000
|
||||
Subject: dsound: Add EAX propset stubs.
|
||||
Subject: [PATCH] dsound: Add EAX propset stubs.
|
||||
|
||||
---
|
||||
dlls/dsound/Makefile.in | 1 +
|
||||
dlls/dsound/buffer.c | 6 +++++
|
||||
dlls/dsound/dsound_private.h | 8 +++++++
|
||||
dlls/dsound/eax.c | 54 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/dsound/buffer.c | 6 ++++
|
||||
dlls/dsound/dsound_private.h | 8 ++++++
|
||||
dlls/dsound/eax.c | 54 ++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 69 insertions(+)
|
||||
create mode 100644 dlls/dsound/eax.c
|
||||
|
||||
diff --git a/dlls/dsound/Makefile.in b/dlls/dsound/Makefile.in
|
||||
index 6cb653f..1c04bf3 100644
|
||||
index 6cb653fdfa0..1c04bf34162 100644
|
||||
--- a/dlls/dsound/Makefile.in
|
||||
+++ b/dlls/dsound/Makefile.in
|
||||
@@ -9,6 +9,7 @@ C_SRCS = \
|
||||
@ -24,11 +24,11 @@ index 6cb653f..1c04bf3 100644
|
||||
primary.c \
|
||||
propset.c \
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index 9eff140..0596ce3 100644
|
||||
index 8d5ca27c90c..ed710fad43d 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -1298,6 +1298,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Get(IKsPropertySet *iface, REFGUID guid
|
||||
TRACE("(iface=%p,guidPropSet=%s,dwPropID=%d,pInstanceData=%p,cbInstanceData=%d,pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
|
||||
@@ -1346,6 +1346,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Get(IKsPropertySet *iface, REFGUID guid
|
||||
TRACE("(iface=%p,guidPropSet=%s,dwPropID=%ld,pInstanceData=%p,cbInstanceData=%ld,pPropData=%p,cbPropData=%ld,pcbReturned=%p)\n",
|
||||
This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned);
|
||||
|
||||
+ if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet))
|
||||
@ -37,9 +37,9 @@ index 9eff140..0596ce3 100644
|
||||
return E_PROP_ID_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@@ -1309,6 +1312,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid
|
||||
@@ -1357,6 +1360,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid
|
||||
|
||||
TRACE("(%p,%s,%d,%p,%d,%p,%d)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
|
||||
TRACE("(%p,%s,%ld,%p,%ld,%p,%ld)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
|
||||
|
||||
+ if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet))
|
||||
+ return EAX_Set(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData);
|
||||
@ -48,7 +48,7 @@ index 9eff140..0596ce3 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index 3c7dc7a..e4495b2 100644
|
||||
index 304708c26da..c0e254f7a6e 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -229,6 +229,14 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
@ -68,7 +68,7 @@ index 3c7dc7a..e4495b2 100644
|
||||
void DSOUND_RecalcVolPan(PDSVOLUMEPAN volpan) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
|
||||
new file mode 100644
|
||||
index 0000000..c30c7e1
|
||||
index 00000000000..c30c7e1a51a
|
||||
--- /dev/null
|
||||
+++ b/dlls/dsound/eax.c
|
||||
@@ -0,0 +1,54 @@
|
||||
@ -127,5 +127,5 @@ index 0000000..c30c7e1
|
||||
+ return E_PROP_ID_UNSUPPORTED;
|
||||
+}
|
||||
--
|
||||
2.3.3
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4ff4b0b2c1a5aeabeec286dc76868acbccc8779d Mon Sep 17 00:00:00 2001
|
||||
From af21be49d511224d7299ef3d21f08ebfee66f3a5 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 5 Apr 2015 19:13:18 +0200
|
||||
Subject: [PATCH] dsound: Allow disabling of EAX support in the registry.
|
||||
@ -12,7 +12,7 @@ Based on a patch by Mark Harmstone.
|
||||
4 files changed, 44 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index 926dbab1289..6393656c9fa 100644
|
||||
index 9a603a70ed9..39ce9101266 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -34,6 +34,7 @@
|
||||
@ -23,9 +23,9 @@ index 926dbab1289..6393656c9fa 100644
|
||||
|
||||
/*******************************************************************************
|
||||
* IDirectSoundNotify
|
||||
@@ -1311,16 +1312,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
@@ -1381,16 +1382,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
|
||||
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
TRACE("(%p,%s,%ld,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
|
||||
- if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet)) {
|
||||
- if (dwPropID <= DSPROPERTY_EAX_DAMPING) {
|
||||
@ -46,7 +46,7 @@ index 926dbab1289..6393656c9fa 100644
|
||||
|
||||
return E_PROP_ID_UNSUPPORTED;
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index fecb9489678..8b396a1939e 100644
|
||||
index da5912e216e..808425161a6 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -93,6 +93,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
@ -77,7 +77,7 @@ index fecb9489678..8b396a1939e 100644
|
||||
|
||||
static const char * get_device_id(LPCGUID pGuid)
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index bca2bf46601..47a42e62e7c 100644
|
||||
index 0bca36b2540..7d488ab1e45 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -37,6 +37,7 @@
|
||||
@ -88,7 +88,7 @@ index bca2bf46601..47a42e62e7c 100644
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interface implementation structures
|
||||
@@ -228,6 +229,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
@@ -234,6 +235,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
|
||||
|
||||
/* eax.c */
|
||||
@ -150,5 +150,5 @@ index ef802b95a7d..570207709f0 100644
|
||||
buf->device->eax.using_eax = TRUE;
|
||||
|
||||
--
|
||||
2.30.2
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f8f6f53f2bb3d138717ac7a82c78010bce874d4a Mon Sep 17 00:00:00 2001
|
||||
From b332a35d8382c6fc77ba663c5db98a6374518bfe Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 25 Jan 2021 19:14:32 +1100
|
||||
Subject: [PATCH] dsound: Fake success for EAX Set Buffer/ListenerProperties
|
||||
@ -10,12 +10,12 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50551
|
||||
2 files changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index 6393656c9fa..24ff1a6198c 100644
|
||||
index 39ce9101266..ba93989f372 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -1299,7 +1299,8 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid
|
||||
@@ -1369,7 +1369,8 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid
|
||||
|
||||
TRACE("(%p,%s,%d,%p,%d,%p,%d)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
|
||||
TRACE("(%p,%s,%ld,%p,%ld,%p,%ld)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
|
||||
|
||||
- if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet))
|
||||
+ if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet) ||
|
||||
@ -44,5 +44,5 @@ index 6a6d22bc031..b3f48cdb5bd 100644
|
||||
|
||||
FIXME("(%p,%s,%d,%p,%d,%p,%d)\n",
|
||||
--
|
||||
2.29.2
|
||||
2.34.1
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 5467b7a82f16dfb7cbd6de4badcd107e7ec5f292 Mon Sep 17 00:00:00 2001
|
||||
From 0b70d2f52080c75d0fd183235957270a525c7b32 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 26 Feb 2016 03:54:28 +0100
|
||||
Subject: mmsystem.dll16: Refcount midihdr to work around buggy application
|
||||
which unprepares buffer during a callback.
|
||||
Subject: [PATCH] mmsystem.dll16: Refcount midihdr to work around buggy
|
||||
application which unprepares buffer during a callback.
|
||||
|
||||
---
|
||||
dlls/mmsystem.dll16/message16.c | 123 ++++++++++++++++++++++++----------------
|
||||
1 file changed, 74 insertions(+), 49 deletions(-)
|
||||
dlls/mmsystem.dll16/message16.c | 121 +++++++++++++++++++-------------
|
||||
1 file changed, 73 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/dlls/mmsystem.dll16/message16.c b/dlls/mmsystem.dll16/message16.c
|
||||
index 012d3dc..2c01eb4 100644
|
||||
index 5a722bb6691..a6816920dae 100644
|
||||
--- a/dlls/mmsystem.dll16/message16.c
|
||||
+++ b/dlls/mmsystem.dll16/message16.c
|
||||
@@ -33,6 +33,13 @@
|
||||
@ -26,7 +26,7 @@ index 012d3dc..2c01eb4 100644
|
||||
/* =================================
|
||||
* A U X M A P P E R S
|
||||
* ================================= */
|
||||
@@ -117,13 +124,13 @@ static void MMSYSTDRV_MidiIn_MapCB(UINT uMsg, DWORD_PTR* dwUser, DW
|
||||
@@ -117,13 +124,13 @@ static void MMSYSTDRV_MidiIn_MapCB(DWORD uMsg, DWORD_PTR* dwUser, D
|
||||
case MIM_LONGDATA:
|
||||
case MIM_LONGERROR:
|
||||
{
|
||||
@ -46,13 +46,15 @@ index 012d3dc..2c01eb4 100644
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -175,42 +182,49 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiOut_Map16To32W (UINT wMsg, DWORD_PTR* lpP
|
||||
@@ -175,42 +182,49 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiOut_Map16To32W (DWORD wMsg, DWORD_PTR* lp
|
||||
break;
|
||||
case MODM_PREPARE:
|
||||
{
|
||||
- LPMIDIHDR mh32 = HeapAlloc(GetProcessHeap(), 0, sizeof(LPMIDIHDR) + sizeof(MIDIHDR));
|
||||
- LPMIDIHDR16 mh16 = MapSL(*lpParam1);
|
||||
-
|
||||
+ struct mihdrWrap *mh32 = HeapAlloc(GetProcessHeap(), 0, sizeof(struct mihdrWrap));
|
||||
+ LPMIDIHDR16 mh16 = MapSL(*lpParam1);
|
||||
|
||||
- if (mh32) {
|
||||
- *(LPMIDIHDR*)mh32 = (LPMIDIHDR)*lpParam1;
|
||||
- mh32 = (LPMIDIHDR)((LPSTR)mh32 + sizeof(LPMIDIHDR));
|
||||
@ -64,13 +66,6 @@ index 012d3dc..2c01eb4 100644
|
||||
- mh16->lpNext = (MIDIHDR16*)mh32; /* for reuse in unprepare and write */
|
||||
- *lpParam1 = (DWORD)mh32;
|
||||
- *lpParam2 = offsetof(MIDIHDR,dwOffset); /* old size, without dwOffset */
|
||||
+ struct mihdrWrap *mh32 = HeapAlloc(GetProcessHeap(), 0, sizeof(struct mihdrWrap));
|
||||
+ LPMIDIHDR16 mh16 = MapSL(*lpParam1);
|
||||
|
||||
- ret = MMSYSTEM_MAP_OKMEM;
|
||||
- } else {
|
||||
- ret = MMSYSTEM_MAP_NOMEM;
|
||||
- }
|
||||
+ if (mh32)
|
||||
+ {
|
||||
+ mh32->ref = 2;
|
||||
@ -83,7 +78,11 @@ index 012d3dc..2c01eb4 100644
|
||||
+ mh16->lpNext = (MIDIHDR16*)mh32; /* for reuse in unprepare and write */
|
||||
+ *lpParam1 = (DWORD)&mh32->hdr;
|
||||
+ *lpParam2 = offsetof(MIDIHDR,dwOffset); /* old size, without dwOffset */
|
||||
+
|
||||
|
||||
- ret = MMSYSTEM_MAP_OKMEM;
|
||||
- } else {
|
||||
- ret = MMSYSTEM_MAP_NOMEM;
|
||||
- }
|
||||
+ ret = MMSYSTEM_MAP_OKMEM;
|
||||
+ }
|
||||
+ else
|
||||
@ -102,7 +101,7 @@ index 012d3dc..2c01eb4 100644
|
||||
- *lpParam2 = offsetof(MIDIHDR,dwOffset);
|
||||
- /* dwBufferLength can be reduced between prepare & write */
|
||||
- if (wMsg == MODM_LONGDATA && mh32->dwBufferLength < mh16->dwBufferLength) {
|
||||
- ERR("Size of buffer has been increased from %d to %d, keeping initial value\n",
|
||||
- ERR("Size of buffer has been increased from %ld to %ld, keeping initial value\n",
|
||||
- mh32->dwBufferLength, mh16->dwBufferLength);
|
||||
- } else
|
||||
- mh32->dwBufferLength = mh16->dwBufferLength;
|
||||
@ -125,7 +124,7 @@ index 012d3dc..2c01eb4 100644
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -267,17 +281,28 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiOut_UnMap16To32W(UINT wMsg, DWORD_PTR* lp
|
||||
@@ -267,17 +281,28 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiOut_UnMap16To32W(DWORD wMsg, DWORD_PTR* l
|
||||
case MODM_UNPREPARE:
|
||||
case MODM_LONGDATA:
|
||||
{
|
||||
@ -163,7 +162,7 @@ index 012d3dc..2c01eb4 100644
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -307,12 +332,12 @@ static void MMSYSTDRV_MidiOut_MapCB(UINT uMsg, DWORD_PTR* dwUser, DWORD_PTR* dw
|
||||
@@ -307,12 +332,12 @@ static void MMSYSTDRV_MidiOut_MapCB(DWORD uMsg, DWORD_PTR* dwUser, DWORD_PTR* d
|
||||
case MOM_DONE:
|
||||
{
|
||||
/* initial map is: 16 => 32 */
|
||||
@ -182,5 +181,5 @@ index 012d3dc..2c01eb4 100644
|
||||
break;
|
||||
default:
|
||||
--
|
||||
2.9.0
|
||||
2.34.1
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "d318f43559dbb0093e22bab1aa0eb9dc01170cc2"
|
||||
echo "cfb1d2058fb47ff3f72501e0aaf35b97ea128036"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -96,7 +96,6 @@ patch_enable_all ()
|
||||
enable_d3drm_IDirect3D3_support="$1"
|
||||
enable_d3dx11_43_D3DX11CreateTextureFromMemory="$1"
|
||||
enable_d3dx9_36_BumpLuminance="$1"
|
||||
enable_d3dx9_36_CloneEffect="$1"
|
||||
enable_d3dx9_36_D3DXDisassembleShader="$1"
|
||||
enable_d3dx9_36_D3DXOptimizeVertices="$1"
|
||||
enable_d3dx9_36_D3DXStubs="$1"
|
||||
@ -320,9 +319,6 @@ patch_enable ()
|
||||
d3dx9_36-BumpLuminance)
|
||||
enable_d3dx9_36_BumpLuminance="$2"
|
||||
;;
|
||||
d3dx9_36-CloneEffect)
|
||||
enable_d3dx9_36_CloneEffect="$2"
|
||||
;;
|
||||
d3dx9_36-D3DXDisassembleShader)
|
||||
enable_d3dx9_36_D3DXDisassembleShader="$2"
|
||||
;;
|
||||
@ -1573,18 +1569,6 @@ if test "$enable_d3dx9_36_BumpLuminance" -eq 1; then
|
||||
patch_apply d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch
|
||||
fi
|
||||
|
||||
# Patchset d3dx9_36-CloneEffect
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44635] Improve stub for ID3DXEffectImpl_CloneEffect
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3dx9_36/effect.c, dlls/d3dx9_36/tests/effect.c
|
||||
# |
|
||||
if test "$enable_d3dx9_36_CloneEffect" -eq 1; then
|
||||
patch_apply d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch
|
||||
fi
|
||||
|
||||
# Patchset d3dx9_36-D3DXDisassembleShader
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,17 +1,18 @@
|
||||
From 1d25ef1b6e9ef476686a3103604850ec5005b658 Mon Sep 17 00:00:00 2001
|
||||
From 259d6774b0b769956c33382a4260ae5278e54b85 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 26 Jan 2016 16:17:21 +0800
|
||||
Subject: oleaut32: Add support for decoding SLTG variable help strings.
|
||||
Subject: [PATCH] oleaut32: Add support for decoding SLTG variable help
|
||||
strings.
|
||||
|
||||
---
|
||||
dlls/oleaut32/typelib.c | 24 +++++++++++++++---------
|
||||
1 file changed, 15 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index b9d8cbb..6699e0b 100644
|
||||
index ff1506856e2..ee15996dea5 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -4129,7 +4129,7 @@ static char *SLTG_DoImpls(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4086,7 +4086,7 @@ static char *SLTG_DoImpls(char *pBlk, ITypeInfoImpl *pTI,
|
||||
}
|
||||
|
||||
static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsigned short cVars,
|
||||
@ -20,9 +21,9 @@ index b9d8cbb..6699e0b 100644
|
||||
{
|
||||
TLBVarDesc *pVarDesc;
|
||||
const TLBString *prevName = NULL;
|
||||
@@ -4159,6 +4159,12 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
@@ -4116,6 +4116,12 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
TRACE_(typelib)("byte_offs = 0x%x\n", pItem->byte_offs);
|
||||
TRACE_(typelib)("memid = 0x%x\n", pItem->memid);
|
||||
TRACE_(typelib)("memid = %#lx\n", pItem->memid);
|
||||
|
||||
+ if (pItem->helpstring != 0xffff)
|
||||
+ {
|
||||
@ -33,7 +34,7 @@ index b9d8cbb..6699e0b 100644
|
||||
if(pItem->flags & 0x02)
|
||||
pType = &pItem->type;
|
||||
else
|
||||
@@ -4394,9 +4400,9 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4355,9 +4361,9 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessRecord(char *pBlk, ITypeInfoImpl *pTI,
|
||||
const char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -45,7 +46,7 @@ index b9d8cbb..6699e0b 100644
|
||||
}
|
||||
|
||||
static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4437,7 +4443,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4398,7 +4404,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
pNameTable);
|
||||
|
||||
if (pTITail->vars_off != 0xffff)
|
||||
@ -54,7 +55,7 @@ index b9d8cbb..6699e0b 100644
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
SLTG_DoFuncs(pBlk, pBlk + pTITail->funcs_off, pTI, pTITail->cFuncs, pNameTable, ref_lookup, hlp_strings);
|
||||
@@ -4457,9 +4463,9 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4418,9 +4424,9 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
|
||||
const char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -66,7 +67,7 @@ index b9d8cbb..6699e0b 100644
|
||||
}
|
||||
|
||||
static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4472,7 +4478,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4433,7 +4439,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
pNameTable);
|
||||
|
||||
if (pTITail->vars_off != 0xffff)
|
||||
@ -75,7 +76,7 @@ index b9d8cbb..6699e0b 100644
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
SLTG_DoFuncs(pBlk, pBlk + pTITail->funcs_off, pTI, pTITail->cFuncs, pNameTable, ref_lookup, hlp_strings);
|
||||
@@ -4727,12 +4733,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
@@ -4688,12 +4694,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
switch(pTIHeader->typekind) {
|
||||
case TKIND_ENUM:
|
||||
SLTG_ProcessEnum((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
|
||||
@ -91,5 +92,5 @@ index b9d8cbb..6699e0b 100644
|
||||
|
||||
case TKIND_INTERFACE:
|
||||
--
|
||||
2.6.4
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f3d97f4e2e9e720a0b75666b05362f3450b2496e Mon Sep 17 00:00:00 2001
|
||||
From 44d72553191650080c21e56815ac7bb91ba0d02d Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Mon, 25 Feb 2019 15:05:12 +0300
|
||||
Subject: [PATCH] wined3d: Support SWVP vertex shader constants limit in state
|
||||
@ -15,10 +15,10 @@ Subject: [PATCH] wined3d: Support SWVP vertex shader constants limit in state
|
||||
7 files changed, 31 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
|
||||
index 3ef9361886d..86dd47383df 100644
|
||||
index 7abf9ea3df2..32ccb290df5 100644
|
||||
--- a/dlls/d3d9/tests/device.c
|
||||
+++ b/dlls/d3d9/tests/device.c
|
||||
@@ -6936,13 +6936,10 @@ static void test_vertex_shader_constant(void)
|
||||
@@ -6973,13 +6973,10 @@ static void test_vertex_shader_constant(void)
|
||||
ok(consts_swvp == 8192, "Unexpected consts_swvp %u.\n", consts_swvp);
|
||||
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1);
|
||||
@ -32,7 +32,7 @@ index 3ef9361886d..86dd47383df 100644
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1);
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
@@ -6967,7 +6964,6 @@ static void test_vertex_shader_constant(void)
|
||||
@@ -7004,7 +7001,6 @@ static void test_vertex_shader_constant(void)
|
||||
|
||||
IDirect3DDevice9_SetSoftwareVertexProcessing(device, 0);
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1);
|
||||
@ -40,7 +40,7 @@ index 3ef9361886d..86dd47383df 100644
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1);
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
@@ -6975,7 +6971,6 @@ static void test_vertex_shader_constant(void)
|
||||
@@ -7012,7 +7008,6 @@ static void test_vertex_shader_constant(void)
|
||||
IDirect3DDevice9_SetSoftwareVertexProcessing(device, 1);
|
||||
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts + 0, c, 1);
|
||||
@ -49,10 +49,10 @@ index 3ef9361886d..86dd47383df 100644
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, consts_swvp - 1, c, 1);
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 40585d5257d..6377addec24 100644
|
||||
index 89f9e9cf2c6..2ff33b667f0 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -24895,7 +24895,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
@@ -24908,7 +24908,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, 0, c_index, 1);
|
||||
ok(SUCCEEDED(hr), "Got unexpected hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_SetVertexShaderConstantF(device, (unsigned int)c_index[0], c_color, 1);
|
||||
@ -61,10 +61,10 @@ index 40585d5257d..6377addec24 100644
|
||||
|
||||
hr = IDirect3DDevice9_BeginScene(device);
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 09c1dce8dd9..91cfde663d1 100644
|
||||
index 14771da0947..4f529d9dcb3 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3606,7 +3606,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
||||
@@ -3759,7 +3759,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
||||
const struct wined3d_saved_states *changed = &stateblock->changed;
|
||||
const unsigned int word_bit_count = sizeof(DWORD) * CHAR_BIT;
|
||||
struct wined3d_device_context *context = &device->cs->c;
|
||||
@ -73,7 +73,7 @@ index 09c1dce8dd9..91cfde663d1 100644
|
||||
struct wined3d_range range;
|
||||
uint32_t map;
|
||||
|
||||
@@ -3617,9 +3617,11 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
||||
@@ -3770,9 +3770,11 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
||||
if (changed->pixelShader)
|
||||
wined3d_device_context_set_shader(context, WINED3D_SHADER_TYPE_PIXEL, state->ps);
|
||||
|
||||
@ -87,10 +87,10 @@ index 09c1dce8dd9..91cfde663d1 100644
|
||||
|
||||
wined3d_device_set_vs_consts_f(device, range.offset, range.size, &state->vs_consts_f[range.offset]);
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index 152139757c6..e4cafd6a4cc 100644
|
||||
index 707d9521445..22cfe881f41 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -1910,7 +1910,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev
|
||||
@@ -1907,7 +1907,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev
|
||||
if (priv->consts_ubo)
|
||||
return;
|
||||
|
||||
@ -100,10 +100,10 @@ index 152139757c6..e4cafd6a4cc 100644
|
||||
update_heap_entry(heap, i, priv->next_constant_version);
|
||||
}
|
||||
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
|
||||
index 4cf30941d62..363bfb3b900 100644
|
||||
index c5ca5990009..5372e415ba6 100644
|
||||
--- a/dlls/wined3d/stateblock.c
|
||||
+++ b/dlls/wined3d/stateblock.c
|
||||
@@ -731,8 +731,8 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock,
|
||||
@@ -732,8 +732,8 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock,
|
||||
const struct wined3d_stateblock *device_state)
|
||||
{
|
||||
const struct wined3d_stateblock_state *state = &device_state->stateblock_state;
|
||||
@ -113,7 +113,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
DWORD map;
|
||||
|
||||
TRACE("stateblock %p, device_state %p.\n", stateblock, device_state);
|
||||
@@ -748,9 +748,11 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock,
|
||||
@@ -749,9 +749,11 @@ void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock,
|
||||
stateblock->stateblock_state.vs = state->vs;
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
break;
|
||||
|
||||
memcpy(&stateblock->stateblock_state.vs_consts_f[range.offset], &state->vs_consts_f[range.offset],
|
||||
@@ -994,8 +996,8 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock,
|
||||
@@ -995,8 +997,8 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock,
|
||||
struct wined3d_stateblock *device_state)
|
||||
{
|
||||
const struct wined3d_stateblock_state *state = &stateblock->stateblock_state;
|
||||
@ -136,7 +136,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
DWORD map;
|
||||
|
||||
TRACE("stateblock %p, device_state %p.\n", stateblock, device_state);
|
||||
@@ -1005,9 +1007,11 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock,
|
||||
@@ -1006,9 +1008,11 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock,
|
||||
if (stateblock->changed.pixelShader)
|
||||
wined3d_stateblock_set_pixel_shader(device_state, state->ps);
|
||||
|
||||
@ -149,7 +149,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
break;
|
||||
wined3d_stateblock_set_vs_consts_f(device_state, range.offset, range.size, &state->vs_consts_f[range.offset]);
|
||||
}
|
||||
@@ -1199,12 +1203,14 @@ static void wined3d_bitmap_set_bits(uint32_t *bitmap, unsigned int start, unsign
|
||||
@@ -1200,12 +1204,14 @@ static void wined3d_bitmap_set_bits(uint32_t *bitmap, unsigned int start, unsign
|
||||
HRESULT CDECL wined3d_stateblock_set_vs_consts_f(struct wined3d_stateblock *stateblock,
|
||||
unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants)
|
||||
{
|
||||
@ -166,7 +166,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
|
||||
memcpy(&stateblock->stateblock_state.vs_consts_f[start_idx], constants, count * sizeof(*constants));
|
||||
@@ -2011,7 +2017,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru
|
||||
@@ -2018,7 +2024,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru
|
||||
stateblock_init_lights(stateblock->stateblock_state.light_state->light_map,
|
||||
device_state->stateblock_state.light_state->light_map);
|
||||
stateblock_savedstates_set_all(&stateblock->changed,
|
||||
@ -175,7 +175,7 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
break;
|
||||
|
||||
case WINED3D_SBT_PIXEL_STATE:
|
||||
@@ -2023,7 +2029,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru
|
||||
@@ -2030,7 +2036,7 @@ static HRESULT stateblock_init(struct wined3d_stateblock *stateblock, const stru
|
||||
stateblock_init_lights(stateblock->stateblock_state.light_state->light_map,
|
||||
device_state->stateblock_state.light_state->light_map);
|
||||
stateblock_savedstates_set_vertex(&stateblock->changed,
|
||||
@ -185,10 +185,10 @@ index 4cf30941d62..363bfb3b900 100644
|
||||
|
||||
default:
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 28390d8f348..6afbcfb2cfd 100644
|
||||
index 4c88f43713c..650aa2e2f63 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3717,7 +3717,7 @@ struct wined3d_state
|
||||
@@ -3803,7 +3803,7 @@ struct wined3d_state
|
||||
struct wined3d_shader_resource_view *shader_resource_view[WINED3D_SHADER_TYPE_COUNT][MAX_SHADER_RESOURCE_VIEWS];
|
||||
struct wined3d_unordered_access_view *unordered_access_view[WINED3D_PIPELINE_COUNT][MAX_UNORDERED_ACCESS_VIEWS];
|
||||
|
||||
@ -197,9 +197,9 @@ index 28390d8f348..6afbcfb2cfd 100644
|
||||
struct wined3d_ivec4 vs_consts_i[WINED3D_MAX_CONSTS_I];
|
||||
BOOL vs_consts_b[WINED3D_MAX_CONSTS_B];
|
||||
|
||||
@@ -3893,6 +3893,15 @@ HRESULT wined3d_device_set_implicit_swapchain(struct wined3d_device *device,
|
||||
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
void wined3d_device_uninit_3d(struct wined3d_device *device) DECLSPEC_HIDDEN;
|
||||
@@ -3985,6 +3985,15 @@ static inline void wined3d_device_bo_map_unlock(struct wined3d_device *device)
|
||||
LeaveCriticalSection(&device->bo_map_lock);
|
||||
}
|
||||
|
||||
+static inline unsigned int wined3d_device_get_vs_uniform_count(const struct wined3d_device *device)
|
||||
+{
|
||||
@ -213,7 +213,7 @@ index 28390d8f348..6afbcfb2cfd 100644
|
||||
struct wined3d_device_no3d
|
||||
{
|
||||
struct wined3d_device d;
|
||||
@@ -4625,7 +4634,7 @@ struct wined3d_vertex_declaration
|
||||
@@ -4835,7 +4844,7 @@ struct wined3d_vertex_declaration
|
||||
|
||||
struct wined3d_saved_states
|
||||
{
|
||||
@ -223,10 +223,10 @@ index 28390d8f348..6afbcfb2cfd 100644
|
||||
WORD vertexShaderConstantsB; /* WINED3D_MAX_CONSTS_B, 16 */
|
||||
uint32_t ps_consts_f[WINED3D_BITMAP_SIZE(WINED3D_MAX_PS_CONSTS_F)];
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index cab4a2bc958..5cd71b8268c 100644
|
||||
index 55c9cd3fc45..10198ad8278 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -2189,7 +2189,7 @@ struct wined3d_stateblock_state
|
||||
@@ -2191,7 +2191,7 @@ struct wined3d_stateblock_state
|
||||
int base_vertex_index;
|
||||
|
||||
struct wined3d_shader *vs;
|
||||
@ -236,5 +236,5 @@ index cab4a2bc958..5cd71b8268c 100644
|
||||
BOOL vs_consts_b[WINED3D_MAX_CONSTS_B];
|
||||
|
||||
--
|
||||
2.30.2
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ee17d52379ab1bf8ed5c19ce3658a1996d19808b Mon Sep 17 00:00:00 2001
|
||||
From 3672fa47e729c45fa34182f6ba9eaab1d77bd2ef Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Mon, 25 Feb 2019 15:23:33 +0300
|
||||
Subject: [PATCH] wined3d: Support SWVP mode vertex shaders.
|
||||
@ -14,10 +14,10 @@ Subject: [PATCH] wined3d: Support SWVP mode vertex shaders.
|
||||
7 files changed, 104 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
|
||||
index 09446d0be6..7d62fd5823 100644
|
||||
index 32ccb290df5..397885f12d7 100644
|
||||
--- a/dlls/d3d9/tests/device.c
|
||||
+++ b/dlls/d3d9/tests/device.c
|
||||
@@ -6901,15 +6901,11 @@ float4 main(const float4 color : COLOR) : SV_TARGET
|
||||
@@ -7462,15 +7462,11 @@ float4 main(const float4 color : COLOR) : SV_TARGET
|
||||
|
||||
vs = NULL;
|
||||
hr = IDirect3DDevice9_CreateVertexShader(device, vs_1_256, &vs);
|
||||
@ -35,7 +35,7 @@ index 09446d0be6..7d62fd5823 100644
|
||||
|
||||
refcount = IDirect3DDevice9_Release(device);
|
||||
ok(!refcount, "Device has %u references left.\n", refcount);
|
||||
@@ -6926,20 +6922,16 @@ float4 main(const float4 color : COLOR) : SV_TARGET
|
||||
@@ -7487,20 +7483,16 @@ float4 main(const float4 color : COLOR) : SV_TARGET
|
||||
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
|
||||
|
||||
hr = IDirect3DDevice9_CreateVertexShader(device, vs_1_256, &vs);
|
||||
@ -59,10 +59,10 @@ index 09446d0be6..7d62fd5823 100644
|
||||
cleanup:
|
||||
refcount = IDirect3DDevice9_Release(device);
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 0ae4eb7a34..0463df7a56 100644
|
||||
index 2ff33b667f0..6c4f0b759e4 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -24803,7 +24803,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
@@ -24834,7 +24834,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
hr = IDirect3DDevice9_CreateVertexShader(device, reladdr_shader_code, &reladdr_shader);
|
||||
ok(SUCCEEDED(hr), "Got unexpected hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_CreateVertexShader(device, pure_sw_shader_code, &pure_sw_shader);
|
||||
@ -70,7 +70,7 @@ index 0ae4eb7a34..0463df7a56 100644
|
||||
ok(SUCCEEDED(hr), "Got unexpected hr %#x.\n", hr);
|
||||
hr = IDirect3DDevice9_CreateVertexDeclaration(device, decl_elements, &vertex_declaration);
|
||||
ok(SUCCEEDED(hr), "Got unexpected hr %#x.\n", hr);
|
||||
@@ -24841,7 +24840,7 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
@@ -24872,7 +24871,7 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
|
||||
expected_color = 0x00ff0000; /* Color from vertex data and not from the shader. */
|
||||
color = getPixelColor(device, 5, 5);
|
||||
@ -79,7 +79,7 @@ index 0ae4eb7a34..0463df7a56 100644
|
||||
expected_color, color);
|
||||
|
||||
hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
|
||||
@@ -24860,7 +24859,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
@@ -24891,7 +24890,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
|
||||
expected_color = 0x00ffffff;
|
||||
color = getPixelColor(device, 5, 5);
|
||||
@ -87,7 +87,7 @@ index 0ae4eb7a34..0463df7a56 100644
|
||||
ok(color == expected_color, "Expected color 0x%08x, got 0x%08x (sw shader in sw mode).\n",
|
||||
expected_color, color);
|
||||
|
||||
@@ -24910,7 +24908,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
@@ -24941,7 +24939,6 @@ static void test_mvp_software_vertex_shaders(void)
|
||||
|
||||
expected_color = 0x0000ffff; /* c[256] is c_color for SW shader. */
|
||||
color = getPixelColor(device, 5, 5);
|
||||
@ -96,10 +96,10 @@ index 0ae4eb7a34..0463df7a56 100644
|
||||
expected_color, color);
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 1db974f118..844d2f60ec 100644
|
||||
index 4f529d9dcb3..4809da60fc9 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4256,6 +4256,14 @@ void CDECL wined3d_device_set_software_vertex_processing(struct wined3d_device *
|
||||
@@ -4518,6 +4518,14 @@ void CDECL wined3d_device_set_software_vertex_processing(struct wined3d_device *
|
||||
warned = TRUE;
|
||||
}
|
||||
|
||||
@ -115,10 +115,10 @@ index 1db974f118..844d2f60ec 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index a88f92cc03..3ae361024e 100644
|
||||
index 22cfe881f41..c91128f41e8 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -140,7 +140,9 @@ struct shader_glsl_priv
|
||||
@@ -136,7 +136,9 @@ struct shader_glsl_priv
|
||||
|
||||
BOOL consts_ubo;
|
||||
GLuint ubo_vs_c;
|
||||
@ -129,7 +129,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
|
||||
const struct wined3d_vertex_pipe_ops *vertex_pipe;
|
||||
const struct wined3d_fragment_pipe_ops *fragment_pipe;
|
||||
@@ -155,7 +157,7 @@ struct glsl_vs_program
|
||||
@@ -151,7 +153,7 @@ struct glsl_vs_program
|
||||
struct list shader_entry;
|
||||
GLuint id;
|
||||
GLenum vertex_color_clamp;
|
||||
@ -138,7 +138,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
GLint uniform_i_locations[WINED3D_MAX_CONSTS_I];
|
||||
GLint uniform_b_locations[WINED3D_MAX_CONSTS_B];
|
||||
GLint pos_fixup_location;
|
||||
@@ -1195,7 +1197,7 @@ static void bind_and_orphan_consts_ubo(const struct wined3d_gl_info *gl_info, st
|
||||
@@ -1191,7 +1193,7 @@ static void bind_and_orphan_consts_ubo(const struct wined3d_gl_info *gl_info, st
|
||||
{
|
||||
GL_EXTCALL(glBindBuffer(GL_UNIFORM_BUFFER, priv->ubo_vs_c));
|
||||
checkGLcall("glBindBuffer");
|
||||
@ -147,7 +147,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
NULL, GL_STREAM_DRAW));
|
||||
checkGLcall("glBufferData");
|
||||
}
|
||||
@@ -1203,14 +1205,16 @@ static void bind_and_orphan_consts_ubo(const struct wined3d_gl_info *gl_info, st
|
||||
@@ -1199,14 +1201,16 @@ static void bind_and_orphan_consts_ubo(const struct wined3d_gl_info *gl_info, st
|
||||
/* Context activation is done by the caller. */
|
||||
static void shader_glsl_load_constants_f(const struct wined3d_shader *shader, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_vec4 *constants, const GLint *constant_locations, const struct constant_heap *heap,
|
||||
@ -165,7 +165,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
unsigned max_const_used;
|
||||
|
||||
if (priv->ubo_vs_c == -1)
|
||||
@@ -1220,22 +1224,32 @@ static void shader_glsl_load_constants_f(const struct wined3d_shader *shader, co
|
||||
@@ -1216,22 +1220,32 @@ static void shader_glsl_load_constants_f(const struct wined3d_shader *shader, co
|
||||
}
|
||||
|
||||
bind_and_orphan_consts_ubo(gl_info, priv);
|
||||
@ -204,7 +204,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
checkGLcall("glBufferSubData");
|
||||
return;
|
||||
}
|
||||
@@ -1603,7 +1617,7 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
@@ -1597,7 +1611,7 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
GL_EXTCALL(glGenBuffers(1, &priv->ubo_vs_c));
|
||||
GL_EXTCALL(glBindBuffer(GL_UNIFORM_BUFFER, priv->ubo_vs_c));
|
||||
checkGLcall("glBindBuffer (UBO)");
|
||||
@ -213,7 +213,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
NULL, GL_STREAM_DRAW));
|
||||
checkGLcall("glBufferData");
|
||||
}
|
||||
@@ -1615,7 +1629,8 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
@@ -1609,7 +1623,8 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
|
||||
if (update_mask & WINED3D_SHADER_CONST_VS_F)
|
||||
shader_glsl_load_constants_f(vshader, gl_info, state->vs_consts_f,
|
||||
@ -223,7 +223,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
|
||||
if (update_mask & WINED3D_SHADER_CONST_VS_I)
|
||||
shader_glsl_load_constants_i(vshader, gl_info, state->vs_consts_i,
|
||||
@@ -1768,7 +1783,8 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
@@ -1762,7 +1777,8 @@ static void shader_glsl_load_constants(void *shader_priv, struct wined3d_context
|
||||
|
||||
if (update_mask & WINED3D_SHADER_CONST_PS_F)
|
||||
shader_glsl_load_constants_f(pshader, gl_info, state->ps_consts_f,
|
||||
@ -233,7 +233,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
|
||||
if (update_mask & WINED3D_SHADER_CONST_PS_I)
|
||||
shader_glsl_load_constants_i(pshader, gl_info, state->ps_consts_i,
|
||||
@@ -1913,7 +1929,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev
|
||||
@@ -1907,7 +1923,7 @@ static void shader_glsl_update_float_vertex_constants(struct wined3d_device *dev
|
||||
if (priv->consts_ubo)
|
||||
return;
|
||||
|
||||
@ -242,7 +242,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
{
|
||||
update_heap_entry(heap, i, priv->next_constant_version);
|
||||
}
|
||||
@@ -2275,7 +2291,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c
|
||||
@@ -2279,7 +2295,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c
|
||||
shader_addline(buffer,"layout(std140) uniform vs_c_ubo\n"
|
||||
"{ \n"
|
||||
" vec4 %s_c[%u];\n"
|
||||
@ -251,7 +251,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
}
|
||||
else if (shader->limits->constant_float > 0)
|
||||
{
|
||||
@@ -10003,12 +10019,13 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info *
|
||||
@@ -10057,12 +10073,13 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info *
|
||||
}
|
||||
else if (!priv->consts_ubo)
|
||||
{
|
||||
@ -267,7 +267,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
}
|
||||
|
||||
for (i = 0; i < WINED3D_MAX_CONSTS_I; ++i)
|
||||
@@ -10326,6 +10343,10 @@ static void set_glsl_shader_program(const struct wined3d_context_gl *context_gl,
|
||||
@@ -10380,6 +10397,10 @@ static void set_glsl_shader_program(const struct wined3d_context_gl *context_gl,
|
||||
vs_list = &ffp_shader->linked_programs;
|
||||
}
|
||||
|
||||
@ -278,7 +278,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
hshader = state->shader[WINED3D_SHADER_TYPE_HULL];
|
||||
if (!(context_gl->c.shader_update_mask & (1u << WINED3D_SHADER_TYPE_HULL)) && ctx_data->glsl_program)
|
||||
hs_id = ctx_data->glsl_program->hs.id;
|
||||
@@ -11083,7 +11104,7 @@ static void constant_heap_free(struct constant_heap *heap)
|
||||
@@ -11134,7 +11155,7 @@ static void constant_heap_free(struct constant_heap *heap)
|
||||
static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe,
|
||||
const struct wined3d_fragment_pipe_ops *fragment_pipe)
|
||||
{
|
||||
@ -287,7 +287,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
struct fragment_caps fragment_caps;
|
||||
void *vertex_priv, *fragment_priv;
|
||||
@@ -11094,6 +11115,18 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
|
||||
@@ -11145,6 +11166,18 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
|
||||
|
||||
priv->consts_ubo = (device->adapter->d3d_info.wined3d_creation_flags & WINED3D_LEGACY_SHADER_CONSTANTS)
|
||||
&& gl_info->supported[ARB_UNIFORM_BUFFER_OBJECT];
|
||||
@ -306,7 +306,7 @@ index a88f92cc03..3ae361024e 100644
|
||||
string_buffer_list_init(&priv->string_buffers);
|
||||
|
||||
if (!(vertex_priv = vertex_pipe->vp_alloc(&glsl_shader_backend, priv)))
|
||||
@@ -11123,7 +11156,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
|
||||
@@ -11174,7 +11207,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@ -316,10 +316,10 @@ index a88f92cc03..3ae361024e 100644
|
||||
ERR("Failed to initialize vertex shader constant heap\n");
|
||||
goto fail;
|
||||
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
|
||||
index f29b49b902..294b65260e 100644
|
||||
index fed3cf97126..15fb532b04d 100644
|
||||
--- a/dlls/wined3d/shader.c
|
||||
+++ b/dlls/wined3d/shader.c
|
||||
@@ -592,7 +592,7 @@ static void shader_delete_constant_list(struct list *clist)
|
||||
@@ -591,7 +591,7 @@ static void shader_delete_constant_list(struct list *clist)
|
||||
list_init(clist);
|
||||
}
|
||||
|
||||
@ -328,7 +328,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
static const struct limits_entry
|
||||
{
|
||||
@@ -615,6 +615,19 @@ static void shader_set_limits(struct wined3d_shader *shader)
|
||||
@@ -614,6 +614,19 @@ static void shader_set_limits(struct wined3d_shader *shader)
|
||||
{WINED3D_SHADER_VERSION(4, 1), WINED3D_SHADER_VERSION(5, 0), {16, 0, 0, 0, 32, 0}},
|
||||
{0}
|
||||
},
|
||||
@ -348,7 +348,7 @@ index f29b49b902..294b65260e 100644
|
||||
hs_limits[] =
|
||||
{
|
||||
/* min_version, max_version, sampler, constant_int, constant_float, constant_bool, packed_output, packet_input */
|
||||
@@ -659,7 +672,7 @@ static void shader_set_limits(struct wined3d_shader *shader)
|
||||
@@ -658,7 +671,7 @@ static void shader_set_limits(struct wined3d_shader *shader)
|
||||
FIXME("Unexpected shader type %u found.\n", shader->reg_maps.shader_version.type);
|
||||
/* Fall-through. */
|
||||
case WINED3D_SHADER_TYPE_VERTEX:
|
||||
@ -357,7 +357,7 @@ index f29b49b902..294b65260e 100644
|
||||
break;
|
||||
case WINED3D_SHADER_TYPE_HULL:
|
||||
limits_array = hs_limits;
|
||||
@@ -1027,7 +1040,7 @@ static HRESULT shader_scan_output_signature(struct wined3d_shader *shader)
|
||||
@@ -1026,7 +1039,7 @@ static HRESULT shader_scan_output_signature(struct wined3d_shader *shader)
|
||||
}
|
||||
|
||||
/* Note that this does not count the loop register as an address register. */
|
||||
@ -366,7 +366,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
struct wined3d_shader_signature_element input_signature_elements[max(MAX_ATTRIBS, MAX_REG_INPUT)];
|
||||
struct wined3d_shader_signature_element output_signature_elements[MAX_REG_OUTPUT];
|
||||
@@ -1053,7 +1066,7 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, DWORD co
|
||||
@@ -1052,7 +1065,7 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, DWORD co
|
||||
prev_ins = current_ins = ptr;
|
||||
reg_maps->shader_version = shader_version;
|
||||
|
||||
@ -375,7 +375,7 @@ index f29b49b902..294b65260e 100644
|
||||
|
||||
if (!(reg_maps->constf = heap_calloc(((min(shader->limits->constant_float, constf_size) + 31) / 32),
|
||||
sizeof(*reg_maps->constf))))
|
||||
@@ -3324,7 +3337,7 @@ static unsigned int shader_max_version_from_feature_level(enum wined3d_feature_l
|
||||
@@ -3329,7 +3342,7 @@ static unsigned int shader_max_version_from_feature_level(enum wined3d_feature_l
|
||||
}
|
||||
|
||||
static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d_device *device,
|
||||
@ -384,7 +384,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
const struct wined3d_d3d_info *d3d_info = &shader->device->adapter->d3d_info;
|
||||
struct wined3d_shader_reg_maps *reg_maps = &shader->reg_maps;
|
||||
@@ -3349,7 +3362,7 @@ static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d
|
||||
@@ -3354,7 +3367,7 @@ static HRESULT shader_set_function(struct wined3d_shader *shader, struct wined3d
|
||||
shader_trace_init(fe, shader->frontend_data);
|
||||
|
||||
/* Second pass: figure out which registers are used, what the semantics are, etc. */
|
||||
@ -393,7 +393,7 @@ index f29b49b902..294b65260e 100644
|
||||
return hr;
|
||||
|
||||
if (version->type != type)
|
||||
@@ -3688,14 +3701,19 @@ static HRESULT vertex_shader_init(struct wined3d_shader *shader, struct wined3d_
|
||||
@@ -3700,14 +3713,19 @@ static HRESULT vertex_shader_init(struct wined3d_shader *shader, struct wined3d_
|
||||
const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops)
|
||||
{
|
||||
struct wined3d_shader_reg_maps *reg_maps = &shader->reg_maps;
|
||||
@ -414,7 +414,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
shader_cleanup(shader);
|
||||
return hr;
|
||||
@@ -3799,7 +3817,7 @@ static HRESULT geometry_shader_init_stream_output(struct wined3d_shader *shader,
|
||||
@@ -3865,7 +3883,7 @@ static HRESULT geometry_shader_init_stream_output(struct wined3d_shader *shader,
|
||||
{
|
||||
shader->reg_maps.shader_version = shader_version;
|
||||
shader->reg_maps.shader_version.type = WINED3D_SHADER_TYPE_GEOMETRY;
|
||||
@ -423,7 +423,7 @@ index f29b49b902..294b65260e 100644
|
||||
if (FAILED(hr = shader_scan_output_signature(shader)))
|
||||
return hr;
|
||||
}
|
||||
@@ -3852,7 +3870,7 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3
|
||||
@@ -3915,7 +3933,7 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3
|
||||
goto fail;
|
||||
|
||||
if (shader->function
|
||||
@ -432,7 +432,7 @@ index f29b49b902..294b65260e 100644
|
||||
goto fail;
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -4182,7 +4200,7 @@ static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_d
|
||||
@@ -4247,7 +4265,7 @@ static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_d
|
||||
return hr;
|
||||
|
||||
if (FAILED(hr = shader_set_function(shader, device,
|
||||
@ -441,7 +441,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
shader_cleanup(shader);
|
||||
return hr;
|
||||
@@ -4274,7 +4292,7 @@ HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const stru
|
||||
@@ -4339,7 +4357,7 @@ HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const stru
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -450,7 +450,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
shader_cleanup(object);
|
||||
heap_free(object);
|
||||
@@ -4308,7 +4326,7 @@ HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const stru
|
||||
@@ -4373,7 +4391,7 @@ HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const stru
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -459,7 +459,7 @@ index f29b49b902..294b65260e 100644
|
||||
{
|
||||
shader_cleanup(object);
|
||||
heap_free(object);
|
||||
@@ -4370,7 +4388,7 @@ HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const stru
|
||||
@@ -4435,7 +4453,7 @@ HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const stru
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -469,10 +469,10 @@ index f29b49b902..294b65260e 100644
|
||||
shader_cleanup(object);
|
||||
heap_free(object);
|
||||
diff --git a/dlls/wined3d/shader_sm1.c b/dlls/wined3d/shader_sm1.c
|
||||
index 0c6bb93317..1051307e88 100644
|
||||
index 6dedc83684c..c0280965a30 100644
|
||||
--- a/dlls/wined3d/shader_sm1.c
|
||||
+++ b/dlls/wined3d/shader_sm1.c
|
||||
@@ -543,7 +543,7 @@ static void *shader_sm1_init(const DWORD *byte_code, size_t byte_code_size,
|
||||
@@ -542,7 +542,7 @@ static void *shader_sm1_init(const DWORD *byte_code, size_t byte_code_size,
|
||||
|
||||
major = WINED3D_SM1_VERSION_MAJOR(*byte_code);
|
||||
minor = WINED3D_SM1_VERSION_MINOR(*byte_code);
|
||||
@ -482,12 +482,12 @@ index 0c6bb93317..1051307e88 100644
|
||||
WARN("Invalid shader version %u.%u (%#x).\n", major, minor, *byte_code);
|
||||
return NULL;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index eef5d4fec2..cdfce0bea4 100644
|
||||
index 650aa2e2f63..a4aaa7a8d66 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3354,6 +3354,13 @@ HRESULT wined3d_device_set_implicit_swapchain(struct wined3d_device *device,
|
||||
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
void wined3d_device_uninit_3d(struct wined3d_device *device) DECLSPEC_HIDDEN;
|
||||
@@ -3985,6 +3985,13 @@ static inline void wined3d_device_bo_map_unlock(struct wined3d_device *device)
|
||||
LeaveCriticalSection(&device->bo_map_lock);
|
||||
}
|
||||
|
||||
+static inline BOOL wined3d_device_is_swvp_mode(const struct wined3d_device *device)
|
||||
+{
|
||||
@ -500,5 +500,5 @@ index eef5d4fec2..cdfce0bea4 100644
|
||||
{
|
||||
const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1 +1 @@
|
||||
d318f43559dbb0093e22bab1aa0eb9dc01170cc2
|
||||
cfb1d2058fb47ff3f72501e0aaf35b97ea128036
|
||||
|
Loading…
Reference in New Issue
Block a user