SIGN IN SIGN UP

gl: add image texture preprocessing

Add a GL image texture preprocessing pass. Texture uploads queue
conversion requests, and postUpdate() flushes the pending work. Each
flush renders the source texture through a small shader into one
reusable RGBA8 staging texture, then blits the result back to the
cached texture.

Motivation: keep cached image textures in premultiplied RGBA so the
image draw shader no longer carries color-space and straight-alpha
branches. This follows the WebGPU preprocessing model while using GL
rendering and framebuffer blits instead of compute.

The staging texture avoids sampling from and rendering to the same GL
texture during conversion.

Related issue: https://github.com/thorvg/thorvg/issues/4041
J
Jay Shen committed
5654bbbb13c518c93ce159569838b329c0af85a7
Parent: 3700f6d
Committed by Hermet Park <hermetpark@gmail.com> on 8/26/2026, 4:29:39 PM