From 988b6df47254323aa9498bac62dd8ea311dfb45a Mon Sep 17 00:00:00 2001 From: jacob Date: Tue, 21 Jan 2025 15:27:16 -0600 Subject: [PATCH] formatting --- src/renderer_d3d11.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/renderer_d3d11.c b/src/renderer_d3d11.c index 23d70e74..d94aa65e 100644 --- a/src/renderer_d3d11.c +++ b/src/renderer_d3d11.c @@ -995,8 +995,8 @@ void renderer_cmd_buffer_send_to_gpu(struct renderer_cmd_buffer *cmdbuff) continue; } - /* Create / grow vertex buffer */ - if (!buffer->gpu_vertex_buffer || buffer->gpu_vertex_buffer_capacity < buffer->vertex_count) { + /* Grow vertex buffer */ + if (buffer->gpu_vertex_buffer_capacity < buffer->vertex_count) { buffer->gpu_vertex_buffer_capacity = buffer->vertex_count + 5000; D3D11_BUFFER_DESC desc = { .Usage = D3D11_USAGE_DYNAMIC, @@ -1008,8 +1008,8 @@ void renderer_cmd_buffer_send_to_gpu(struct renderer_cmd_buffer *cmdbuff) ID3D11Device_CreateBuffer(G.dev, &desc, NULL, &buffer->gpu_vertex_buffer); } - /* Create / grow index buffer */ - if (!buffer->gpu_index_buffer || buffer->gpu_index_buffer_capacity < buffer->index_count) { + /* Grow index buffer */ + if (buffer->gpu_index_buffer_capacity < buffer->index_count) { buffer->gpu_index_buffer_capacity = buffer->index_count + 5000; D3D11_BUFFER_DESC desc = { .Usage = D3D11_USAGE_DYNAMIC, @@ -1021,14 +1021,21 @@ void renderer_cmd_buffer_send_to_gpu(struct renderer_cmd_buffer *cmdbuff) ID3D11Device_CreateBuffer(G.dev, &desc, NULL, &buffer->gpu_index_buffer); } - /* Copy data to GPU */ - D3D11_MAPPED_SUBRESOURCE vtx_resource, idx_resource; - ID3D11DeviceContext_Map(G.devcon, (ID3D11Resource *)buffer->gpu_vertex_buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &vtx_resource); - ID3D11DeviceContext_Map(G.devcon, (ID3D11Resource *)buffer->gpu_index_buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &idx_resource); - MEMCPY(vtx_resource.pData, buffer->cpu_vertex_buffer, buffer->vertex_count * vertex_size); - MEMCPY(idx_resource.pData, buffer->cpu_index_buffer, buffer->index_count * index_size); - ID3D11DeviceContext_Unmap(G.devcon, (ID3D11Resource *)buffer->gpu_vertex_buffer, 0); - ID3D11DeviceContext_Unmap(G.devcon, (ID3D11Resource *)buffer->gpu_index_buffer, 0); + /* Fill GPU vertex buffer */ + if (buffer->gpu_vertex_buffer) { + D3D11_MAPPED_SUBRESOURCE res; + ID3D11DeviceContext_Map(G.devcon, (ID3D11Resource *)buffer->gpu_vertex_buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &res); + MEMCPY(res.pData, buffer->cpu_vertex_buffer, buffer->vertex_count * vertex_size); + ID3D11DeviceContext_Unmap(G.devcon, (ID3D11Resource *)buffer->gpu_vertex_buffer, 0); + } + + /* Fill GPU index buffer */ + if (buffer->gpu_index_buffer) { + D3D11_MAPPED_SUBRESOURCE res; + ID3D11DeviceContext_Map(G.devcon, (ID3D11Resource *)buffer->gpu_index_buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &res); + MEMCPY(res.pData, buffer->cpu_index_buffer, buffer->index_count * index_size); + ID3D11DeviceContext_Unmap(G.devcon, (ID3D11Resource *)buffer->gpu_index_buffer, 0); + } /* Reset CPU buffers */ buffer->vertex_count = 0;