From: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> --- dlls/d3dx10_43/tests/d3dx10.c | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/dlls/d3dx10_43/tests/d3dx10.c b/dlls/d3dx10_43/tests/d3dx10.c index 5a3b64da69a..e3aa23b07d8 100644 --- a/dlls/d3dx10_43/tests/d3dx10.c +++ b/dlls/d3dx10_43/tests/d3dx10.c @@ -8181,6 +8181,58 @@ static void test_sprite_render(void) color = get_texture_color(test_context.backbuffer, 480, 360); ok(compare_color(color, 0xff00ffff, 0), "Got unexpected color 0x%08x.\n", color); + /* Immediate draws with sprites in the batch */ + ID3D10Device_ClearRenderTargetView(device, test_context.backbuffer_rtv, clear); + + hr = ID3DX10Sprite_Begin(sprite, 0); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + color = get_texture_color(test_context.backbuffer, 160, 120); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 120); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 160, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + + D3DXMatrixTranslation(&sprite_desc.matWorld, -0.5f, 0.5f, 0.0f); + sprite_desc.TexCoord.x = 0.0f; + sprite_desc.TexCoord.y = 0.0f; + sprite_desc.TexSize.x = 0.25f; + sprite_desc.TexSize.y = 0.25f; + hr = ID3DX10Sprite_DrawSpritesBuffered(sprite, &sprite_desc, 1); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + color = get_texture_color(test_context.backbuffer, 160, 120); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 120); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 160, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + + D3DXMatrixTranslation(&sprite_desc.matWorld, 0.5f, 0.5f, 0.0f); + sprite_desc.TexCoord.x = 0.7f; + sprite_desc.TexCoord.y = 0.0f; + sprite_desc.TexSize.x = 0.25f; + sprite_desc.TexSize.y = 0.25f; + hr = ID3DX10Sprite_DrawSpritesImmediate(sprite, &sprite_desc, 1, sizeof(sprite_desc), 0); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + color = get_texture_color(test_context.backbuffer, 160, 120); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 120); + ok(compare_color(color, 0xffff00ff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 160, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + color = get_texture_color(test_context.backbuffer, 480, 360); + ok(compare_color(color, 0xffffffff, 0), "Got unexpected color 0x%08x.\n", color); + + hr = ID3DX10Sprite_End(sprite); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ID3DX10Sprite_Release(sprite); ID3D10Texture2D_Release(texture); ID3D10ShaderResourceView_Release(srv); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11721