On Tue, Nov 8, 2011 at 12:18 PM, Stefan Dösinger stefandoesinger@gmx.at wrote:
On Tuesday 08 November 2011 01:14:22 Octavian Voicu wrote:
The idea behind using triangles was to fit everything in one screen so I could debug it visually very easily. I'm thinking I can still have that if I draw full-screen quads in a loop, like you suggest, then blit one small rectangle to the primary surface, in different positions for each test.
I don't think that's necessary, I found those one-quad screens easier to debug than multi-quads, although that may be a matter of taste.
It gets a bit harder when you have more than a couple of tests, because you have to follow the sequence of flashes, but the message from the failures should be descriptive enough.
I think we should cover special error cases if there are any (that is, if D3DERR_INVALIDVERTEXTYPE is not returned for D3DVT_ constants).
Well, you can't test them. D3DVT_LVERTEX is 2, and D3DFVF_XYZ is 2. The number 2 doesn't have any tags attached, so what you'd be testing is how drawPrimitive responds to D3DFVF_RESERVED0, not what it does with D3DVT_* enums.
The statement in the SDK doesn't make sense with that in mind.
I thought D3DVT_ values interpreted as FVFs didn't make sense. It seems Windows accepts those values and returns D3D_OK, so I'll drop those tests.
> About the ddraw/visual tests: I think we need one structure for each
of d3d, d3d2, d3d3, d3d7, where to have most of the things we store globally or in local vars now, and make the create/release functions work with that.
Yes, I was about to write something like that as a response to the cleanup patches.
Is it OK to leave them like this for now? That kind of refactoring is going to make this patch series endless.
Octavian