Use blend gate plan for canvas copy decisions
This commit is contained in:
@@ -882,7 +882,8 @@ the app calls through renderer services for the whole compositing path.
|
||||
mapping from persisted layer and brush blend indices to that planner, including
|
||||
fallback behavior for unknown nonzero indices. Both `Canvas::draw_merge` and
|
||||
`NodeCanvas` panorama rendering consume that shared gate, so the live app no
|
||||
longer has duplicate local blend-trigger logic.
|
||||
longer has duplicate local blend-trigger logic or duplicate destination-copy
|
||||
versus framebuffer-fetch decisions in those paths.
|
||||
The OpenGL shader initialization path now stores a renderer-neutral
|
||||
`RenderDeviceFeatures` snapshot converted by `pp_renderer_gl`, and those live
|
||||
canvas gates consume that snapshot instead of rebuilding feature flags from
|
||||
@@ -1618,6 +1619,10 @@ Results:
|
||||
feature snapshot through the legacy shader manager, and live canvas blend
|
||||
gates consume that `RenderDeviceFeatures` value instead of hand-built
|
||||
framebuffer-fetch/texture-copy flags.
|
||||
- Canvas draw-merge and `NodeCanvas` panorama shader-blend paths now use the
|
||||
shared canvas blend-gate plan to decide whether they can read destination
|
||||
color through framebuffer fetch or must copy the destination texture before
|
||||
the legacy OpenGL blend draw.
|
||||
- Canvas equirectangular import drawing and depth export rendering now route
|
||||
depth/blend state and active texture units through the renderer GL backend
|
||||
mapping.
|
||||
|
||||
Reference in New Issue
Block a user