Fixed bug #4671 - D3D_QueueGeometry: use "count / 3" (Thanks alittlesail!)

This commit is contained in:
Sylvain 2021-08-20 07:50:30 +02:00
parent 70c23b25f0
commit e426bb80cb
No known key found for this signature in database
GPG Key ID: 5F87E02E5BC0939E

View File

@ -1493,10 +1493,10 @@ D3D_RunCommandQueue(SDL_Renderer * renderer, SDL_RenderCommand *cmd, void *verti
const size_t first = cmd->data.draw.first; const size_t first = cmd->data.draw.first;
SetDrawState(data, cmd); SetDrawState(data, cmd);
if (vbo) { if (vbo) {
IDirect3DDevice9_DrawPrimitive(data->device, D3DPT_TRIANGLELIST, (UINT) (first / sizeof (Vertex)), (UINT) count); IDirect3DDevice9_DrawPrimitive(data->device, D3DPT_TRIANGLELIST, (UINT) (first / sizeof (Vertex)), (UINT) count / 3);
} else { } else {
const Vertex* verts = (Vertex*)(((Uint8*)vertices) + first); const Vertex* verts = (Vertex*)(((Uint8*)vertices) + first);
IDirect3DDevice9_DrawPrimitiveUP(data->device, D3DPT_TRIANGLELIST, (UINT) count, verts, sizeof(Vertex)); IDirect3DDevice9_DrawPrimitiveUP(data->device, D3DPT_TRIANGLELIST, (UINT) count / 3, verts, sizeof(Vertex));
} }
#endif #endif
break; break;