[PATCH 2/3] d3drm/tests: Add test for IDirect3DRM*::CreateDeviceFromSurface (try 4).

Stefan Dösinger stefandoesinger at gmail.com
Tue Jun 23 15:47:03 CDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

One I don't like here is the hardcoded DDSCAPS_SYSTEMEMORY for the Z
buffer. You need it on Windows because of the RGB device and Wine
doesn't check, so it kinda works. But I recommend to do something like
this:

BOOL use_sysmem_zbuffer;

...

hr = IDirect3DRM2_CreateDeviceFromSurface(d3drm2, &driver, ddraw,
surface, &device2);
hr = IDirect3DRMDevice2_GetDirect3DDevice2(device2, &d3ddevice2);
hr = IDirect3DDevice2_GetRenderTarget(d3ddevice2, &d3drm_surface);
hr = IDirectDrawSurface_GetAttachedSurface(d3drm_surface, &caps, &ds);
hr = IDirectDrawSurface_GetSurfaceDesc(ds, &desc);

use_sysmem_zbuffer = desc->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY;

...
/* Release everything */
/* Create new sysmem surface */
when creating the new Z buffer set DDSCAPS_SYSTEMMEMORY only if
use_sysmem_zbuffer is true.

Another thing to test: After destroying the d3drm device is the Z
buffer removed from the surface when (a) d3drm created it and (b) you
created it?

Cheers,
Stefan

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVicXHAAoJEN0/YqbEcdMw73gP/3wLEdptNIWr2IFNXJHoSZ15
2g3annULMUw++NvXuBXY1RJdUiR0UQxbGyRNJtFzl8KN66lbl2DOY9/ePkgahIbB
0XKedAtS8F5zoLwRHrbZ/VGSI5Kv8ClHSi0F+jZ5Og9TvwqYKC40vNaBC2WXlSHL
KSmOzilln0xDFPecaqyIwbLNO7y1DBnQ7sncLgGCuyxrWM8lK0vmXcAxubS5JyJJ
Hd0chD6+EpjxisVWZUVNLFV1HEN9zyL6VDSYcJnNNp9ufGKh6wAoFcywx1vyQTsX
tiicEYlW90rvhM2dIZ/m6EcJsR/n6E4iMlj2S4yq9Kc4jySMaC0bYa0B4vPQbbaj
YUcQ10qmuH/saROVPjjwjT5O1xISVZ2OOlk3PQYbwVSa1afOMU0ZZu5xNYmkRJ71
21r9cBqePMtIzWixxq+5DiYIRaSDelODlGD8P+LdfYu51DZK3oi1GK0vwX46wHmX
M6S6i583uj//ZaZAVG/iCkZ9IPrnkqUnWe8WVGqy1KKJ/e/goq8eQhK9bUHz0GCM
BCaklF368VarJWQ0S2ggtdZ006cnc+aqOlfJTRA4UoSfQGU6ACne/blCeJBIGMwv
4mwtvNQvZIvoO6sUW+kmU7T6vCsyxVGfVq96csPbqNvSlidLl8H8IN7f8DK65feW
w4s6zvEsdURxeHfcOUNL
=bY5s
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list