Hi, Can you add a test that tests in which mode ddraw is after such a call? Specfically, try to create a double buffered primary surface. If this succeeds, ddraw is in fullscreen mode. If ddraw is in normal mode you'll get DDERR_NOEXCLUSIVEMODE (or similar) back.
Am 24.08.2010 um 10:00 schrieb David Adam:
Fixed a typo
A+
David <0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
Such tests are what you were thinking about? They all passed on my real vista box.
David
________________________________ De : Stefan Dösinger stefandoesinger@gmx.at À : wine-devel@winehq.org Envoyé le : Mar 24 août 2010, 11h 30min 59s Objet : Re: ddraw [try 2]: SetCooperativeLevel with Full screen + exclusive + normal is authorized
Hi, Can you add a test that tests in which mode ddraw is after such a call? Specfically, try to create a double buffered primary surface. If this succeeds, ddraw is in fullscreen mode. If ddraw is in normal mode you'll get DDERR_NOEXCLUSIVEMODE (or similar) back.
Am 24.08.2010 um 10:00 schrieb David Adam:
Fixed a typo
A+
David <0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
I think those tests should do, but have a few spelling issues and you're not releasing the surface. So if I understand things correctly:
*) NORMAL | FULLSCREEN | EXCLUSIVE -> fullscreen mode *) NORMAL | EXCLUSIVE -> error *) NORMAL | FULLSCREEN -> windowed mode
For testing older ddraw interface vesions you can QueryInterface the ddraw object for IID_IDirectDraw, IID_IDirectDraw2(and ddraw3 and ddraw4). Then you run the same tests on those.
I am pretty sure the check that NORMAL mode is mutually exclusive with FULLSCREEN/EXCLUSIVE already existed in old ddraw, and is motivated by a statement in msdn that those modes are mutually exclusive - which makes sense, you can't be in fullscreen mode and not be in fullscreen mode at the same time. It seems that one flag is ignored rather than an error returned.
On a general note, I am away from home the next weeks. I expect to be able to read mail, but it will me sporadic(ok, I haven't been reliable in the past few weeks either)
Am 24.08.2010 um 15:26 schrieb paulo lesgaz:
Such tests are what you were thinking about? They all passed on my real vista box.
David
De : Stefan Dösinger stefandoesinger@gmx.at À : wine-devel@winehq.org Envoyé le : Mar 24 août 2010, 11h 30min 59s Objet : Re: ddraw [try 2]: SetCooperativeLevel with Full screen + exclusive + normal is authorized
Hi, Can you add a test that tests in which mode ddraw is after such a call? Specfically, try to create a double buffered primary surface. If this succeeds, ddraw is in fullscreen mode. If ddraw is in normal mode you'll get DDERR_NOEXCLUSIVEMODE (or similar) back.
Am 24.08.2010 um 10:00 schrieb David Adam:
Fixed a typo
A+
David <0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
<0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
Is this patch correct to test d3d7 and d3d2 SetCooperativeLevel? For now, all the tests pass on a real vista box.
David
________________________________ De : Stefan Dösinger stefandoesinger@gmx.at À : paulo lesgaz jeremielapuree@yahoo.fr Cc : wine-devel@winehq.org Envoyé le : Mar 24 août 2010, 16h 44min 38s Objet : Re: Re : ddraw [try 2]: SetCooperativeLevel with Full screen + exclusive + normal is authorized
I think those tests should do, but have a few spelling issues and you're not releasing the surface. So if I understand things correctly:
*) NORMAL | FULLSCREEN | EXCLUSIVE -> fullscreen mode *) NORMAL | EXCLUSIVE -> error *) NORMAL | FULLSCREEN -> windowed mode
For testing older ddraw interface vesions you can QueryInterface the ddraw object for IID_IDirectDraw, IID_IDirectDraw2(and ddraw3 and ddraw4). Then you run the same tests on those.
I am pretty sure the check that NORMAL mode is mutually exclusive with FULLSCREEN/EXCLUSIVE already existed in old ddraw, and is motivated by a statement in msdn that those modes are mutually exclusive - which makes sense, you can't be in fullscreen mode and not be in fullscreen mode at the same time. It seems that one flag is ignored rather than an error returned.
On a general note, I am away from home the next weeks. I expect to be able to read mail, but it will me sporadic(ok, I haven't been reliable in the past few weeks either)
Am 24.08.2010 um 15:26 schrieb paulo lesgaz:
Such tests are what you were thinking about?
They all passed on my real vista box.
David
________________________________ De : Stefan Dösinger stefandoesinger@gmx.at
À : wine-devel@winehq.org Envoyé le : Mar 24 août 2010, 11h 30min 59s Objet : Re: ddraw [try 2]: SetCooperativeLevel with Full screen + exclusive + normal is authorized
Hi, Can you add a test that tests in which mode ddraw is after such a call? Specfically, try to create a double buffered primary surface. If this succeeds, ddraw is in fullscreen mode. If ddraw is in normal mode you'll get DDERR_NOEXCLUSIVEMODE (or similar) back.
Am 24.08.2010 um 10:00 schrieb David Adam:
Fixed a typo
A+
David <0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
<0001-SetCooperativeLevel-with-Full-screen-exclusive-norma.patch>
Am 24.08.2010 um 17:48 schrieb paulo lesgaz:
Is this patch correct to test d3d7 and d3d2 SetCooperativeLevel? For now, all the tests pass on a real vista box.
Actually, I missed something: The exising test tests IDirectDraw, not IDirectDraw7. So it is testing the oldest ddraw interface. Can you test IDirectDraw7 instead of IDirectDraw2? If microsoft added extra sanity checks they did so most likely in the newer interfaces.
Added new tests for d3d7. No change. All the tests passed on real Vista
David
________________________________ De : Stefan Dösinger stefandoesinger@gmx.at À : paulo lesgaz jeremielapuree@yahoo.fr Cc : wine-devel@winehq.org Envoyé le : Mar 24 août 2010, 20h 00min 05s Objet : Re: Re : Re : ddraw [try 2]: SetCooperativeLevel with Full screen + exclusive + normal is authorized
Am 24.08.2010 um 17:48 schrieb paulo lesgaz:
Is this patch correct to test d3d7 and d3d2 SetCooperativeLevel?
For now, all the tests pass on a real vista box. Actually, I missed something: The exising test tests IDirectDraw, not IDirectDraw7. So it is testing the oldest ddraw interface. Can you test IDirectDraw7 instead of IDirectDraw2? If microsoft added extra sanity checks they did so most likely in the newer interfaces.