Alpha auto-mask demotion silently off under VK #82
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#82
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?
LL demotes alpha-blend faces with a hard alpha gradient to alpha-mask (sorting/perf win). Under VK the alpha-gradient value is always 255, so auto-mask demotion never happens. Source: research/gl_removal_map.md §6.
Status (code audit at
4d90800218): demotion now happens under VK via LL's alpha-mask analysis run in the background (LLImageGL::vkPostAlphaAnalysis,473e4999b7) feeding canRenderAsMask(). Still dead: the content-driven gradient path. LLCleanTexture::uploadSlot returns before the scan that sets alpha_gradient_pct, so alphaGradientPct() is always 255 and RenderCleanAutoMaskMaxGradient has no effect.Verified done: auto-mask demotion works under VK: background alpha analysis feeds canRenderAsMask, the gradient path is revived (RenderCleanAutoMaskMaxGradient is live again), rigged/glowing blend faces are never demoted, as in LL. Commits:
473e4999b7,7e514048e3,61b82e65b2,4d0c32651d. Shipped in v1.0.0-beta.1.