[PATCH 2/7] ddraw/tests: Pass in device to create with create_device.

Jeff Smith whydoubt at gmail.com
Wed Jan 22 11:14:41 CST 2020


On Wed, Jan 22, 2020 at 9:54 AM Matteo Bruni <matteo.mystral at gmail.com> wrote:
>
> On Fri, Dec 13, 2019 at 6:01 AM Jeff Smith <whydoubt at gmail.com> wrote:
> >
> > This allows the function to create devices other than HAL.
> >
> > Signed-off-by: Jeff Smith <whydoubt at gmail.com>
> > ---
> >  dlls/ddraw/tests/ddraw1.c |  75 +++++++++++----------
> >  dlls/ddraw/tests/ddraw2.c |  81 ++++++++++++-----------
> >  dlls/ddraw/tests/ddraw4.c | 101 ++++++++++++++--------------
> >  dlls/ddraw/tests/ddraw7.c | 135 +++++++++++++++++++++-----------------
> >  4 files changed, 210 insertions(+), 182 deletions(-)
> >
> > diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
> > index 3a27e91aa1..862c98353e 100644
> > --- a/dlls/ddraw/tests/ddraw1.c
> > +++ b/dlls/ddraw/tests/ddraw1.c
> > @@ -513,7 +513,7 @@ static IDirectDraw *create_ddraw(void)
> >      return ddraw;
> >  }
> >
> > -static IDirect3DDevice *create_device(IDirectDraw *ddraw, HWND window, DWORD coop_level)
> > +static IDirect3DDevice *create_device(IDirectDraw *ddraw, HWND window, DWORD coop_level, REFCLSID riid)
> >  {
> >      /* Prefer 16 bit depth buffers because Nvidia gives us an unpadded D24 buffer if we ask
> >       * for 24 bit and handles such buffers incorrectly in DDBLT_DEPTHFILL. AMD only supports
> > @@ -573,7 +573,7 @@ static IDirect3DDevice *create_device(IDirectDraw *ddraw, HWND window, DWORD coo
> >          if (FAILED(hr))
> >              continue;
> >
> > -        if (SUCCEEDED(IDirectDrawSurface_QueryInterface(surface, &IID_IDirect3DHALDevice, (void **)&device)))
> > +        if (SUCCEEDED(IDirectDrawSurface_QueryInterface(surface, riid, (void **)&device)))
> >              break;
> >
> >          IDirectDrawSurface_DeleteAttachedSurface(surface, 0, ds);
> > @@ -583,6 +583,11 @@ static IDirect3DDevice *create_device(IDirectDraw *ddraw, HWND window, DWORD coo
> >      return device;
> >  }
> >
> > +static IDirect3DDevice *create_device_hal(IDirectDraw *ddraw, HWND window, DWORD coop_level)
> > +{
> > +    return create_device(ddraw, window, coop_level, &IID_IDirect3DHALDevice);
> > +}
>
> Just an idea: what about introducing a create_device_riid() and keep
> create_device() for the HAL case (i.e. rename your create_device() to
> create_device_riid() and create_device_hal() to create_device())? That
> way you don't have to change all the current callers of
> create_device().

Hi Matteo,

I had considered exactly that originally, then thought perhaps the
more-accurate names would be worth the noise.
I am fine with changing it back.
Before I resubmit the patchset, did you have any other feedback on it?

Thanks,
Jeff



More information about the wine-devel mailing list