It may be worth including a call to GetVertexBufferDesc() in the tests. As Matteo mentioned in an earlier comment, the docs seem to suggest that omitting D3DVBCAPS_SYSTEMMEMORY allows the driver/runtime to place the buffer as it sees fit.
I mentioned earlier that GetVertexBufferDesc() never returns anything other than the flags used to create the buffer. That holds for both cards. I'll add a test the the suite.
I guess it should perform better with a vidmem buffer if the buffer is holding static data and not locked after the initial upload.
Maybe, yeah. Though I'd be surprised if a ddraw application did that...
Can you check D3DDEVICEDESC.dwMaxVertexCount on these cards? Regardless of what we do with these two patches I think we should reduce it to whatever Windows reports. (1024 in my case on Windows 11)
For both cards, the RGB device has 0 in the HAL caps, and 2021 in the HEL caps.
The NVidia card has 32768 (both HAL and HEL), and the ATI card has 2048 (both HAL and HEL).