mutter/clutter
Neil Roberts 9cba5b83bd cogl-path: Optimise paths that are just a rectangle
Drawing and clipping to paths is generally quite expensive because the
geometry has to be tessellated into triangles in a single VBO which
breaks up the journal batching. If we can detect when the path
contains just a single rectangle then we can instead divert to calling
cogl_rectangle which will take advantage of the journal, or by pushing
a rectangle clip which usually ends up just using the scissor.

This patch adds a boolean to each path to mark when it is a
rectangle. It gets cleared whenever a node is added or gets set to
TRUE whenever cogl2_path_rectangle is called. This doesn't try to
catch cases where a rectangle is composed by cogl_path_line_to and
cogl_path_move_to commands.
2011-03-09 18:28:48 +00:00
..
cally cally: Remove unused variables 2011-02-19 16:47:20 +00:00
cogl cogl-path: Optimise paths that are just a rectangle 2011-03-09 18:28:48 +00:00
egl Add private header for event-related API 2011-02-18 16:35:36 +00:00
evdev Add private header for event-related API 2011-02-18 16:35:36 +00:00
fruity cogl: Adds _cogl_swap_buffers_notify for clutter backends 2011-01-21 16:18:10 +00:00
glx Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
osx Add private header for event-related API 2011-02-18 16:35:36 +00:00
wayland Add private header for event-related API 2011-02-18 16:35:36 +00:00
win32 win32/event: Set the core pointer directly 2011-03-08 10:01:53 +00:00
x11 x11: Map Net/DndDragThreshold to ClutterSettings 2011-03-09 14:21:00 +00:00
clutter-action.c
clutter-action.h
clutter-actor-box.c
clutter-actor-meta-private.h Move ActorMeta private function in the private header 2011-02-18 16:53:31 +00:00
clutter-actor-meta.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-actor-meta.h Move ActorMeta private function in the private header 2011-02-18 16:53:31 +00:00
clutter-actor-private.h Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-actor.c clutter-actor: Fix test for avoiding calculating the paint volume 2011-03-07 15:35:05 +00:00
clutter-actor.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-align-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-align-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-alpha.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-alpha.h
clutter-animatable.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-animatable.h
clutter-animation.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-animation.h
clutter-animator.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-animator.h
clutter-backend-private.h backend: Move event translators to the base class 2011-02-09 13:29:30 +00:00
clutter-backend.c Assert if we call backend API without a valid backend 2011-02-18 17:51:01 +00:00
clutter-backend.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-behaviour-depth.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-depth.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-ellipse.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour-ellipse.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-opacity.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour-opacity.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-path.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour-path.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-rotate.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour-rotate.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-scale.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour-scale.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-behaviour.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-bin-layout.h
clutter-bind-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-bind-constraint.h bind-constraint: Add BIND_POSITION and BIND_SIZE 2011-01-25 11:14:37 +00:00
clutter-binding-pool.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-binding-pool.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-blur-effect.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-blur-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-box-layout.c
clutter-box-layout.h
clutter-box.c box: Implement the correct paint volume 2011-03-08 19:27:07 +00:00
clutter-box.h
clutter-cairo-texture.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-cairo-texture.h
clutter-child-meta.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-child-meta.h
clutter-click-action.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-click-action.h click-action: add API to get modifier type 2011-01-17 17:31:46 +00:00
clutter-clone.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-clone.h
clutter-color-static.h color: Add named, global colors 2010-11-11 13:14:23 +00:00
clutter-color.c color: Mark the new static color API as being new from 1.6 2011-01-17 15:22:48 +00:00
clutter-color.h color: Mark the new static color API as being new from 1.6 2011-01-17 15:22:48 +00:00
clutter-colorize-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-colorize-effect.h clutter-color-size-effect: Fix a minor typo in the docs 2011-02-16 14:11:59 +00:00
clutter-config.h.in build: Generate an instealled config header 2011-01-19 14:33:27 +00:00
clutter-constraint.c constraint: Queue a relayout on :enabled changes 2011-03-01 19:04:31 +00:00
clutter-constraint.h
clutter-container.c introspection: Override the GParamSpec type 2011-02-15 12:40:12 +00:00
clutter-container.h Merge remote-tracking branch 'nobled/wayland-fixes2' 2011-02-11 16:45:45 +00:00
clutter-debug.h Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-deform-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-deform-effect.h
clutter-deprecated.h
clutter-desaturate-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-desaturate-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-device-manager-private.h Clean up crossing event synthesis code 2011-01-28 18:19:49 +00:00
clutter-device-manager.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-device-manager.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-drag-action.c drag-action: Allow using settings for the drag threshold 2011-03-09 14:21:01 +00:00
clutter-drag-action.h drag-action: Allow using settings for the drag threshold 2011-03-09 14:21:01 +00:00
clutter-effect-private.h Move ClutterEffect private symbols to a private header 2011-02-18 16:00:39 +00:00
clutter-effect.c effect: Queue a redraw on :enabled changes 2011-03-01 19:04:31 +00:00
clutter-effect.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event-private.h event: Add setters for ClutterEvent members 2011-02-28 14:16:23 +00:00
clutter-event-translator.c event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event-translator.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event.c event: Return the CrossingEvent.device field 2011-03-08 10:05:57 +00:00
clutter-event.h event: Add setters for ClutterEvent members 2011-02-28 14:16:23 +00:00
clutter-feature.c
clutter-feature.h
clutter-fixed-layout.c
clutter-fixed-layout.h
clutter-fixed.c
clutter-fixed.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-flow-layout.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-flow-layout.h
clutter-frame-source.c
clutter-frame-source.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-group.c
clutter-group.h
clutter-id-pool.c Privatize all ClutterIdPool functions 2011-02-18 15:53:27 +00:00
clutter-id-pool.h Privatize all ClutterIdPool functions 2011-02-18 15:53:27 +00:00
clutter-input-device.c Add private header for event-related API 2011-02-18 16:35:36 +00:00
clutter-input-device.h device: Allow enabling/disabling non-master devices 2011-01-21 10:25:45 +00:00
clutter-interval.c interval: Remember to chain up to parent in finalize() 2010-10-25 00:31:36 +01:00
clutter-interval.h
clutter-keysyms-compat.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-keysyms-table.c Move the keysym ↔ Unicode table to .rodata 2011-02-28 14:16:24 +00:00
clutter-keysyms-update.pl
clutter-keysyms.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-layout-manager.c
clutter-layout-manager.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-layout-meta.c
clutter-layout-meta.h
clutter-list-model.c ClutterListModel: Implement get_n_rows for improved performance 2011-01-10 21:22:22 +00:00
clutter-list-model.h
clutter-main.c Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-main.h Add G_GNUC_WARN_UNUSED_RESULT to clutter_init and init_with_args 2011-02-28 14:10:05 +00:00
clutter-marshal.list event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-master-clock.c
clutter-master-clock.h
clutter-media.c
clutter-media.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-model-private.h
clutter-model.c model: Add support to define rows in ClutterScript 2011-01-21 20:44:17 +00:00
clutter-model.h model: Change the column argument type to gint for clutter_model_set_sort 2011-01-21 20:42:52 +00:00
clutter-offscreen-effect-private.h offscreen-effect: Add public accessor for target size 2011-02-28 14:34:36 +00:00
clutter-offscreen-effect.c clutter-offscreen-effect: Use 0,0 as the offset if no actor box 2011-03-04 17:04:02 +00:00
clutter-offscreen-effect.h offscreen-effect: Add public accessor for target size 2011-02-28 14:34:36 +00:00
clutter-page-turn-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-page-turn-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-paint-volume-private.h Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-paint-volume.c Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-path-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-path-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-path.c
clutter-path.h
clutter-private.h Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-profile.c
clutter-profile.h
clutter-rectangle.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-rectangle.h
clutter-score.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-score.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-script-parser.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-script-private.h
clutter-script.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-script.h
clutter-scriptable.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-scriptable.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-settings.c settings: Add dnd-drag-threshold property 2011-03-09 14:21:00 +00:00
clutter-settings.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-shader-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-shader-effect.h
clutter-shader-types.c
clutter-shader-types.h
clutter-shader.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-shader.h
clutter-snap-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-snap-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-stage-manager-private.h
clutter-stage-manager.c
clutter-stage-manager.h
clutter-stage-private.h Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-stage-window.c stage-window: Add ::redraw virtual function 2011-02-08 15:49:19 +00:00
clutter-stage-window.h stage-window: Add ::redraw virtual function 2011-02-08 15:49:19 +00:00
clutter-stage.c Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-stage.h stage: Add :accept-focus property and accessors 2010-12-30 12:44:13 +00:00
clutter-state.c docs: Add an ClutterState definition section 2011-03-09 13:22:08 +00:00
clutter-state.h
clutter-table-layout.c clutter: Remove unused variables 2011-02-19 16:47:20 +00:00
clutter-table-layout.h
clutter-text.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-text.h text: Add :font-description 2010-02-03 14:38:13 +00:00
clutter-texture.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-texture.h
clutter-timeline.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-timeline.h ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal 2011-01-24 11:52:47 +00:00
clutter-timeout-interval.c
clutter-timeout-interval.h
clutter-timeout-pool.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-timeout-pool.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-types.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-units.c docs: Documentation fixes 2010-12-09 13:59:08 +00:00
clutter-units.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-util.c util: optimize _clutter_util_fully_transform_vertices 2011-03-07 13:26:20 +00:00
clutter-util.h
clutter-version.h.in
clutter.h build: Generate an instealled config header 2011-01-19 14:33:27 +00:00
clutter.pc.in
Makefile.am Move the keysym ↔ Unicode table to .rodata 2011-02-28 14:16:24 +00:00