Markus Amsler : d3d8: Back buffer is identical to the render target,
test it only once.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Nov 15 05:37:30 CST 2006
Module: wine
Branch: master
Commit: 886c196e053b5d69ef6923f01a3ead75c5dbfebc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=886c196e053b5d69ef6923f01a3ead75c5dbfebc
Author: Markus Amsler <markus.amsler at oribi.org>
Date: Wed Nov 15 00:53:18 2006 +0100
d3d8: Back buffer is identical to the render target, test it only once.
---
dlls/d3d8/tests/device.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index 748aa02..9be3381 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -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 );
More information about the wine-cvs
mailing list