mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-23 04:46:26 +02:00
imgui 1.92 hands the backend a list of dirty rectangles when its font atlas grows, but thin3d could only replace a whole mip level, so every new glyph re-uploaded the entire atlas. Adds DrawContext::UpdateTextureRegions, taking a batch of regions so each backend can submit them together: - Vulkan: packs the regions into the push pool and issues a single vkCmdCopyBufferToImage from the init command buffer, transitioning only the level being written. - OpenGL: new TEXTURE_SUBIMAGE init step. The existing sub-image path is a render command needing an active render pass and a texture slot, which doesn't fit here. Rows are packed caller-side since GLES2 lacks GL_UNPACK_ROW_LENGTH. - D3D11: UpdateSubresource with a box, no staging texture needed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>