[perf][MEDIUM] TransitionImageLayout hardcodes RAY_TRACING stage for all shader reads #54
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Catcrafts/Crafter.Graphics#54
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?
Subsystem: Image pipeline (consumed by Font atlas)
Location:
interfaces/Crafter.Graphics-ImageVulkan.cppm:102-109Impact: MEDIUM · Effort: Small · Not hot path (one-time/dirty-gated)
Problem
Every sampled-image shader-read transition uses
VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR. The UI font atlas is consumed by compute (VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT), so the upload barrier's dst scope does not even cover the real consumer — arguably a correctness gap, not just lost overlap, unless another barrier/submit boundary covers it.Proposed fix
Parameterize the consuming stage/access per image; pass the true stage (COMPUTE for the atlas, FRAGMENT or RT for others).
Correctness caveat
Narrowing/correcting the scope changes no layouts or lifetimes. This is the strongest of the image-pipeline findings — it fixes a real scope mismatch, not just a micro-opt.