And to release_resource_readback for future use.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/d2d1/tests/d2d1.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index 94d56338cd4..eb611aa1f20 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -311,8 +311,9 @@ static void cubic_to(ID2D1GeometrySink *sink, float x1, float y1, float x2, floa ID2D1GeometrySink_AddBezier(sink, &b); }
-static void get_surface_readback(IDXGISurface *surface, struct resource_readback *rb) +static void get_surface_readback(struct d2d1_test_context *ctx, struct resource_readback *rb) { + IDXGISurface *surface = ctx->surface; D3D10_TEXTURE2D_DESC texture_desc; D3D10_MAPPED_TEXTURE2D map_desc; DXGI_SURFACE_DESC surface_desc; @@ -354,7 +355,7 @@ static void get_surface_readback(IDXGISurface *surface, struct resource_readback rb->data = map_desc.pData; }
-static void release_resource_readback(struct resource_readback *rb) +static void release_resource_readback(struct d2d1_test_context *ctx, struct resource_readback *rb) { ID3D10Texture2D_Unmap((ID3D10Texture2D *)rb->resource, 0); ID3D10Resource_Release(rb->resource); @@ -466,9 +467,9 @@ static BOOL compare_surface(struct d2d1_test_context *ctx, const char *ref_sha1) struct resource_readback rb; BOOL ret;
- get_surface_readback(ctx->surface, &rb); + get_surface_readback(ctx, &rb); ret = compare_sha1(rb.data, rb.pitch, 4, rb.width, rb.height, ref_sha1); - release_resource_readback(&rb); + release_resource_readback(ctx, &rb);
return ret; } @@ -638,7 +639,7 @@ static BOOL compare_figure(struct d2d1_test_context *ctx, unsigned int x, unsign unsigned int i, j, span, diff; struct resource_readback rb;
- get_surface_readback(ctx->surface, &rb); + get_surface_readback(ctx, &rb);
figure.span_count = 0; figure.spans_size = 64; @@ -688,7 +689,7 @@ static BOOL compare_figure(struct d2d1_test_context *ctx, unsigned int x, unsign
HeapFree(GetProcessHeap(), 0, ref_figure.spans); HeapFree(GetProcessHeap(), 0, figure.spans); - release_resource_readback(&rb); + release_resource_readback(ctx, &rb);
return diff <= max_diff; } @@ -2096,7 +2097,7 @@ static void test_linear_brush(void) hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL); ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
- get_surface_readback(ctx.surface, &rb); + get_surface_readback(&ctx, &rb); for (i = 0; i < ARRAY_SIZE(test1); ++i) { DWORD colour; @@ -2106,7 +2107,7 @@ static void test_linear_brush(void) "Got unexpected colour 0x%08x at position {%u, %u}.\n", colour, test1[i].x, test1[i].y); } - release_resource_readback(&rb); + release_resource_readback(&ctx, &rb);
ID2D1RenderTarget_BeginDraw(rt);
@@ -2169,7 +2170,7 @@ static void test_linear_brush(void) hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL); ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
- get_surface_readback(ctx.surface, &rb); + get_surface_readback(&ctx, &rb); for (i = 0; i < ARRAY_SIZE(test2); ++i) { DWORD colour; @@ -2179,7 +2180,7 @@ static void test_linear_brush(void) "Got unexpected colour 0x%08x at position {%u, %u}.\n", colour, test2[i].x, test2[i].y); } - release_resource_readback(&rb); + release_resource_readback(&ctx, &rb);
ID2D1LinearGradientBrush_Release(brush); refcount = ID2D1GradientStopCollection_Release(gradient); @@ -2295,7 +2296,7 @@ static void test_radial_brush(void) hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL); ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
- get_surface_readback(ctx.surface, &rb); + get_surface_readback(&ctx, &rb); for (i = 0; i < ARRAY_SIZE(test1); ++i) { DWORD colour; @@ -2305,7 +2306,7 @@ static void test_radial_brush(void) "Got unexpected colour 0x%08x at position {%u, %u}.\n", colour, test1[i].x, test1[i].y); } - release_resource_readback(&rb); + release_resource_readback(&ctx, &rb);
ID2D1RenderTarget_BeginDraw(rt);
@@ -2370,7 +2371,7 @@ static void test_radial_brush(void) hr = ID2D1RenderTarget_EndDraw(rt, NULL, NULL); ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr);
- get_surface_readback(ctx.surface, &rb); + get_surface_readback(&ctx, &rb); for (i = 0; i < ARRAY_SIZE(test2); ++i) { DWORD colour; @@ -2380,7 +2381,7 @@ static void test_radial_brush(void) "Got unexpected colour 0x%08x at position {%u, %u}.\n", colour, test2[i].x, test2[i].y); } - release_resource_readback(&rb); + release_resource_readback(&ctx, &rb);
ID2D1RadialGradientBrush_Release(brush); refcount = ID2D1GradientStopCollection_Release(gradient);