journal: Support per-framebuffer journals
authorRobert Bragg <robert@linux.intel.com>
Thu, 6 Jan 2011 13:25:45 +0000 (13:25 +0000)
committerRobert Bragg <robert@linux.intel.com>
Fri, 21 Jan 2011 16:18:10 +0000 (16:18 +0000)
commitf834596fd42b26d471a80cfec08c0d6e8c53f39a
tree2aded37de636892997dff139e03c27f9a359119c
parent385e0f84c6179a30f9031aba974131e1cf3e6a4e
journal: Support per-framebuffer journals

Instead of having a single journal per context, we now have a
CoglJournal object for each CoglFramebuffer. This means we now don't
have to flush the journal when switching/pushing/popping between
different framebuffers so for example a Clutter scene that involves some
ClutterEffect actors that transiently redirect to an FBO can still be
batched.

This also allows us to track state in the journal that relates to the
current frame of its associated framebuffer which we'll need for our
optimization for using the CPU to handle reading a single pixel back
from a framebuffer when we know the whole scene is currently comprised
of simple rectangles in a journal.
21 files changed:
clutter/cogl/cogl/cogl-atlas-texture.c
clutter/cogl/cogl/cogl-clip-state.c
clutter/cogl/cogl/cogl-context.c
clutter/cogl/cogl/cogl-context.h
clutter/cogl/cogl/cogl-framebuffer-private.h
clutter/cogl/cogl/cogl-framebuffer.c
clutter/cogl/cogl/cogl-journal-private.h
clutter/cogl/cogl/cogl-journal.c
clutter/cogl/cogl/cogl-pipeline-private.h
clutter/cogl/cogl/cogl-pipeline.c
clutter/cogl/cogl/cogl-primitives.c
clutter/cogl/cogl/cogl-sub-texture.c
clutter/cogl/cogl/cogl-texture-2d-sliced.c
clutter/cogl/cogl/cogl-texture-2d.c
clutter/cogl/cogl/cogl-texture-3d.c
clutter/cogl/cogl/cogl-texture-private.h
clutter/cogl/cogl/cogl-texture-rectangle.c
clutter/cogl/cogl/cogl-texture.c
clutter/cogl/cogl/cogl-vertex-attribute.c
clutter/cogl/cogl/cogl.c
clutter/cogl/cogl/cogl2-path.c