mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 15:40:41 -05:00
clutter/paint-nodes: Push and pop framebuffer even without ops
ClutterLayerNode currently skips pushing and popping its framebuffer to the paint context when no rectangles are added to it. However, it's still useful to do that, since we might want to render child nodes to the offscreen and reuse the pipeline in a later node. Make ClutterLayerNode push and pop its framebuffer even without rectangles. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1340
This commit is contained in:
parent
31dc74dfd3
commit
3b64f56c5f
@ -1360,10 +1360,6 @@ clutter_layer_node_pre_draw (ClutterPaintNode *node,
|
|||||||
if (lnode->offscreen == NULL)
|
if (lnode->offscreen == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* if no geometry was submitted for this node then we simply ignore it */
|
|
||||||
if (node->operations == NULL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (lnode->update_modelview)
|
if (lnode->update_modelview)
|
||||||
{
|
{
|
||||||
CoglFramebuffer *framebuffer;
|
CoglFramebuffer *framebuffer;
|
||||||
@ -1414,6 +1410,10 @@ clutter_layer_node_post_draw (ClutterPaintNode *node,
|
|||||||
cogl_framebuffer_pop_matrix (lnode->offscreen);
|
cogl_framebuffer_pop_matrix (lnode->offscreen);
|
||||||
clutter_paint_context_pop_framebuffer (paint_context);
|
clutter_paint_context_pop_framebuffer (paint_context);
|
||||||
|
|
||||||
|
/* if no geometry was submitted for this node then we simply ignore it */
|
||||||
|
if (node->operations == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
fb = clutter_paint_context_get_framebuffer (paint_context);
|
fb = clutter_paint_context_get_framebuffer (paint_context);
|
||||||
|
|
||||||
for (i = 0; i < node->operations->len; i++)
|
for (i = 0; i < node->operations->len; i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user