Rico Schüller : d3d9: Make the shader test more precision tolerant.
Alexandre Julliard
julliard at winehq.org
Mon Apr 7 06:50:47 CDT 2008
Module: wine
Branch: master
Commit: 82521353f5f898f4a19ce65afaec55dfe732caca
URL: http://source.winehq.org/git/wine.git/?a=commit;h=82521353f5f898f4a19ce65afaec55dfe732caca
Author: Rico Schüller <kgbricola at web.de>
Date: Sun Apr 6 00:14:00 2008 +0200
d3d9: Make the shader test more precision tolerant.
---
dlls/d3d9/tests/visual.c | 54 ++++++++++++++++++++++++++++++---------------
1 files changed, 36 insertions(+), 18 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index b33f7d5..6d9ad39 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -4801,31 +4801,37 @@ static void cnd_test(IDirect3DDevice9 *device)
color = getPixelColor(device, 158, 358);
ok(color == 0x00ffffff, "pixel 158, 358 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 162, 358);
- ok(color == 0x00000000, "pixel 162, 358 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 162, 358 has color %08x, expected 0x00000000\n", color);
color = getPixelColor(device, 158, 362);
ok(color == 0x00ffffff, "pixel 158, 362 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 162, 362);
- ok(color == 0x00000000, "pixel 162, 362 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 162, 362 has color %08x, expected 0x00000000\n", color);
/* 1.2 shader */
color = getPixelColor(device, 478, 358);
ok(color == 0x00ffffff, "pixel 478, 358 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 482, 358);
- ok(color == 0x00000000, "pixel 482, 358 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 358 has color %08x, expected 0x00000000\n", color);
color = getPixelColor(device, 478, 362);
ok(color == 0x00ffffff, "pixel 478, 362 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 482, 362);
- ok(color == 0x00000000, "pixel 482, 362 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 362 has color %08x, expected 0x00000000\n", color);
/* 1.3 shader */
color = getPixelColor(device, 478, 118);
ok(color == 0x00ffffff, "pixel 478, 118 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 482, 118);
- ok(color == 0x00000000, "pixel 482, 118 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 118 has color %08x, expected 0x00000000\n", color);
color = getPixelColor(device, 478, 122);
ok(color == 0x00ffffff, "pixel 478, 122 has color %08x, expected 0x00ffffff\n", color);
color = getPixelColor(device, 482, 122);
- ok(color == 0x00000000, "pixel 482, 122 has color %08x, expected 0x00000000\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) <= 0x01) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 122 has color %08x, expected 0x00000000\n", color);
hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xff00ffff, 0.0, 0);
ok(hr == D3D_OK, "IDirect3DDevice9_Clear returned %s\n", DXGetErrorString9(hr));
@@ -4878,33 +4884,45 @@ static void cnd_test(IDirect3DDevice9 *device)
/* 1.1 shader. coissue flag changed the semantic of cnd, c1 is always selected */
color = getPixelColor(device, 158, 358);
- ok(color == 0x0000ff00, "pixel 158, 358 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 158, 358 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 162, 358);
- ok(color == 0x0000ff00, "pixel 162, 358 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 162, 358 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 158, 362);
- ok(color == 0x0000ff00, "pixel 158, 362 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 158, 362 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 162, 362);
- ok(color == 0x0000ff00, "pixel 162, 362 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 162, 362 has color %08x, expected 0x0000ff00\n", color);
/* 1.2 shader */
color = getPixelColor(device, 478, 358);
- ok(color == 0x0000ff00, "pixel 478, 358 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 478, 358 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 482, 358);
- ok(color == 0x0000ff00, "pixel 482, 358 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 358 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 478, 362);
- ok(color == 0x0000ff00, "pixel 478, 362 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 478, 362 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 482, 362);
- ok(color == 0x0000ff00, "pixel 482, 362 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 362 has color %08x, expected 0x0000ff00\n", color);
/* 1.3 shader */
color = getPixelColor(device, 478, 118);
- ok(color == 0x0000ff00, "pixel 478, 118 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 478, 118 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 482, 118);
- ok(color == 0x0000ff00, "pixel 482, 118 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 118 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 478, 122);
- ok(color == 0x0000ff00, "pixel 478, 122 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 478, 122 has color %08x, expected 0x0000ff00\n", color);
color = getPixelColor(device, 482, 122);
- ok(color == 0x0000ff00, "pixel 482, 122 has color %08x, expected 0x0000ff00\n", color);
+ ok( (((color & 0x00ff0000) >> 16) <= 0x01) && (((color & 0x0000ff00) >> 8) == 0xff) && ((color & 0x000000ff) <= 0x01),
+ "pixel 482, 122 has color %08x, expected 0x0000ff00\n", color);
IDirect3DPixelShader9_Release(shader_14_coissue);
IDirect3DPixelShader9_Release(shader_13_coissue);
More information about the wine-cvs
mailing list