On Thu Dec 21 17:02:38 2023 +0000, Matteo Bruni wrote:
Actually, I suspect that 1/2 isn't really a hack. Notice that Hardware T&L didn't exist before d3d7, so a video memory vertex buffer containing untransformed data doesn't make much sense (while it could be useful still for pretransformed data, I guess). Interestingly, ddraw's CreateVertexBuffer does in fact require the specification of the vertex format; I'd just replace a `desc->dwFVF & D3DFVF_XYZ` check for the `buffer->version < 7` one and call it a day :slight_smile:
A couple more details I forgot earlier... According to the docs, including D3DVBCAPS_SYSTEMMEMORY forces system memory allocation but the implementation is allowed to allocate the buffer in system memory even without it. Also the flag can be queried after creation (via ::GetVertexBufferDesc()) to know if the buffer was in fact allocated in system memory.
I guess we want to try and write a test, it might even give some answers.