Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2018
- 90 participants
- 1704 messages
[PATCH] shell32: Fix destination buffer size (Coverity)
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/shell32/shell32_main.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 525eba4544..e78e8f8c56 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -1082,8 +1082,7 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
SetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_TEXT2), info->szOtherStuff );
GetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_TEXT3),
template, ARRAY_SIZE(template) );
- MultiByteToWideChar( CP_UTF8, 0, wine_get_build_id(), -1,
- version, ARRAY_SIZE(template) );
+ MultiByteToWideChar( CP_UTF8, 0, wine_get_build_id(), -1, version, ARRAY_SIZE(version) );
sprintfW( buffer, template, version );
SetWindowTextW( GetDlgItem(hWnd, IDC_ABOUT_STATIC_TEXT3), buffer );
hWndCtl = GetDlgItem(hWnd, IDC_ABOUT_LISTBOX);
--
2.16.2
March 31, 2018
Re: WineConf and sound recording
by Francois Gouget
On Fri, 30 Mar 2018, Stefan Dösinger wrote:
[...]
> What would be highly welcome is help with editing the videos
> afterwards. If someone has the patience to create subtitles for
> everything we'd make life easier for non-native speakers.
What software do you use for the editing? Avidemux? With a pinch of
Audacity? What format do you use for the vidéo during editing?
--
Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/
Be careful of reading health books, you might die of a misprint.
-- Mark Twain
March 31, 2018
Re: DXTn/S3TC in d3dx9
by Alistair Leslie-Hughes
Hi Henri,
On 31/03/18 11:04, Henri Verbeet wrote
> While we may question the choice of language, for an external library
> that shouldn't be an issue, as long as we can get the upstream project
> to provide a C API. It would be a minor inconvenience when importing
> the source into the Wine tree, but libsquish is not a large library. A
> motivated developer could probably get rid of the C++ bits over a
> weekend.
After having another look, only the one header would possible needed
to be changed (squish.h). Which would need to suppress the namespace
when compiling with C. All the other other files(headers) are used
internally,
so aren't an issue.
Alistair.
March 31, 2018
Re: DXTn/S3TC in d3dx9
by Henri Verbeet
On 31 March 2018 at 04:20, Alistair Leslie-Hughes
<leslie_alistair(a)hotmail.com> wrote:
> On 31/03/18 04:23, Matteo Bruni wrote:
>> I have some patches for that. In the current version libtxc_dxtn is
>> put under libs/, so that it's also usable from wined3d. I also have
>> (previous) versions of the patch just storing the code under
>> dlls/d3dx9_36/ or loading it as a .so but, having seen all of them, I
>> think I prefer the libs/ solution.
>> That said, I'm totally open to discussion about which library to use,
>> how to integrate it and which patches to pick. I haven't looked into
>> libsquish a lot but I thought it was C++?
> libsquish is C++, so it's not going to be of much use. I like the
> idea of having it in lib, it will solve the issue of distro's not having
> that package available any more. (Debian, Arch).
>
While we may question the choice of language, for an external library
that shouldn't be an issue, as long as we can get the upstream project
to provide a C API. It would be a minor inconvenience when importing
the source into the Wine tree, but libsquish is not a large library. A
motivated developer could probably get rid of the C++ bits over a
weekend.
March 31, 2018
Re: DXTn/S3TC in d3dx9
by Alistair Leslie-Hughes
Hi Matteo,
On 31/03/18 04:23, Matteo Bruni wrote:
> I have some patches for that. In the current version libtxc_dxtn is
> put under libs/, so that it's also usable from wined3d. I also have
> (previous) versions of the patch just storing the code under
> dlls/d3dx9_36/ or loading it as a .so but, having seen all of them, I
> think I prefer the libs/ solution.
> That said, I'm totally open to discussion about which library to use,
> how to integrate it and which patches to pick. I haven't looked into
> libsquish a lot but I thought it was C++?
libsquish is C++, so it's not going to be of much use. I like the
idea of having it in lib, it will solve the issue of distro's not having
that package available any more. (Debian, Arch).
Current we have three patchset in staging for DXTn support.
https://github.com/wine-staging/wine-staging/tree/master/patches/wined3d-DX…
https://github.com/wine-staging/wine-staging/tree/master/patches/d3dx9_36-D…
https://github.com/wine-staging/wine-staging/tree/master/patches/d3dx9_36-T…
These rely on loading libtxc_dxtn dynamically, so if we start by
getting your patch to store it in lib. Then we can update the other patches
to reflect this direction.
Alistair.
March 30, 2018
Re: WineConf and sound recording
by M. GOUJON
On 03/30/2018 08:46 PM, M. GOUJON wrote:
> On 03/30/2018 05:04 PM, Henri Verbeet wrote:
>> On 29 March 2018 at 20:30, M. GOUJON <ale.goujon(a)gmail.com> wrote:
>>> Recordings of previous wine confs have been somewhat disappointing
>>> especially the sound part: microphone buggy, people asking question
>>> too far
>>> from the micro...
>>> Some of you are native English speakers, others not and understanding
>>> everyone quickly becomes a challenge (and you ends up with a headache).
>>>
>>> May I suggest you to buy some clip-on microphones ?
>>> Handheld ones ones are heavy and people always forget to speak in it.
>>> If you wanna invest some bucks, digital recorders are the best option.
>>>
>>> If needed, I can donate those missing bucks.
>>>
>> I happen to agree that the recordings have room for improvement, and
>> would like to see us do better there. Budget is definitely a
>> consideration though, and as much as I would like to promise that this
>> year will be better, I don't think I can. I'm curious though, did you
>> have specific equipment in mind that you'd like to recommend?
> Yes, it's called H4N from Zoom. I know it's a bit expensive but it's
> an excellent recorder.
> Just put it on the table in front of the audience, adjust the micro
> level, start recording in WAVE and forget it.
> As I said, we can find an arrangement like me buying the recorder and
> you buying the SD card.
Forgot to CC'ing wine-devel.
On 03/30/2018 10:54 PM, Stefan Dösinger wrote:
> I'm afraid the answer is no. The main requirement for the recording is
> that it does not interrupt the conference itself. We had clip on
> microphones and mics to pass around at FOSDEM and on the WineConf 2007
> in Zurich, and they always cause problems. Batteries are empty, clips
> coming off, passing around the microphone slows down conversations, etc.
Handy recorders are designed to be put somewhere and record for several
hours.
If you want to avoid batteries issue, you can still buy the power adaptor.
As long as you don't play drum with your fingers on the table the
recorder is on, sound quality is quite good.
> What would be highly welcome is help with editing the videos afterwards. If someone has the patience to create subtitles for everything we'd make life easier for non-native speakers.
I'm not used to do that but yeah, I guess I can also contribute this way.
March 30, 2018
Re: WineConf and sound recording
by Stefan Dösinger
> Am 29.03.2018 um 20:30 schrieb M. GOUJON <ale.goujon(a)gmail.com>:
>
> Hi everyone,
>
> Recordings of previous wine confs have been somewhat disappointing especially the sound part: microphone buggy, people asking question too far from the micro...
> Some of you are native English speakers, others not and understanding everyone quickly becomes a challenge (and you ends up with a headache).
I agree. I used my camera which was far away from the speaker, and placed one phone near the presenter and one phone at the other end of the room. Then I mixed the sound channels as appropriate and added subtitles especially to questions. I did not subtitle the main presentation because it'd be way too much work. Doing the video editing was always a lot of work, but I hope I created a useful result out of the crappy raw data.
> May I suggest you to buy some clip-on microphones ?
> Handheld ones ones are heavy and people always forget to speak in it.
> If you wanna invest some bucks, digital recorders are the best option.
I'm afraid the answer is no. The main requirement for the recording is that it does not interrupt the conference itself. We had clip on microphones and mics to pass around at FOSDEM and on the WineConf 2007 in Zurich, and they always cause problems. Batteries are empty, clips coming off, passing around the microphone slows down conversations, etc.
What would be highly welcome is help with editing the videos afterwards. If someone has the patience to create subtitles for everything we'd make life easier for non-native speakers.
March 30, 2018
Re: [PATCH v2] dsound/tests: Call interface methods properly.
by Andrew Eikum
Signed-off-by: Andrew Eikum <aeikum(a)codeweavers.com>
On Fri, Mar 30, 2018 at 12:05:28AM -0500, Zebediah Figura wrote:
> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
> ---
> dlls/dsound/tests/capture.c | 4 ++--
> dlls/dsound/tests/ds3d.c | 30 +++++++++---------------------
> dlls/dsound/tests/ds3d8.c | 11 -----------
> dlls/dsound/tests/dsound.c | 5 +++--
> dlls/dsound/tests/dsound8.c | 34 +++++++++++++++++-----------------
> dlls/dsound/tests/duplex.c | 6 +++---
> 6 files changed, 34 insertions(+), 56 deletions(-)
>
> diff --git a/dlls/dsound/tests/capture.c b/dlls/dsound/tests/capture.c
> index 4eae28b..a23d1eb 100644
> --- a/dlls/dsound/tests/capture.c
> +++ b/dlls/dsound/tests/capture.c
> @@ -114,7 +114,7 @@ static void IDirectSoundCapture_test(LPDIRECTSOUNDCAPTURE dsco,
> ok(rc==DS_OK, "IDirectSoundCapture_QueryInterface(IID_IUnknown) "
> "failed: %08x\n", rc);
> if (rc==DS_OK)
> - IDirectSoundCapture_Release(unknown);
> + IUnknown_Release(unknown);
>
> rc=IDirectSoundCapture_QueryInterface(dsco, &IID_IDirectSoundCapture,
> (LPVOID*)&dsc);
> @@ -162,7 +162,7 @@ static void IDirectSoundCapture_test(LPDIRECTSOUNDCAPTURE dsco,
> ZeroMemory(&dsccaps, sizeof(dsccaps));
>
> /* DSOUND: Error: Invalid caps buffer */
> - rc=IDirectSound_GetCaps(dsco, &dsccaps);
> + rc=IDirectSoundCapture_GetCaps(dsco, &dsccaps);
> ok(rc==DSERR_INVALIDPARAM, "IDirectSound_GetCaps() "
> "should have returned DSERR_INVALIDPARAM, returned: %08x\n", rc);
>
> diff --git a/dlls/dsound/tests/ds3d.c b/dlls/dsound/tests/ds3d.c
> index 6c12f71..d4356c2 100644
> --- a/dlls/dsound/tests/ds3d.c
> +++ b/dlls/dsound/tests/ds3d.c
> @@ -535,18 +535,6 @@ void test_buffer(LPDIRECTSOUND dso, LPDIRECTSOUNDBUFFER *dsbo,
> ok(ref==1,"IDirectSoundBuffer_Release() has %d references, "
> "should have 1\n",ref);
>
> - temp_buffer=NULL;
> - rc=IDirectSound3DBuffer_QueryInterface(*dsbo,
> - &IID_IDirectSoundBuffer,
> - (LPVOID *)&temp_buffer);
> - ok(rc==DS_OK && temp_buffer!=NULL,
> - "IDirectSound3DBuffer_QueryInterface() failed: %08x\n", rc);
> - ok(temp_buffer==*dsbo,"COM interface broken: %p != %p\n",
> - temp_buffer,*dsbo);
> - ref=IDirectSoundBuffer_Release(temp_buffer);
> - ok(ref==1,"IDirectSoundBuffer_Release() has %d references, "
> - "should have 1\n",ref);
> -
> ref=IDirectSoundBuffer_Release(*dsbo);
> ok(ref==0,"IDirectSoundBuffer_Release() has %d references, "
> "should have 0\n",ref);
> @@ -1193,6 +1181,8 @@ static HRESULT test_primary_3d_with_listener(LPGUID lpGuid)
> if (rc==DS_OK && primary!=NULL) {
> LPDIRECTSOUND3DLISTENER listener=NULL;
> LPDIRECTSOUNDBUFFER temp_buffer=NULL;
> + IKsPropertySet *propset;
> +
> rc=IDirectSoundBuffer_QueryInterface(primary,
> &IID_IDirectSound3DListener,(void **)&listener);
> ok(rc==DS_OK && listener!=NULL,"IDirectSoundBuffer_QueryInterface() "
> @@ -1231,11 +1221,10 @@ static HRESULT test_primary_3d_with_listener(LPGUID lpGuid)
>
> temp_buffer = NULL;
> rc = IDirectSound3DListener_QueryInterface(listener, &IID_IKsPropertySet,
> - (void **)&temp_buffer);
> - ok(rc==DS_OK && temp_buffer!=NULL,
> + (void **)&propset);
> + ok(rc == DS_OK && propset != NULL,
> "IDirectSound3DListener_QueryInterface didn't handle IKsPropertySet: ret = %08x\n", rc);
> - if(temp_buffer)
> - IKsPropertySet_Release(temp_buffer);
> + IKsPropertySet_Release(propset);
> }
>
> /* Testing the reference counting */
> @@ -1244,12 +1233,11 @@ static HRESULT test_primary_3d_with_listener(LPGUID lpGuid)
> "references, should have 0\n",ref);
> }
>
> - temp_buffer = NULL;
> - rc = IDirectSoundBuffer_QueryInterface(primary, &IID_IKsPropertySet, (void **)&temp_buffer);
> - ok(rc==DS_OK && temp_buffer!=NULL,
> + propset = NULL;
> + rc = IDirectSoundBuffer_QueryInterface(primary, &IID_IKsPropertySet, (void **)&propset);
> + ok(rc == DS_OK && propset != NULL,
> "IDirectSoundBuffer_QueryInterface didn't handle IKsPropertySet on primary buffer: ret = %08x\n", rc);
> - if(temp_buffer)
> - IKsPropertySet_Release(temp_buffer);
> + IKsPropertySet_Release(propset);
>
> /* Testing the reference counting */
> ref=IDirectSoundBuffer_Release(primary);
> diff --git a/dlls/dsound/tests/ds3d8.c b/dlls/dsound/tests/ds3d8.c
> index 25eb010..00340af 100644
> --- a/dlls/dsound/tests/ds3d8.c
> +++ b/dlls/dsound/tests/ds3d8.c
> @@ -371,17 +371,6 @@ void test_buffer8(LPDIRECTSOUND8 dso, LPDIRECTSOUNDBUFFER * dsbo,
> ok(ref==1,"IDirectSoundBuffer_Release() has %d references, "
> "should have 1\n",ref);
>
> - temp_buffer=NULL;
> - rc=IDirectSound3DBuffer_QueryInterface(*dsbo, &IID_IDirectSoundBuffer,
> - (LPVOID *)&temp_buffer);
> - ok(rc==DS_OK && temp_buffer!=NULL,
> - "IDirectSound3DBuffer_QueryInterface() failed: %08x\n", rc);
> - ok(temp_buffer==*dsbo,"COM interface broken: %p != %p\n",
> - temp_buffer,*dsbo);
> - ref=IDirectSoundBuffer_Release(temp_buffer);
> - ok(ref==1,"IDirectSoundBuffer_Release() has %d references, "
> - "should have 1\n",ref);
> -
> ref=IDirectSoundBuffer_Release(*dsbo);
> ok(ref==0,"IDirectSoundBuffer_Release() has %d references, "
> "should have 0\n",ref);
> diff --git a/dlls/dsound/tests/dsound.c b/dlls/dsound/tests/dsound.c
> index 1ccb8f9..07c8908 100644
> --- a/dlls/dsound/tests/dsound.c
> +++ b/dlls/dsound/tests/dsound.c
> @@ -30,6 +30,7 @@
>
> #include "wine/test.h"
> #include "mmsystem.h"
> +#define COBJMACROS
> #include "dsound.h"
> #include "dsconf.h"
> #include "initguid.h"
> @@ -61,7 +62,7 @@ static void IDirectSound_test(LPDIRECTSOUND dso, BOOL initialized,
> rc=IDirectSound_QueryInterface(dso,&IID_IUnknown,(LPVOID*)&unknown);
> ok(rc==DS_OK,"IDirectSound_QueryInterface(IID_IUnknown) failed: %08x\n", rc);
> if (rc==DS_OK)
> - IDirectSound_Release(unknown);
> + IUnknown_Release(unknown);
>
> rc=IDirectSound_QueryInterface(dso,&IID_IDirectSound,(LPVOID*)&ds);
> ok(rc==DS_OK,"IDirectSound_QueryInterface(IID_IDirectSound) failed: %08x\n", rc);
> @@ -337,7 +338,7 @@ static HRESULT test_dsound(LPGUID lpGuid)
> "buffer %08x\n",rc);
> if (rc==DS_OK && secondary!=NULL) {
> LPDIRECTSOUND3DBUFFER buffer3d;
> - rc=IDirectSound_QueryInterface(secondary, &IID_IDirectSound3DBuffer,
> + rc = IDirectSoundBuffer_QueryInterface(secondary, &IID_IDirectSound3DBuffer,
> (void **)&buffer3d);
> ok(rc==DS_OK && buffer3d!=NULL,"IDirectSound_QueryInterface() "
> "failed: %08x\n",rc);
> diff --git a/dlls/dsound/tests/dsound8.c b/dlls/dsound/tests/dsound8.c
> index 53b3d47..a6e3f12 100644
> --- a/dlls/dsound/tests/dsound8.c
> +++ b/dlls/dsound/tests/dsound8.c
> @@ -72,7 +72,7 @@ static void IDirectSound8_test(LPDIRECTSOUND8 dso, BOOL initialized,
> rc=IDirectSound8_QueryInterface(dso,&IID_IUnknown,(LPVOID*)&unknown);
> ok(rc==DS_OK,"IDirectSound8_QueryInterface(IID_IUnknown) failed: %08x\n", rc);
> if (rc==DS_OK)
> - IDirectSound8_Release(unknown);
> + IUnknown_Release(unknown);
>
> rc=IDirectSound8_QueryInterface(dso,&IID_IDirectSound,(LPVOID*)&ds);
> ok(rc==DS_OK,"IDirectSound8_QueryInterface(IID_IDirectSound) failed: %08x\n", rc);
> @@ -353,7 +353,7 @@ static HRESULT test_dsound8(LPGUID lpGuid)
> if (rc==DS_OK && secondary!=NULL) {
> LPDIRECTSOUND3DBUFFER buffer3d;
> LPDIRECTSOUNDBUFFER8 buffer8;
> - rc=IDirectSound8_QueryInterface(secondary,
> + rc=IDirectSoundBuffer_QueryInterface(secondary,
> &IID_IDirectSound3DBuffer,
> (void **)&buffer3d);
> ok(rc==DS_OK && buffer3d!=NULL,
> @@ -363,7 +363,7 @@ static HRESULT test_dsound8(LPGUID lpGuid)
> ok(ref==2,"IDirectSound3DBuffer_AddRef() has %d references, "
> "should have 2\n",ref);
> }
> - rc=IDirectSound8_QueryInterface(secondary,
> + rc=IDirectSoundBuffer_QueryInterface(secondary,
> &IID_IDirectSoundBuffer8,
> (void **)&buffer8);
> if (rc==DS_OK && buffer8!=NULL) {
> @@ -645,7 +645,7 @@ static HRESULT test_primary_secondary8(LPGUID lpGuid)
> wfx.nSamplesPerSec,wfx.wBitsPerSample,wfx.nChannels,format_tags[tag],
> wfx2.nSamplesPerSec,wfx2.wBitsPerSample,wfx2.nChannels);
> }
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DS_OK && secondary!=NULL,
> "IDirectSound_CreateSoundBuffer() failed to create a secondary "
> "buffer %08x\n",rc);
> @@ -756,7 +756,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> bufdesc.dwBufferBytes=align(wfx.nAvgBytesPerSec*BUFFER_LEN/1000,
> wfx.nBlockAlign);
> bufdesc.lpwfxFormat=&wfx;
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> if (wfx.wBitsPerSample != 8 && wfx.wBitsPerSample != 16)
> ok(((rc == DSERR_CONTROLUNAVAIL || rc == DSERR_INVALIDCALL || rc == DSERR_INVALIDPARAM /* 2003 */) && !secondary)
> || rc == DS_OK, /* driver dependent? */
> @@ -779,7 +779,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> wfxe.Samples.wValidBitsPerSample = wfx.wBitsPerSample;
> wfxe.dwChannelMask = (wfx.nChannels == 1 ? KSAUDIO_SPEAKER_MONO : KSAUDIO_SPEAKER_STEREO);
>
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DSERR_INVALIDPARAM && !secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -791,7 +791,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
>
> wfxe.Format.cbSize = sizeof(wfxe) - sizeof(wfx) + 1;
>
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(((rc==DSERR_CONTROLUNAVAIL || rc==DSERR_INVALIDCALL /* 2003 */ || rc==DSERR_INVALIDPARAM) && !secondary)
> || rc==DS_OK /* driver dependent? */,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> @@ -804,7 +804,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
>
> wfxe.Format.cbSize = sizeof(wfxe) - sizeof(wfx);
> wfxe.SubFormat = GUID_NULL;
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok((rc==DSERR_INVALIDPARAM || rc==DSERR_INVALIDCALL) && !secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -815,7 +815,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> }
>
> wfxe.Format.cbSize = sizeof(wfxe);
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok((rc==DSERR_CONTROLUNAVAIL || rc==DSERR_INVALIDCALL || rc==DSERR_INVALIDPARAM) && !secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -826,7 +826,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> }
>
> wfxe.SubFormat = (format_tags[tag] == WAVE_FORMAT_PCM ? KSDATAFORMAT_SUBTYPE_PCM : KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DS_OK && secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -837,7 +837,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> }
>
> wfxe.Format.cbSize = sizeof(wfxe) + 1;
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(((rc==DSERR_CONTROLUNAVAIL || rc==DSERR_INVALIDCALL /* 2003 */ || rc==DSERR_INVALIDPARAM) && !secondary)
> || rc==DS_OK /* driver dependent? */,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> @@ -850,7 +850,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
>
> wfxe.Format.cbSize = sizeof(wfxe) - sizeof(wfx);
> ++wfxe.Samples.wValidBitsPerSample;
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DSERR_INVALIDPARAM && !secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -862,7 +862,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> --wfxe.Samples.wValidBitsPerSample;
>
> wfxe.Samples.wValidBitsPerSample = 0;
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DS_OK && secondary,
> "IDirectSound_CreateSoundBuffer() returned: %08x %p\n",
> rc, secondary);
> @@ -873,7 +873,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
> }
> wfxe.Samples.wValidBitsPerSample = wfxe.Format.wBitsPerSample;
>
> - rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> + rc=IDirectSound8_CreateSoundBuffer(dso,&bufdesc,&secondary,NULL);
> ok(rc==DS_OK && secondary!=NULL,
> "IDirectSound_CreateSoundBuffer() failed to create a secondary "
> "buffer %08x\n",rc);
> @@ -1162,7 +1162,7 @@ static void test_COM(void)
> ok(hr == S_OK, "QueryInterface for IID_IUnknown failed: %08x\n", hr);
> refcount = IUnknown_AddRef(unk);
> ok(refcount == 2, "refcount == %u, expected 2\n", refcount);
> - hr = IDirectSound_QueryInterface(ds8, &IID_IUnknown, (void**)&unk8);
> + hr = IDirectSound8_QueryInterface(ds8, &IID_IUnknown, (void**)&unk8);
> ok(hr == S_OK, "QueryInterface for IID_IUnknown failed: %08x\n", hr);
> refcount = IUnknown_AddRef(unk8);
> ok(refcount == 4, "refcount == %u, expected 4\n", refcount);
> @@ -1194,7 +1194,7 @@ static void test_effects(void)
> rc=IDirectSound8_SetCooperativeLevel(dso,get_hwnd(),DSSCL_PRIORITY);
> ok(rc==DS_OK,"IDirectSound8_SetCooperativeLevel() failed: %08x\n", rc);
> if (rc!=DS_OK) {
> - IDirectSound_Release(dso);
> + IDirectSound8_Release(dso);
> return;
> }
>
> @@ -1372,7 +1372,7 @@ static void test_effects(void)
> IDirectSoundBuffer_Release(primary);
> }
>
> - while (IDirectSound_Release(dso));
> + while (IDirectSound8_Release(dso));
> }
>
> START_TEST(dsound8)
> diff --git a/dlls/dsound/tests/duplex.c b/dlls/dsound/tests/duplex.c
> index ecdebdc..b770515 100644
> --- a/dlls/dsound/tests/duplex.c
> +++ b/dlls/dsound/tests/duplex.c
> @@ -49,7 +49,7 @@ static void IDirectSoundFullDuplex_test(LPDIRECTSOUNDFULLDUPLEX dsfdo,
> rc=IDirectSoundFullDuplex_QueryInterface(dsfdo,&IID_IUnknown,(LPVOID*)&unknown);
> ok(rc==DS_OK,"IDirectSoundFullDuplex_QueryInterface(IID_IUnknown) failed: %08x\n", rc);
> if (rc==DS_OK) {
> - ref=IDirectSoundFullDuplex_Release(unknown);
> + ref = IUnknown_Release(unknown);
> ok(ref==0, "IDirectSoundFullDuplex_Release() has %d references, "
> "should have 0\n", ref);
> }
> @@ -94,7 +94,7 @@ static void IDirectSoundFullDuplex_test(LPDIRECTSOUNDFULLDUPLEX dsfdo,
> "failed: %08x\n",rc);
> if (rc==DS_OK) {
> ok(dsfdo==dsfd, "different interfaces\n");
> - ref=IDirectSound8_Release(dsfd);
> + ref=IDirectSoundFullDuplex_Release(dsfd);
> ok(ref==1, "IDirectSoundFullDuplex_Release() has %d references, should have 1\n", ref);
> }
>
> @@ -319,7 +319,7 @@ static void test_COM(void)
> ok(refcount == 2, "refcount == %u, expected 2\n", refcount);
> refcount = IDirectSoundFullDuplex_AddRef(dsfd);
> ok(refcount == 4, "refcount == %u, expected 4\n", refcount);
> - hr = IDirectSoundCapture_QueryInterface(ds8, &IID_IUnknown, (void**)&unk8);
> + hr = IDirectSound8_QueryInterface(ds8, &IID_IUnknown, (void**)&unk8);
> ok(hr == S_OK, "QueryInterface for IID_IUnknown failed: %08x\n", hr);
> ok(unk == unk8,
> "Got different IUnknown when QI'ing IDirectSoundFullDuplex and IDirectSoundCapture\n");
> --
> 2.7.4
>
>
>
March 30, 2018
Re: DXTn/S3TC in d3dx9
by Matteo Bruni
2018-03-30 14:41 GMT+02:00 Henri Verbeet <hverbeet(a)gmail.com>:
> On 30 March 2018 at 04:34, Alistair Leslie-Hughes
> <leslie_alistair(a)hotmail.com> wrote:
>> I would like to hear about support for DTXn. (as long as someone
>> records it for me). Since the patent on this format has expired.
>> It's now officially part of mesa(17?), and since a large number of bugs
>> depend on this missing feature. How could we get implement
>> it quickly?
>>
> I don't know about a large number of bugs depending on d3dx9 DXTn
> support, but it would probably be good to resolve the issue
> regardless. You'll probably want to look into libsquish [1], either
> making sure the upstream API is suitable for usage in d3dx9, or
> perhaps just importing it into the Wine tree.
>
> [1] http://sjbrown.co.uk/2006/01/19/dxt-compression-techniques/
I have some patches for that. In the current version libtxc_dxtn is
put under libs/, so that it's also usable from wined3d. I also have
(previous) versions of the patch just storing the code under
dlls/d3dx9_36/ or loading it as a .so but, having seen all of them, I
think I prefer the libs/ solution.
That said, I'm totally open to discussion about which library to use,
how to integrate it and which patches to pick. I haven't looked into
libsquish a lot but I thought it was C++?
March 30, 2018