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);