d3d9/tests: Test that GOURAUD and PHONG modes are equal.
authorAlexander Dorofeyev <alexd4@inbox.lv>
Wed, 26 Mar 2008 22:23:10 +0000 (00:23 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 27 Mar 2008 10:09:11 +0000 (11:09 +0100)
dlls/d3d9/tests/visual.c

index 1e8d9c3eb501621fde2d02f5e6a1be82c0bc926e..e73e59c3f74b57ec2e293270c2c925fbcd92e7b6 100644 (file)
@@ -5642,6 +5642,7 @@ static void shademode_test(IDirect3DDevice9 *device)
     /* Render a quad and try all of the different fixed function shading models. */
     HRESULT hr;
     DWORD color0, color1;
+    DWORD color0_gouraud = 0, color1_gouraud = 0;
     BYTE r, g, b;
     DWORD shademode = D3DSHADE_FLAT;
     DWORD primtype = D3DPT_TRIANGLESTRIP;
@@ -5748,6 +5749,10 @@ static void shademode_test(IDirect3DDevice9 *device)
                     b = (color1 & 0x000000ff);
                     ok(r == 0x0d && g >= 0x44 && g <= 0x45 && b >= 0xc7 && b <= 0xc8,
                        "GOURAUD shading has color1 %08x, expected 0x000d45c7\n", color1);
+
+                    color0_gouraud = color0;
+                    color1_gouraud = color1;
+
                     shademode = D3DSHADE_PHONG;
                     break;
                 case D3DSHADE_PHONG:
@@ -5762,6 +5767,11 @@ static void shademode_test(IDirect3DDevice9 *device)
                     b = (color1 & 0x000000ff);
                     ok(r == 0x0d && g >= 0x44 && g <= 0x45 && b >= 0xc7 && b <= 0xc8,
                        "PHONG shading has color1 %08x, expected 0x000d45c7\n", color1);
+
+                    ok(color0 == color0_gouraud, "difference between GOURAUD and PHONG shading detected: %08x %08x\n",
+                            color0_gouraud, color0);
+                    ok(color1 == color1_gouraud, "difference between GOURAUD and PHONG shading detected: %08x %08x\n",
+                            color1_gouraud, color1);
                     break;
             }
         }