[perf] Unconditional destination imageLoad/imageStore before early-out (ui-quads.comp.glsl) #127
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Catcrafts/Crafter.Graphics#127
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by an adversarially-verified performance audit (confirmed real after a skeptic pass).
Location:
shaders/ui-quads.comp.glsl:32-35Severity: low · Effort: trivial · Category: gpu
Problem
The standalone per-category shaders read-modify-write the destination pixel even when no item touches the tile (sparse UI). The fused kernel correctly amortizes its single load/store.
Fix
Defer
imageLoadto the first surviving blend (aloadedflag) and skipimageStoreunlesstouched. StandaloneDispatch*path only.