mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-14 20:51:07 +00:00
e14d2be1e8
We're caching two things, either a node itself being rendered, or a parent storing a cached version of a child as rendered to an offscreen the size and location of the parent. If both the parent and child uses the cache this will cause a conflict in the cache as it is currently use keying of a node pointer which will have the same value for the node-as-itself and the child-node-of-the-parent. We fix this by adding another part to the key "pointer_is_child" which means we can have the same node pointer twice in the cache. Additionally, in the child-is-rendered-offscreen case the offscreen result actually depends on the position and size of the parent viewport, so we need to store the parent bounds in that case. |
||
---|---|---|
.. | ||
glutilsprivate.h | ||
gskgldriver.c | ||
gskgldriverprivate.h | ||
gskglglyphcache.c | ||
gskglglyphcacheprivate.h | ||
gskgliconcache.c | ||
gskgliconcacheprivate.h | ||
gskglimage.c | ||
gskglimageprivate.h | ||
gskglnodesample.c | ||
gskglnodesampleprivate.h | ||
gskglprofiler.c | ||
gskglprofilerprivate.h | ||
gskglrenderer.c | ||
gskglrenderer.h | ||
gskglrendererprivate.h | ||
gskglrenderops.c | ||
gskglrenderopsprivate.h | ||
gskglshaderbuilder.c | ||
gskglshaderbuilderprivate.h | ||
gskglshadowcache.c | ||
gskglshadowcacheprivate.h | ||
gskgltextureatlas.c | ||
gskgltextureatlasprivate.h | ||
opbuffer.c | ||
opbuffer.h | ||
stb_rect_pack.c | ||
stb_rect_pack.h |