-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Patrick, I've run the tests on a few of my machines, and here are the results: First up, a Windows 7 64 bit box with 16 GB ram and a 1024MB Radeon 5770:
ddraw7.c:5752: Test failed: Creating an offscreen plain surface with width 0xffff and height 0xffff returned 88760827 Looks like the AMD driver returns a different error code. I can't find anything about this error code in the headers or via Google - except for some registry cleaner spam.
ddraw7.c:5777: 776914944 bytes of video memory. ddraw7.c:5787: Test failed: surface flag DDSCAPS_SYSTEMMEMORY is not set. ddraw7.c:5788: Test failed: surface flag DDSCAPS_VIDEOMEMORY is set. ddraw7.c:5789: dwCaps 0x10004040, dwCaps2 0, width 3063, height 65535. I've added osme extra lines as you can see. I've also increased the size for testing purposes. It looks like the AMD driver doesn't care about the video memory size here. I think the best is just to ignore this test until we find an application that depends on this behavior, which I think is unlikely. At very least this test needs an explicitly requested pixel format to make the width * height * 4 size calculation work out.
Although if you're interested in doing some extra work, porting test_vidmem_accounting() from dlls/d3d9/tests/device.c to d3d8 and ddraw might be a good idea. I guess I should have done so when I wrote that test, but at the time the main point was to separate d3d9 and d3d9ex behavior. My 32 bit Windows Vista machine equipped with a Geforce 7400 responds like your test expects, except for this:
ddraw7.c:5686: Test failed: Creating an offscreen plain surface with width 0xffff and height 1 returned 80070057
Which is the same as your testbot VM codepath expects. I'll see if I find an explanation for this. Interestingly the height = 0xffff codepath works as expected. My third test machine, an ancient Windows XP 32 bit box with 2 GB ram and a Radeon 9000 Mobility (dx8 era) passes the tests, except that the width = 0xffff and height = 0xffff test returns DDERR_INVALIDPIXELFORMAT instead of DDERR_OUTOFVIDEOMEMORY. I think it's a good idea to explicitly request a specific format. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSrNkLAAoJEN0/YqbEcdMwCikP/0Sa8DBLTDIOZn1Z68lrU65Z NYiapS+6QUPGKqb6Lt/5J3rMzztjWMga/5bAXtC5l0H6lV85UsSNYn6+c9x8z33B OrQUVxsYl7LBUjcFpUUAlgvaA6qolsXdlAhDVHiXMm3ilK2dUGKtOhRwgCElagbC g1y9VwD9HK7B69bRFk2kaNJ6maSVipOEk92dmypJWMxdyHoy1jmEAVl1WclGT57x ueaCc968Ny8mwtJyuXb84tzD6bUlvdkA45K90KoIxXWSbnw7YnnbepKcbFNUbhSF T9fipCtxTIdCNtnuSr8WDMmc9r68/BdcFqcr2OcsOuRomoSshZyuUrYOfwB0RqZk xGZt9QELI/7uwL3n5rQm1Cgj3U6CPefHZPJchBvvpJlbK2DaupBlYzOpslthZxt1 HvwggswvLR0IK5PU6d/nksogtOFsi7M+TWbalsuLDYNa4faEiXNR42Nal1a6n174 XgHKfup7gA+G5VLG3RmvnmlaHUhTqdP5SLMhjYPtqACESZ1VWGpie+xIGx64D64p da1LtrAweydZ6aRD1pSpOurBc3ACJXVKGaio6WNKMHfFpgNRjM70k8+RVTrw0rwp +BhXbEzKIHDS+fqJI7bHQMnPvWrUh1+L3ivk0HGDS4qF5hpknAxlE21Fzk8m6TcX DoDJc0R+Fzp76PM775yl =vQ0F -----END PGP SIGNATURE-----