Commit e152a3cedb70ba5a97e0f507a24b48876ddd0890

Cameron Gutman 2020-03-07T13:59:42

direct3d: Don't attempt to create zero sized vertex buffer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/render/direct3d/SDL_render_d3d.c b/src/render/direct3d/SDL_render_d3d.c
index 50065a6..932c183 100644
--- a/src/render/direct3d/SDL_render_d3d.c
+++ b/src/render/direct3d/SDL_render_d3d.c
@@ -1238,7 +1238,7 @@ D3D_RunCommandQueue(SDL_Renderer * renderer, SDL_RenderCommand *cmd, void *verti
 
     /* upload the new VBO data for this set of commands. */
     vbo = data->vertexBuffers[vboidx];
-    if (!vbo || (data->vertexBufferSize[vboidx] < vertsize)) {
+    if (data->vertexBufferSize[vboidx] < vertsize) {
         const DWORD usage = D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY;
         const DWORD fvf = D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1;
         if (vbo) {
@@ -1632,6 +1632,7 @@ D3D_Reset(SDL_Renderer * renderer)
             IDirect3DVertexBuffer9_Release(data->vertexBuffers[i]);
         }
         data->vertexBuffers[i] = NULL;
+        data->vertexBufferSize[i] = 0;
     }
 
     result = IDirect3DDevice9_Reset(data->device, &data->pparams);