I looked a bit closer into the WARP failures: There is something weird going on in all the tests that expect the clear color (0x000000ff) as output. WARP draws a quad in this situations whereas my real driver does not. Can you have another look at the tests? I suspect something unintended is going on - why would a fog test ever expect a triangle not to be drawn.
Semi-relatedly, I think this patch can remove test_table_fog_zw(). I don't see anything that test_table_fog_zw does that's not also covered by the new test.
Fun fact: test_table_fog_zw has this little nugget:
``` /* Work around an AMD Windows driver bug. Needs a proj matrix applied redundantly. */ hr = IDirect3DDevice9_SetTransform(device, D3DTS_PROJECTION, &identity); ```
This driver bug makes a lot more sense now :-) .