From: Stefan Dösinger Subject: [PATCH 3/5] d3d9/tests: r500 GPUs only generate point sprite coords on texture coordinate 0. Message-Id: <20170219114754.18803-3-stefandoesinger@gmx.at> Date: Sun, 19 Feb 2017 11:47:52 +0000 In-Reply-To: <20170219114754.18803-1-stefandoesinger@gmx.at> References: <20170219114754.18803-1-stefandoesinger@gmx.at> Signed-off-by: Stefan Dösinger --- dlls/d3d9/tests/visual.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index 75c6020..d715602 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -10746,7 +10746,8 @@ static void test_pointsize(void) IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL); /* The following code tests point sprites with two textures, to see if each texture coordinate unit - * generates texture coordinates for the point(result: Yes, it does) + * generates texture coordinates for the point. Result: Yes, it does, except on some older hardware + * (r500 and earlier, probably others). * * However, not all GL implementations support point sprites(they need GL_ARB_point_sprite), but there * is no point sprite cap bit in d3d because native d3d software emulates point sprites. Until the @@ -10802,6 +10803,11 @@ static void test_pointsize(void) color = getPixelColor(device, 64-4, 64-4); ok(color == 0x00ff0000, "pSprite: Pixel (64-4),(64-4) has color 0x%08x, expected 0x00ff0000\n", color); color = getPixelColor(device, 64-4, 64+4); + if (color == 0x00ff0000) + { + skip("Hardware generates point sprite coordinates on texture unit 0 only.\n"); + goto cleanup_1tex; + } ok(color == 0x00000000, "pSprite: Pixel (64-4),(64+4) has color 0x%08x, expected 0x00000000\n", color); color = getPixelColor(device, 64+4, 64+4); ok(color == 0x0000ff00, "pSprite: Pixel (64+4),(64+4) has color 0x%08x, expected 0x0000ff00\n", color); @@ -10975,6 +10981,7 @@ cleanup: IDirect3DSurface9_Release(backbuffer); IDirect3DSurface9_Release(rt); +cleanup_1tex: IDirect3DTexture9_Release(tex1); IDirect3DTexture9_Release(tex2); refcount = IDirect3DDevice9_Release(device); -- 2.10.2