-----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?
On 17 September 2013 11:48, Stefan Dösinger stefandoesinger@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.