Rebase against fcddf19498fca9b51baea705f5748b998f4560b9.

This commit is contained in:
Zebediah Figura
2023-11-29 18:35:48 -06:00
parent 97a1486fb9
commit 614cfc4589
33 changed files with 403 additions and 410 deletions

View File

@@ -1,4 +1,4 @@
From c3f44de2b3a1dbcc91b1ed1a864e6995ce1eb87b Mon Sep 17 00:00:00 2001
From d7a094dd68e005ed2271d9874ba3ee03c7dc12b2 Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Sun, 22 Mar 2015 13:58:53 +0000
Subject: [PATCH] dsound: Add EAX propset stubs.
@@ -12,10 +12,10 @@ Subject: [PATCH] dsound: Add EAX propset stubs.
create mode 100644 dlls/dsound/eax.c
diff --git a/dlls/dsound/Makefile.in b/dlls/dsound/Makefile.in
index 6cb653fdfa0..1c04bf34162 100644
index 13cb6e8b615..ee097767ecd 100644
--- a/dlls/dsound/Makefile.in
+++ b/dlls/dsound/Makefile.in
@@ -9,6 +9,7 @@ C_SRCS = \
@@ -10,6 +10,7 @@ SOURCES = \
dsound_convert.c \
dsound_main.c \
duplex.c \
@@ -48,7 +48,7 @@ index 447b41bffbb..5c8c495bfe4 100644
}
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index b5546c7d9db..185b8efd014 100644
index 1113d07fa21..911d60dec61 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -230,6 +230,14 @@ LONG capped_refcount_dec(LONG *ref);
@@ -58,10 +58,10 @@ index b5546c7d9db..185b8efd014 100644
+/* eax.c */
+HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
+ ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
+ ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
+ ULONG cbPropData, ULONG *pcbReturned);
+HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
+ ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
+ ULONG cbPropData) DECLSPEC_HIDDEN;
+ ULONG cbPropData);
+
/* mixer.c */
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len);
@@ -127,5 +127,5 @@ index 00000000000..c1264f977b6
+ return E_PROP_ID_UNSUPPORTED;
+}
--
2.40.1
2.42.0

View File

@@ -1,4 +1,4 @@
From 3a08f97fcd9ffd224c917cc52298702b6feaea9e Mon Sep 17 00:00:00 2001
From 5401bf0e1d666f14efae1a81383502d3c6231e57 Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Fri, 27 Mar 2015 20:58:37 +0000
Subject: [PATCH] dsound: Add EAX init and free stubs.
@@ -32,15 +32,15 @@ index ede6d9f1ba1..309d632397a 100644
free(This);
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index c2dcda9da67..12203876623 100644
index a89f635739c..e58a45cfb7d 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -241,6 +241,8 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData) DECLSPEC_HIDDEN;
+void free_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
+void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
ULONG cbPropData);
+void free_eax_buffer(IDirectSoundBufferImpl *dsb);
+void init_eax_buffer(IDirectSoundBufferImpl *dsb);
/* mixer.c */
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len);
@@ -97,5 +97,5 @@ index 03b6e0a9813..91438efc335 100644
HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
--
2.40.1
2.42.0

View File

@@ -1,4 +1,4 @@
From a0ff76bc868a22624a06989f675c5d574125aa5c Mon Sep 17 00:00:00 2001
From 035915e64ffbd674e38bb46c4ac10834bfc25961 Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Fri, 27 Mar 2015 20:59:57 +0000
Subject: [PATCH] dsound: Feed data through EAX function.
@@ -10,14 +10,14 @@ Subject: [PATCH] dsound: Feed data through EAX function.
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 12203876623..11cfa641d77 100644
index e58a45cfb7d..b9b608be7c0 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -243,6 +243,7 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG cbPropData) DECLSPEC_HIDDEN;
void free_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
+void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count) DECLSPEC_HIDDEN;
ULONG cbPropData);
void free_eax_buffer(IDirectSoundBufferImpl *dsb);
void init_eax_buffer(IDirectSoundBufferImpl *dsb);
+void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count);
/* mixer.c */
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len);
@@ -61,5 +61,5 @@ index f261588454a..33dcd8a953c 100644
ostride = dsb->device->pwfx->nChannels * sizeof(float);
for (i = 0; i < frames; i++) {
--
2.40.1
2.42.0

View File

@@ -1,4 +1,4 @@
From 673e9f32e39fce78a02f6519a435051ffec3664d Mon Sep 17 00:00:00 2001
From b6f55f023339b8a254680e833c9ed6e03ad2a106 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 4 Apr 2015 21:09:18 +0200
Subject: [PATCH] dsound: Various improvements to EAX support.
@@ -24,10 +24,10 @@ the buffers).
5 files changed, 37 insertions(+), 39 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 72e96765883..bdb93657017 100644
index 309d632397a..aa7bbe13cc5 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1223,7 +1223,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
@@ -1216,7 +1216,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
VOID *committedbuff;
TRACE("(%p,%p,%p)\n", device, ppdsb, pdsb);
@@ -36,7 +36,7 @@ index 72e96765883..bdb93657017 100644
if (dsb == NULL) {
WARN("out of memory\n");
*ppdsb = NULL;
@@ -1271,6 +1271,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
@@ -1264,6 +1264,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
InitializeSRWLock(&dsb->lock);
@@ -46,7 +46,7 @@ index 72e96765883..bdb93657017 100644
hres = DirectSoundDevice_AddBuffer(device, dsb);
if (hres != DS_OK) {
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index bdf3a824511..4df26e93c6e 100644
index 482dc5c109d..b382b51000e 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -182,6 +182,8 @@ static HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice)
@@ -71,17 +71,17 @@ index a650108f570..a555a75e458 100644
float *SampleBuffer;
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 9131fa8792e..f2b2c353643 100644
index b9b608be7c0..4afddbff72f 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -240,6 +240,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -241,6 +241,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData) DECLSPEC_HIDDEN;
+void init_eax_device(DirectSoundDevice *dev) DECLSPEC_HIDDEN;
void free_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count) DECLSPEC_HIDDEN;
ULONG cbPropData);
+void init_eax_device(DirectSoundDevice *dev);
void free_eax_buffer(IDirectSoundBufferImpl *dsb);
void init_eax_buffer(IDirectSoundBufferImpl *dsb);
void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count);
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index 5f2b8ef07e2..2244565897b 100644
--- a/dlls/dsound/eax.c
@@ -244,5 +244,5 @@ index 5f2b8ef07e2..2244565897b 100644
switch (dwPropID) {
case DSPROPERTY_EAXBUFFER_ALL:
--
2.39.2
2.42.0

View File

@@ -1,4 +1,4 @@
From 375f83afce055fc37c5d453b0f922c604d9ad6f8 Mon Sep 17 00:00:00 2001
From 4e1d6e94b034635b603beb7d13eab6eaab7cb3c5 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.
@@ -7,9 +7,9 @@ Based on a patch by Mark Harmstone.
---
dlls/dsound/buffer.c | 16 ++++++----------
dlls/dsound/dsound_main.c | 8 ++++++++
dlls/dsound/dsound_private.h | 15 ++++++++-------
dlls/dsound/dsound_private.h | 3 ++-
dlls/dsound/eax.c | 28 ++++++++++++++++++++++++++++
4 files changed, 50 insertions(+), 17 deletions(-)
4 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index aa7bbe13cc5..18a16535978 100644
@@ -46,10 +46,10 @@ index aa7bbe13cc5..18a16535978 100644
return E_PROP_ID_UNSUPPORTED;
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 11983a4cb47..2c09f9c5b42 100644
index 96e5fe2487e..d785e905527 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -94,6 +94,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
@@ -84,6 +84,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
int ds_hq_buffers_max = 4;
@@ -60,7 +60,7 @@ index 11983a4cb47..2c09f9c5b42 100644
/*
* Get a config key from either the app-specific or the default config
@@ -148,11 +152,15 @@ void setup_dsound_options(void)
@@ -138,11 +142,15 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
ds_hq_buffers_max = atoi(buffer);
@@ -77,7 +77,7 @@ index 11983a4cb47..2c09f9c5b42 100644
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 1c544ad2e96..43f9df866a3 100644
index 4afddbff72f..10c6617c38b 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -35,9 +35,9 @@
@@ -91,30 +91,14 @@ index 1c544ad2e96..43f9df866a3 100644
/*****************************************************************************
* Predeclare the interface implementation structures
@@ -235,16 +235,17 @@ LONG capped_refcount_dec(LONG *ref);
@@ -235,6 +235,7 @@ LONG capped_refcount_dec(LONG *ref);
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv);
/* eax.c */
+BOOL WINAPI EAX_QuerySupport(REFGUID guidPropSet, ULONG dwPropID, ULONG *pTypeSupport);
HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
- ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
+ ULONG cbPropData, ULONG *pcbReturned);
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
- ULONG cbPropData) DECLSPEC_HIDDEN;
-void init_eax_device(DirectSoundDevice *dev) DECLSPEC_HIDDEN;
-void free_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
-void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
-void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count) DECLSPEC_HIDDEN;
+ ULONG cbPropData);
+void init_eax_device(DirectSoundDevice *dev);
+void free_eax_buffer(IDirectSoundBufferImpl *dsb);
+void init_eax_buffer(IDirectSoundBufferImpl *dsb);
+void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count);
/* mixer.c */
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len);
ULONG cbPropData, ULONG *pcbReturned);
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index 2244565897b..3e15ac59480 100644
--- a/dlls/dsound/eax.c
@@ -169,5 +153,5 @@ index 2244565897b..3e15ac59480 100644
buf->device->eax.using_eax = TRUE;
--
2.40.1
2.42.0