On Wed, Jun 24, 2015 at 2:17 AM, Stefan Dösinger <stefandoesinger@gmail.com> wrote:
-----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:

I had actually tested for DDSCAPS_SYSTEMMEMORY without writing a test for it but you're right. It should be there.

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?
There are probably two ways to do this. One is use EnumAttachedSurfaces and increment a counter if a surface is attached (similar to ddraw tests) then check if the counter == 1 (meaning z surface is attached) just after releasing the device for both cases (whether we attached the z surface or let d3drm attach one for us).
The other way could be simply calling GetAttachedSurface with DDSCAPS_ZBUFFER as a caps parameter.