diff --git a/examples/imgui_impl_metal.mm b/examples/imgui_impl_metal.mm index c8373420..6ffe27e5 100644 --- a/examples/imgui_impl_metal.mm +++ b/examples/imgui_impl_metal.mm @@ -440,17 +440,10 @@ void ImGui_ImplMetal_DestroyDeviceObjects() [commandEncoder setVertexBytes:&ortho_projection length:sizeof(ortho_projection) atIndex:1]; - size_t vertexBufferLength = 0; - size_t indexBufferLength = 0; - for (int n = 0; n < drawData->CmdListsCount; n++) - { - const ImDrawList* cmd_list = drawData->CmdLists[n]; - vertexBufferLength += cmd_list->VtxBuffer.Size * sizeof(ImDrawVert); - indexBufferLength += cmd_list->IdxBuffer.Size * sizeof(ImDrawIdx); - } - - MetalBuffer *vertexBuffer = [self dequeueReusableBufferOfLength:vertexBufferLength device:commandBuffer.device]; - MetalBuffer *indexBuffer = [self dequeueReusableBufferOfLength:indexBufferLength device:commandBuffer.device]; + size_t vertexBufferLength = drawData->TotalVtxCount * sizeof(ImDrawVert); + size_t indexBufferLength = drawData->TotalIdxCount * sizeof(ImDrawIdx); + MetalBuffer* vertexBuffer = [self dequeueReusableBufferOfLength:vertexBufferLength device:commandBuffer.device]; + MetalBuffer* indexBuffer = [self dequeueReusableBufferOfLength:indexBufferLength device:commandBuffer.device]; id renderPipelineState = [self renderPipelineStateForFrameAndDevice:commandBuffer.device]; [commandEncoder setRenderPipelineState:renderPipelineState]; @@ -484,10 +477,13 @@ void ImGui_ImplMetal_DestroyDeviceObjects() if (clip_rect.x < fb_width && clip_rect.y < fb_height && clip_rect.z >= 0.0f && clip_rect.w >= 0.0f) { // Apply scissor/clipping rectangle - MTLScissorRect scissorRect = { .x = NSUInteger(clip_rect.x), + MTLScissorRect scissorRect = + { + .x = NSUInteger(clip_rect.x), .y = NSUInteger(clip_rect.y), .width = NSUInteger(clip_rect.z - clip_rect.x), - .height = NSUInteger(clip_rect.w - clip_rect.y) }; + .height = NSUInteger(clip_rect.w - clip_rect.y) + }; [commandEncoder setScissorRect:scissorRect]; diff --git a/imstb_truetype.h b/imstb_truetype.h index a76a6c2a..95631323 100644 --- a/imstb_truetype.h +++ b/imstb_truetype.h @@ -253,7 +253,7 @@ // Documentation & header file 520 LOC \___ 660 LOC documentation // Sample code 140 LOC / // Truetype parsing 620 LOC ---- 620 LOC TrueType -// Software rasterization 240 LOC \ +// Software rasterization 240 LOC \ // Curve tessellation 120 LOC \__ 550 LOC Bitmap creation // Bitmap management 100 LOC / // Baked bitmap interface 70 LOC /