[PATCH 2/3] d3d8/tests: Add out-of-bounds region tests.
Henri Verbeet
hverbeet at codeweavers.com
Mon Dec 2 08:09:34 CST 2019
From: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
This supersedes patch 174851.
dlls/d3d8/tests/visual.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/dlls/d3d8/tests/visual.c b/dlls/d3d8/tests/visual.c
index 310ffc59e46..96ab4596a76 100644
--- a/dlls/d3d8/tests/visual.c
+++ b/dlls/d3d8/tests/visual.c
@@ -5441,6 +5441,15 @@ static void add_dirty_rect_test(void)
HRESULT hr;
static const RECT part_rect = {96, 96, 160, 160};
+ static const RECT oob_rect[] =
+ {
+ { 0, 0, 200, 300},
+ { 0, 0, 300, 200},
+ {100, 100, 10, 10},
+ {200, 300, 10, 10},
+ {300, 200, 310, 210},
+ { 0, 0, 0, 0},
+ };
window = create_window();
d3d = Direct3DCreate8(D3D_SDK_VERSION);
@@ -5784,6 +5793,17 @@ static void add_dirty_rect_test(void)
hr = IDirect3DTexture8_AddDirtyRect(tex_managed, NULL);
ok(SUCCEEDED(hr), "Failed to add dirty rect, hr %#x.\n", hr);
+ /* Test out-of-bounds regions. */
+ for (i = 0; i < ARRAY_SIZE(oob_rect); ++i)
+ {
+ hr = IDirect3DTexture8_AddDirtyRect(tex_src_red, &oob_rect[i]);
+ todo_wine ok(hr == D3DERR_INVALIDCALL, "[%u] Got unexpected hr %#x.\n", i, hr);
+ hr = IDirect3DTexture8_LockRect(tex_src_red, 0, &locked_rect, &oob_rect[i], 0);
+ ok(SUCCEEDED(hr), "[%u] Got unexpected hr %#x.\n", i, hr);
+ hr = IDirect3DTexture8_UnlockRect(tex_src_red, 0);
+ ok(SUCCEEDED(hr), "[%u] Got unexpected hr %#x.\n", i, hr);
+ }
+
IDirect3DSurface8_Release(surface_dst2);
IDirect3DSurface8_Release(surface_managed1);
IDirect3DSurface8_Release(surface_managed0);
--
2.11.0
More information about the wine-devel
mailing list