d3d8: Back buffer is identical to the render target, test it only once.

This commit is contained in:
Markus Amsler 2006-11-15 00:53:18 +01:00 committed by Alexandre Julliard
parent 48c006621d
commit 886c196e05
1 changed files with 13 additions and 12 deletions

View File

@ -327,10 +327,22 @@ static void test_refcount(void)
todo_wine CHECK_REFCOUNT( pRenderTarget, 2);
todo_wine CHECK_RELEASE_REFCOUNT( pRenderTarget, 1);
todo_wine CHECK_RELEASE_REFCOUNT( pRenderTarget, 0);
pRenderTarget = NULL;
}
CHECK_REFCOUNT( pDevice, --refcount);
/* Render target and back buffer are identical. */
hr = IDirect3DDevice8_GetBackBuffer(pDevice, 0, 0, &pBackBuffer);
todo_wine CHECK_CALL( hr, "GetBackBuffer", pDevice, ++refcount);
if(pBackBuffer)
{
todo_wine CHECK_RELEASE_REFCOUNT(pBackBuffer, 0);
ok(pRenderTarget == pBackBuffer, "RenderTarget=%p and BackBuffer=%p should be the same.\n",
pRenderTarget, pBackBuffer);
pBackBuffer = NULL;
}
CHECK_REFCOUNT( pDevice, --refcount);
pRenderTarget = NULL;
hr = IDirect3DDevice8_GetDepthStencilSurface(pDevice, &pStencilSurface);
todo_wine CHECK_CALL( hr, "GetDepthStencilSurface", pDevice, ++refcount);
if(pStencilSurface)
@ -342,17 +354,6 @@ static void test_refcount(void)
}
CHECK_REFCOUNT( pDevice, --refcount);
hr = IDirect3DDevice8_GetBackBuffer(pDevice, 0, 0, &pBackBuffer);
todo_wine CHECK_CALL( hr, "GetBackBuffer", pDevice, ++refcount);
if(pBackBuffer)
{
todo_wine CHECK_SURFACE_CONTAINER( pBackBuffer, IID_IDirect3DDevice8, pDevice);
todo_wine CHECK_REFCOUNT( pBackBuffer, 1);
todo_wine CHECK_RELEASE_REFCOUNT( pBackBuffer, 0);
pBackBuffer = NULL;
}
CHECK_REFCOUNT( pDevice, --refcount);
/* Buffers */
hr = IDirect3DDevice8_CreateIndexBuffer( pDevice, 16, 0, D3DFMT_INDEX32, D3DPOOL_DEFAULT, &pIndexBuffer );
CHECK_CALL( hr, "CreateIndexBuffer", pDevice, ++refcount );