[PATCH] ddraw: add dsurface dimension tests, try 5

Stefan Dösinger stefandoesinger at gmail.com
Sat Dec 14 16:17:47 CST 2013


-----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-----



More information about the wine-devel mailing list