[10/11] ddraw/tests: Add assorted D3D3 DrawPrimitive/visual tests.
Stefan Dösinger
stefandoesinger at gmx.at
Mon Nov 7 17:23:49 CST 2011
Hi,
Design-wise I think the 8 triangles and readback grid make the test fairly
difficult to read. You could set up a structure that contains the d3d parameters
you're changing between the tests and the expected color and then loop over
the table. Something like this:
const struct
{
BOOL d3drs_lighting;
DWORD dp_flags; <- for things like D3DP_DONOTLIGHT
DWORD fvf;
void *vertices;
DWORD expected_color;
}
test_data[] =
{
...
};
You can also think about sharing this control table between d3d2, d3d3 and
d3d7 by having different color fields for that, but I don't know how well this
will work.
On Monday 07 November 2011 23:27:13 Octavian Voicu wrote:
> + DWORD expected[] = { GRAY, WHITE, YELLOW2, YELLOW, GREEN, GREEN, BLUE,
BLUE };
Please make data const where you can.
> + /* Note: IDirect3DDevice3::DrawPrimitive calls with D3DVT_ vertex
> types should fail. */ +
> + /* Triangle 0 -- D3DFVF_VERTEX (vertices with normals, but without
> colors). */ + hr = IDirect3DDevice3_DrawPrimitive(Direct3DDevice3,
> D3DPT_TRIANGLELIST, D3DVT_VERTEX,
> + vertices, 3, D3DDP_WAIT);
> + ok(hr != DDERR_INVALIDPARAMS, "DrawPrimitive returned: %08x\n",
> hr);
I don't think there's a point in testing this, both D3DVT_* and D3DFVF_* are
defines / enums that map to integers, and it is obvious that you get wrong
behavior if you mix those.
The ok condition looks strange. If you're trying to avoid a todo_wine, don't
do that, just mark tests that show a difference between Wine and Windows as
todo_wine.
(I guess Wine currently returns DD_OK, and Windows returns
D3DERR_INVALIDVERTEXFORMAT)
> + /* Make sure getPixelColor works correctly. */
> + color = getPixelColor(device, 320, 240);
> + ok(color == RED, "getPixelColor returned: %08x\n", color);
We have some sanity checks for that in the main function
Most of this applies to the d3d2 and d3d3 tests as well. I haven't looked over
the cleanup patches yet.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20111108/dde4adee/attachment.pgp>
More information about the wine-devel
mailing list