mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
d3d11/tests: Introduce a clear_rtv() helper.
This fixes warnings with gcc 12.2. Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
This commit is contained in:
parent
6ba6f54f56
commit
5fa25d00d7
|
@ -1810,6 +1810,13 @@ static void release_test_context_(unsigned int line, struct d3d11_test_context *
|
|||
ok_(__FILE__, line)(!ref, "Device has %lu references left.\n", ref);
|
||||
}
|
||||
|
||||
static void clear_rtv(ID3D11DeviceContext *context, ID3D11RenderTargetView *rtv, const struct vec4 *v)
|
||||
{
|
||||
/* Cast to (const float *) instead of passing &v->x, since gcc warns about
|
||||
* overreading a float[4] from a float otherwise. */
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, (const float *)v);
|
||||
}
|
||||
|
||||
#define draw_quad(context) draw_quad_vs_(__LINE__, context, NULL, 0)
|
||||
#define draw_quad_vs(a, b, c) draw_quad_vs_(__LINE__, a, b, c)
|
||||
static void draw_quad_vs_(unsigned int line, struct d3d11_test_context *context,
|
||||
|
@ -20778,7 +20785,7 @@ static void test_face_culling(void)
|
|||
device = test_context.device;
|
||||
context = test_context.immediate_context;
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0xff00ff00, 0);
|
||||
|
||||
|
@ -20786,7 +20793,7 @@ static void test_face_culling(void)
|
|||
ccw_vb = create_buffer(device, D3D11_BIND_VERTEX_BUFFER, sizeof(ccw_quad), ccw_quad);
|
||||
|
||||
test_context.vb = ccw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0xff0000ff, 0);
|
||||
|
||||
|
@ -20811,12 +20818,12 @@ static void test_face_culling(void)
|
|||
ID3D11DeviceContext_RSSetState(context, state);
|
||||
|
||||
test_context.vb = cw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, tests[i].expected_cw ? 0xff00ff00 : 0xff0000ff, 0);
|
||||
|
||||
test_context.vb = ccw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, tests[i].expected_ccw ? 0xff00ff00 : 0xff0000ff, 0);
|
||||
|
||||
|
@ -20837,11 +20844,11 @@ static void test_face_culling(void)
|
|||
ID3D11DeviceContext_RSSetState(context, state);
|
||||
|
||||
test_context.vb = cw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0xff00ff00, 0);
|
||||
test_context.vb = ccw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
if (!broken_warp)
|
||||
check_texture_color(test_context.backbuffer, 0xffff0000, 0);
|
||||
|
@ -20857,14 +20864,14 @@ static void test_face_culling(void)
|
|||
ID3D11DeviceContext_RSSetState(context, state);
|
||||
|
||||
test_context.vb = cw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
if (!broken_warp)
|
||||
check_texture_color(test_context.backbuffer, 0xffff0000 , 0);
|
||||
else
|
||||
win_skip("Broken WARP.\n");
|
||||
test_context.vb = ccw_vb;
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0xff00ff00, 0);
|
||||
|
||||
|
@ -20911,22 +20918,22 @@ static void test_line_antialiasing_blending(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_OMSetBlendState(context, blend_state, NULL, D3D11_DEFAULT_SAMPLE_MASK);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0xe2007fcc, 1);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &green.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &green);
|
||||
draw_color_quad(&test_context, &red);
|
||||
check_texture_color(test_context.backbuffer, 0xe2007fcc, 1);
|
||||
|
||||
ID3D11DeviceContext_OMSetBlendState(context, NULL, NULL, D3D11_DEFAULT_SAMPLE_MASK);
|
||||
ID3D11BlendState_Release(blend_state);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0x7f00ff00, 1);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &green.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &green);
|
||||
draw_color_quad(&test_context, &red);
|
||||
check_texture_color(test_context.backbuffer, 0xcc0000ff, 1);
|
||||
|
||||
|
@ -20945,11 +20952,11 @@ static void test_line_antialiasing_blending(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_RSSetState(context, rasterizer_state);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &red);
|
||||
draw_color_quad(&test_context, &green);
|
||||
check_texture_color(test_context.backbuffer, 0x7f00ff00, 1);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &green.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &green);
|
||||
draw_color_quad(&test_context, &red);
|
||||
check_texture_color(test_context.backbuffer, 0xcc0000ff, 1);
|
||||
|
||||
|
@ -27162,7 +27169,7 @@ static void test_stream_output_resume(void)
|
|||
ID3D11DeviceContext_GSSetShader(context, gs, NULL, 0);
|
||||
ID3D11DeviceContext_GSSetConstantBuffers(context, 0, 1, &cb);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &white);
|
||||
check_texture_color(test_context.backbuffer, 0xffffffff, 0);
|
||||
|
||||
/* Draw into a SO buffer and then immediately destroy it, to make sure that
|
||||
|
@ -27885,7 +27892,7 @@ static void test_gather(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -27906,7 +27913,7 @@ static void test_gather(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -27934,7 +27941,7 @@ static void test_gather(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -27955,7 +27962,7 @@ static void test_gather(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -27974,7 +27981,7 @@ static void test_gather(void)
|
|||
constant.offset_x = 0;
|
||||
constant.offset_y = 0;
|
||||
ID3D11DeviceContext_UpdateSubresource(context, (ID3D11Resource *)cb, 0, NULL, &constant, 0, 0);
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -28173,7 +28180,7 @@ static void test_gather_c(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -28194,7 +28201,7 @@ static void test_gather_c(void)
|
|||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
ID3D11DeviceContext_PSSetShader(context, ps, NULL, 0);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv, &white.x);
|
||||
clear_rtv(context, rtv, &white);
|
||||
draw_quad(&test_context);
|
||||
get_texture_readback(rt, 0, &rb);
|
||||
for (y = 0; y < texture_desc.Height; ++y)
|
||||
|
@ -30502,7 +30509,7 @@ static void test_generate_mips(void)
|
|||
|
||||
ID3D11DeviceContext_GenerateMips(context, srv);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &white);
|
||||
|
||||
srv_desc.Format = tests[j].texture_format == DXGI_FORMAT_R8G8B8A8_UINT
|
||||
? DXGI_FORMAT_R8G8B8A8_UINT : DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
|
@ -30571,7 +30578,7 @@ static void test_generate_mips(void)
|
|||
|
||||
ID3D11DeviceContext_GenerateMips(context, srv);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &white.w);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &white);
|
||||
|
||||
srv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
srv_desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
|
||||
|
@ -30603,7 +30610,7 @@ static void test_generate_mips(void)
|
|||
|
||||
ID3D11DeviceContext_GenerateMips(context, srv);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, test_context.backbuffer_rtv, &white.w);
|
||||
clear_rtv(context, test_context.backbuffer_rtv, &white);
|
||||
|
||||
srv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
srv_desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
|
||||
|
@ -33280,7 +33287,7 @@ static void test_deferred_context_rendering(void)
|
|||
hr = ID3D11Device_CreateBlendState(device, &blend_desc, &blue_blend);
|
||||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &white);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(deferred, test_context.backbuffer_rtv, green);
|
||||
|
||||
|
@ -33297,12 +33304,12 @@ static void test_deferred_context_rendering(void)
|
|||
color = get_texture_color(test_context.backbuffer, 320, 240);
|
||||
ok(color == 0xff00ff00, "Got unexpected colour %#08lx.\n", color);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &white);
|
||||
ID3D11DeviceContext_ExecuteCommandList(immediate, list1, TRUE);
|
||||
color = get_texture_color(test_context.backbuffer, 320, 240);
|
||||
ok(color == 0xff00ff00, "Got unexpected colour %#08lx.\n", color);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &white);
|
||||
ID3D11DeviceContext_ExecuteCommandList(immediate, list2, TRUE);
|
||||
color = get_texture_color(test_context.backbuffer, 320, 240);
|
||||
ok(color == 0xffffffff, "Got unexpected colour %#08lx.\n", color);
|
||||
|
@ -33313,7 +33320,7 @@ static void test_deferred_context_rendering(void)
|
|||
hr = ID3D11DeviceContext_FinishCommandList(deferred, TRUE, &list2);
|
||||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &white);
|
||||
ID3D11DeviceContext_ExecuteCommandList(immediate, list2, TRUE);
|
||||
color = get_texture_color(test_context.backbuffer, 320, 240);
|
||||
ok(color == 0xff00ff00, "Got unexpected colour %#08lx.\n", color);
|
||||
|
@ -33328,7 +33335,7 @@ static void test_deferred_context_rendering(void)
|
|||
hr = ID3D11Device_CreateRenderTargetView(device, (ID3D11Resource *)texture, NULL, &rtv);
|
||||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &white.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &white);
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, rtv, green);
|
||||
|
||||
hr = ID3D11Device_CreateDeferredContext(device, 0, &deferred);
|
||||
|
@ -34343,7 +34350,7 @@ static void test_dynamic_map_synchronization(void)
|
|||
hr = ID3D11Device_CreateBuffer(device, &buffer_desc, NULL, &test_context.vb);
|
||||
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||
|
||||
ID3D11DeviceContext_ClearRenderTargetView(immediate, test_context.backbuffer_rtv, &red.x);
|
||||
clear_rtv(immediate, test_context.backbuffer_rtv, &red);
|
||||
|
||||
for (y = 0; y < 200; ++y)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue