Le Friday 26 December 2008 22:35:18 Vincent Pelletier, vous avez écrit :
> I'm not sure where to add it. I've added some line in
> d3d9/tests/visual.c:pointsize_test (attached too). As I wrote that
> test to succeed on wine and did not run it on any windows version, I
> would be happy if someone could try it.
> Note that this patch also contains a change from fix explained below
> (I'm not used to git enough yet to split patches...).

Patch regenerated without mipmap test change.

--
Vincent Pelletier
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 9bcb42f..ed883f2 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -8340,6 +8340,7 @@ static void pointsize_test(IDirect3DDevice9 *device)
         448,    64,     0.1,
         512,    64,     0.1,
         576,    64,     0.1,
+        640,    64,     0.1,
     };
 
     /* Transforms the coordinate system [-1.0;1.0]x[-1.0;1.0] to [0.0;0.0]x[640.0;480.0]. Z is untouched */
@@ -8456,6 +8457,12 @@ static void pointsize_test(IDirect3DDevice9 *device)
         hr = IDirect3DDevice9_SetRenderState(device, D3DRS_POINTSIZE_MIN, *((DWORD *) (&ptsizemin_orig)));
         ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState failed, hr=%08x\n", hr);
 
+        ptsize = 0.0;
+        hr = IDirect3DDevice9_SetRenderState(device, D3DRS_POINTSIZE, *((DWORD *) (&ptsize)));
+        ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState failed, hr=%08x\n", hr);
+        hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_POINTLIST, 1, &vertices[27], sizeof(float) * 3);
+        ok(hr == D3D_OK, "IDirect3DDevice9_DrawPrimitiveUP failed, hr=%08x\n", hr);
+
         hr = IDirect3DDevice9_EndScene(device);
         ok(hr == D3D_OK, "IDirect3DDevice9_EndScene failed hr=%08x\n", hr);
     }
@@ -8554,6 +8561,13 @@ static void pointsize_test(IDirect3DDevice9 *device)
     color = getPixelColor(device, 576+4, 64+4);
     ok(color == 0x00ffffff, "pSize: Pixel (448+4),(64+4) has color 0x%08x, expected 0x00ffffff\n", color);
 
+    color = getPixelColor(device, 640-1, 64-1);
+    ok(color == 0x000000ff, "pSize: Pixel (640-1),(64-1) has color 0x%08x, expected 0x000000ff\n", color);
+    color = getPixelColor(device, 640-0, 64-0);
+    ok(color == 0x00ffffff, "pSize: Pixel (640-0),(64-0) has color 0x%08x, expected 0x00ffffff\n", color);
+    color = getPixelColor(device, 640+1, 64+1);
+    ok(color == 0x000000ff, "pSize: Pixel (640+1),(64+1) has color 0x%08x, expected 0x000000ff\n", color);
+
     hr = IDirect3DDevice9_SetRenderState(device, D3DRS_POINTSIZE, *((DWORD *) (&ptsize_orig)));
     ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState failed hr=%08x\n", hr);
     hr = IDirect3DDevice9_SetTransform(device, D3DTS_PROJECTION, &identity);


Reply via email to