tests: Move check_readback_data_vec4() to utils.h.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura
2022-05-17 15:45:40 +02:00
committed by Alexandre Julliard
parent 1e8e0650c9
commit e6ea409bbf
5 changed files with 44 additions and 133 deletions

View File

@ -577,36 +577,6 @@ static void release_readback(struct d3d11_shader_runner *runner, struct d3d11_re
ID3D11Resource_Release(rb->resource);
}
static const struct vec4 *get_readback_vec4(struct resource_readback *rb, unsigned int x, unsigned int y)
{
return (struct vec4 *)((BYTE *)rb->data + y * rb->row_pitch) + x;
}
static void check_readback_data_vec4(struct resource_readback *rb,
const RECT *rect, const struct vec4 *expected, unsigned int max_diff)
{
unsigned int x = 0, y = 0;
struct vec4 got = {0};
bool all_match = true;
for (y = rect->top; y < rect->bottom; ++y)
{
for (x = rect->left; x < rect->right; ++x)
{
got = *get_readback_vec4(rb, x, y);
if (!compare_vec4(&got, expected, max_diff))
{
all_match = false;
break;
}
}
if (!all_match)
break;
}
ok(all_match, "Got {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e} at (%u, %u).\n",
got.x, got.y, got.z, got.w, expected->x, expected->y, expected->z, expected->w, x, y);
}
static void d3d11_runner_probe_vec4(struct shader_runner *r, const RECT *rect, const struct vec4 *v, unsigned int ulps)
{
struct d3d11_shader_runner *runner = d3d11_shader_runner(r);