[PATCH 7/8] d3drm: Implement IDirect3DRMDevice::CreateDeviceFromSurface.
Stefan Dösinger
stefandoesinger at gmail.com
Thu Aug 6 08:09:31 CDT 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am 2015-08-06 um 00:49 schrieb Aaryaman Vasishta:
> device->d3drm = d3drm;
> + device->render_target = surface;
> IDirect3DRM_AddRef(d3drm);
> device->render_target = surface;
This is redundant.
> + hr = IDirectDrawSurface_AddAttachedSurface(surface, ds);
> + IDirectDrawSurface_Release(ds);
> + if (FAILED(hr))
> + return hr;
> + }
You've overshot my suggestion for pre-attached depth stencils a bit.
Now you no longer detach application-created depth stencils any more
in case CreateDevice() fails, but you also don't detach a depth
stencil that you attached.
This may even be the correct behavior. If you want you can write a
test (e.g. try to pass a color surface without DDSCAPS_3DDEVICE, but
*with* a depth stencil attached. See if it is detached. Try to pass a
color surface without DDSCAPS_3DDEVICE and see if a depth stencil is
attached after the failing CreateDevice call), but I don't think it's
worth spending much time on this.
My suggestion is to detach if creating the IM device fails, but only
if create_z_surface is TRUE.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBAgAGBQJVw1yLAAoJEN0/YqbEcdMwyJMP/jsXffvDJlssOGTqhDZvVpl0
WBoSf9mClvG7T5Gqz9Kq8tXXZaETSLPdovHryDn3Ux7kJcJllDfE1C/TqP0jc3X8
weQFMEK49TiNsYBItqgVr7v8YU15GMTqyrhwjIH6zTq9XIx27yhAecKNExb10nfD
u32ebnJ//Eh90qkfIe6uvSytFUGmjs0OWZjPlneBbEPOj0jyGMFOyNX3IxN1bB6f
czAxJBr6z8EQ0KHRQK9sq98WmIA2najmfakXPzg2fbE+RYRDPnYgcfQ1KmQdtvb1
b9KhIt7FMmL+O1VqgyNsWTUwUin57I0RpyjdBcZ8F48yblUf07a0qiY9udKawKYB
xwAmriEMOd37n9Ip6PguawySmdv7a4Jrd8O0Xcu+FRidUMjzq9ZkgvqNht2OaWgv
2dYOCCR6TuA5dYxD3YaqHgJpUB46KS/vE7Nh8EG/Dh2e6paTQoamBUi15WNG/TQB
o5Lr2DlJKuXaJnZYoNLDlYgy88P4/JoDvRBLYekbO/fDB1sqMgdBJbRlKGoy72g5
iIrEUbtMpNNLLpxw+ChwH7Gb5U8LZJWMSeyVv8oO/xliir6vF9Dm/sCt4b+bK4uM
Y5Q2hC10oEd6jHkbdSKdU6/C8oyKMcfBQJ9adiiQWF+wXQoOPcsaDxwDILVmInGy
/3lu18CaUtUdBEhoX/PR
=JeVt
-----END PGP SIGNATURE-----
More information about the wine-devel
mailing list