Re: [PATCH 2/5] ddraw: Don't set render target / depth stencil usage on sysmem surfaces.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 2013-09-17 09:22, schrieb Henri Verbeet:
Setting render target usage on a P8 surface for example would fail surface creation, while such surfaces can't be used for actual rendering anyway. Tests confirm that surface creation is supposed to succeed for P8 surfaces with both DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set. What happens when a DDSCAPS_SYSTEMMEMORY surface (P8 or otherwise) is passed to CreateDevice or SetRenderTarget?
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSOCViAAoJEN0/YqbEcdMwj6wP/AhSGoeqw0JU261iEled6W4C vIk1NEn7VB2MSDKE1i32fHiE9SnPW/kC/AimNl8PU51OzHym1gs+CIh4ZfvUvOnZ 0GNSO/HLf0aKssbxSx8z+OW0PaHXFST/6OsanKHwhq3CFJy4JPBVasFTSBnjDjv+ yQXp1ZRQOT3mI6Dy9EHVZkwdMQzC+NbFYfv3xd3a1h884ys359E97rcg/1pC/qrA oay/Oq3aAZVdWBbMjx4KbLcEDbwzVc9naQ4riKFGUY97AF+d4d8t1/kdYnSKwdtn PlpFA8SyS4/HpHVPN8+4/SoMKJetMMz9nzDPOiVjW+yWMHqLvtR08sPawDQza06g sIis0QZ0lC78eK0ibcIqvdv7u43vVtE2MJgQWnujv2L2S3pXDFr8AnK4tjPjaoUr BtuEdAyBBvo30i05f+u3+lNI4d2jsLBhFBXrWVUBqz/cb26epfz98H3Jrs09JEZ4 zypVmPE5MA5dEAgd5D5DD6AO4pymP7gpX5lrX7ynkz+kfe6xO7RtcuYKyfuwQnAu rikTZDZgv7+Dxnx1hlvP1P1o2nmFT2LhETTCev7JmzNhoS1/L0pjmNbP+JkeMYn5 mwrrCMEpK7kWL7OmRlkoWfu6q98+iR1O67+ptqf6yCRX1L4C+zYG0WKLivIX/XbF Aj4w0H043EWv3VYLPAVB =lgos -----END PGP SIGNATURE-----
On 17 September 2013 11:48, Stefan Dösinger <stefandoesinger(a)gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2013-09-17 09:22, schrieb Henri Verbeet:
Setting render target usage on a P8 surface for example would fail surface creation, while such surfaces can't be used for actual rendering anyway. Tests confirm that surface creation is supposed to succeed for P8 surfaces with both DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set. What happens when a DDSCAPS_SYSTEMMEMORY surface (P8 or otherwise) is passed to CreateDevice or SetRenderTarget?
CreateDevice() returns D3DERR_SURFACENOTINVIDMEM, provided the surface would otherwise be suitable for rendering. SetRenderTarget() has inconsistent behaviour between versions, but returns DDERR_INVALIDPARAMS in in v7, and D3D_OK in v2 and v3. I wouldn't expect actual rendering to work for v2 and v3 either, but don't care enough to test that until something breaks because of it.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 2013-09-17 11:55, schrieb Henri Verbeet:
CreateDevice() returns D3DERR_SURFACENOTINVIDMEM, provided the surface would otherwise be suitable for rendering. SetRenderTarget() has inconsistent behaviour between versions, but returns DDERR_INVALIDPARAMS in in v7, and D3D_OK in v2 and v3. I wouldn't expect actual rendering to work for v2 and v3 either, but don't care enough to test that until something breaks because of it.
Sounds reasonable. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSOCljAAoJEN0/YqbEcdMw/VYP/R7LeyfBDX0mS30LnSAtTXNJ KRFVnsfuu4tk2w1w9T0R9Dti1hzGH0H9MJ/2oeA3pA/yfSjq6/lekItGkqF37Igz 0osbxD2ktoUE7JwrpbuCWyIG5l4z3BnhnTeejmExxylQniNRzgdbyzvO2Nd64M9T Fo//+kRKqX1syQA5M4cc87N/Qp2PXL6CV5XlHgX+tL8oII4hcjYWgx06RKq2JySl ghmM7KreKlJ6cx9GJWPxVLWjz0Y8yHXa3/US0D7JTPzzO5JwB6rXH7oAuo4R6vL7 CECD9mmSb0ReuOxwjqE6as1faHkmpkAwYDRfVJu7T75hue0tpN1esXjpD6DhoZbe sB5E/02rMHP1eF8nlU+9ujG8tzeKf+jeID+0njoAIdSx8DfG2bzHCLhJDVUEA3xc 35588FDQ9Cld+YqlBCbxAgE4ir/1tyKb/ifGF4K0h6f6SdxK+10qHzpMnxpe8AAc N+IckfZjAu1UAOMUuhpB3Uu6evHGg7C+rnSfWIdSSTcEgqlfI4bswdOahi+8R3K5 H7mHX1ZbIF46MIwS2TKSc8g7nR+3Yff9SRC3yoq+7K0wad12m4z+/pQJkDuykaUs I4LTP7tUJTY6+db+3Otf5Th+u/dwPpeRmemtWRoIy7DF4ETpVzDJOHenvgJKEiCp 8LMnEktzuQmvtOth71NY =kb6x -----END PGP SIGNATURE-----
participants (2)
-
Henri Verbeet -
Stefan Dösinger