* clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
* clutter/cogl/common/Makefile.am
(libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
headers for libclutter so that it will get installed.
* clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
* clutter/cogl/common/Makefile.am
(libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
headers for libclutter so that it will get installed.
* tests/conform/test-mesh-mutability.c (on_paint):
* tests/conform/test-mesh-interleved.c (on_paint):
* tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
instead of sleep
* tests/conform/test-mesh-mutability.c (queue_redraw):
* tests/conform/test-mesh-interleved.c (queue_redraw):
* tests/conform/test-mesh-contiguous.c (queue_redraw): Added
missing return statement
* clutter/cogl/cogl-mesh.h: Add a declaration for
cogl_mesh_submit
* clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
documentation to cogl-mesh.h to match the rest of the functions
* tests/conform/test-mesh-mutability.c (on_paint):
* tests/conform/test-mesh-interleved.c (on_paint):
* tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
instead of sleep
* tests/conform/test-mesh-mutability.c (queue_redraw):
* tests/conform/test-mesh-interleved.c (queue_redraw):
* tests/conform/test-mesh-contiguous.c (queue_redraw): Added
missing return statement
* clutter/cogl/cogl-mesh.h: Add a declaration for
cogl_mesh_submit
* clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
documentation to cogl-mesh.h to match the rest of the functions
* src/core/delete.c: remove deprecated g_strcasecmp.
* src/include/main.h: no actual deprecated call, but
a mention of one which was out of date.
svn path=/trunk/; revision=4018
* clutter/cogl/cogl-mesh.h
* clutter/cogl/cogl-types.h
* clutter/cogl/cogl.h.in
* clutter/cogl/common/Makefile.am
* clutter/cogl/common/cogl-mesh-private.h
* clutter/cogl/common/cogl-mesh.c
* clutter/cogl/gl/cogl-context.c
* clutter/cogl/gl/cogl-context.h
* clutter/cogl/gl/cogl-defines.h.in
* clutter/cogl/gl/cogl.c
* clutter/cogl/gles/cogl-context.c
* clutter/cogl/gles/cogl-context.h
* doc/reference/cogl/cogl-docs.sgml
* doc/reference/cogl/cogl-sections.txt:
The Mesh API provides a means for submitting an extensible number of
per vertex attributes to OpenGL in a way that doesn't require format
conversions and so that the data can be mapped into the GPU (in vertex
buffer objects) for - hopefully - fast re-use.
There are a number of things we can potentially use this API for, but
right now this just provides a foundation to build on. Please read
the extensive list of TODO items in cogl-mesh.c for examples.
Please refer to the cogl-mesh section in the reference manual for
documentation of the API.
* tests/conform/Makefile.am
* tests/conform/test-conform-main.c
* tests/conform/test-mesh-contiguous.c
* tests/conform/test-mesh-interleved.c
* tests/conform/test-mesh-mutability.c:
Privides basic coverage testing for the mesh API.
* clutter/cogl/cogl-mesh.h
* clutter/cogl/cogl-types.h
* clutter/cogl/cogl.h.in
* clutter/cogl/common/Makefile.am
* clutter/cogl/common/cogl-mesh-private.h
* clutter/cogl/common/cogl-mesh.c
* clutter/cogl/gl/cogl-context.c
* clutter/cogl/gl/cogl-context.h
* clutter/cogl/gl/cogl-defines.h.in
* clutter/cogl/gl/cogl.c
* clutter/cogl/gles/cogl-context.c
* clutter/cogl/gles/cogl-context.h
* doc/reference/cogl/cogl-docs.sgml
* doc/reference/cogl/cogl-sections.txt:
The Mesh API provides a means for submitting an extensible number of
per vertex attributes to OpenGL in a way that doesn't require format
conversions and so that the data can be mapped into the GPU (in vertex
buffer objects) for - hopefully - fast re-use.
There are a number of things we can potentially use this API for, but
right now this just provides a foundation to build on. Please read
the extensive list of TODO items in cogl-mesh.c for examples.
Please refer to the cogl-mesh section in the reference manual for
documentation of the API.
* tests/conform/Makefile.am
* tests/conform/test-conform-main.c
* tests/conform/test-mesh-contiguous.c
* tests/conform/test-mesh-interleved.c
* tests/conform/test-mesh-mutability.c:
Privides basic coverage testing for the mesh API.
* tests/conform/test-conform-common.c
* tests/conform/test-pick.c:
Instead of using clutter_stage_new /clutter_actor_destroy as a way to
avoid cascading side effects between unit tests, due to left over
actors, we now destroy all children of the default stage between
tests instead.
* tests/conform/wrapper.sh:
Adds a convenience note about how to run valgrind for an individual
unit test
* tests/conform/test-label-cache.c:
* tests/conform/test-pick.c:
* tests/conform/test-timeline.c: Show all the output messages only
if the test was done with the verbose flag turned on.
* tests/interactive/test-main.c: Do not use the (gpointer*) cast,
but use a temporary gpointer instead.
* tests/conform/wrapper.sh:
* tests/conform/test-conform-main.c:
* tests/conform/test-timeline.c:
Adds Neil's updates to test-timeline.c so it now works with the new unit
testing infrastructure.
Also some fixes to ensure wrappers get setup correctly for the timeline
tests.
* tests/interactive/test-main.c:
cast the symbol return pointer as (gpointer *) to avoid warning
* tests/conform/test-pick.c:
g_assert that the test passes, instead of using exit()
* test/conform/ADDING_NEW_TESTS:
Fixes a silly typo
* tests/conform/Makefile.am:
* tests/conform/test-actor-invariants.c:
* tests/conform/test-conform-main.c: Move the actor invariants
unit to the conform section of the test suite.
* tests/interactive/Makefile.am:
* tests/interactive/test-entry-auto.c:
* tests/interactive/test-invariants.c: Remove the entry-auto
and invariants test, since those two belong to the conform
section.
framework
* configure.ac:
* tests/*:
The tests have been reorganised into different categories: conformance,
interactive and micro benchmarks.
- conformance tests can be run as part of automated tests
- interactive tests are basically all the existing tests
- micro benchmarks focus on a single performance metric
I converted the timeline tests to conformance tests and also added some
tests from Neil Roberts and Ebassi.
Note: currently only the conformance tests use the glib test APIs,
though the micro benchmarks should too.
The other change is to make the unit tests link into monolithic binaries
which makes the build time for unit tests considerably faster. To deal
with the extra complexity this adds to debugging individual tests I
have added some sugar to the makefiles so all the tests can be run
directly via a symlink and when an individual test is run this way,
then a note is printed to the terminal explaining exactly how that test
may be debugged using GDB.
There is a convenience make rule: 'make test-report', that will run all
the conformance tests and hopefully even open the results in your web
browser. It skips some of the slower timeline tests, but you can run
those using 'make full-report'
Bug 1238 - [PATCH] Pack bitfields in ClutterTexturePrivate
* clutter/clutter-texture.c:
Using 'guint my_field : 1' for booleans to save space only
makes sense if you group all such fields together. Fix
grouping for ClutterTexturePrivate. Thanks to Owen Taylor for
patch.
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
* clutter/clutter-clone-texture.c:
* clutter/clutter-private.h:
* clutter/clutter-texture.c:
* clutter/x11/clutter-x11-texture-pixmap.c:
Attempt to lower overhead of updating TFP's (particularly mipmaped).
Compresses mipmap updates only for visible TFPs.
Avoiding updates for non visible TFP's whilst keeping visible
clones working ok.
Add (transfer none) annotations to mutter_window_get_texture()
and mutter_window_get_meta_window(), and while add doc comments,
actually add some docs as well.
The metacity core is now directly aware of override redirect windows.
- They get MetaWindows like normal windows, so mutter no longer need to special
case them. The net wm types applicable to override redirects are also
recognised.
- The original positioning/stacking semantics of metacity with respect to OR
windows are maintained, but now it's easier to synchronize the stacking
between the core and mutter.
- mutter no longer needs to manualy track UnmapNotify, MapNotify,
ReparentNotify, CreateNotify and DestroyNotify events; instead map, unmap,
add and remove events can now be consistently delivered via the
MetaCompositor callbacks.
src/core/screen.c src/core/screen-private.h src/include/screen.h:
Make MetaScreen a GObject.
src/core/workspace.c src/core/workspace-private.h src/include/workspace.h:
Make MetaWorkspace a GObject. Rename meta_workspace_free() to
meta_workspace_remove().
http://bugzilla.gnome.org/show_bug.cgi?id=561297
Make MetaWindow into a GObject so that it is accessible to
gobject-introspection (also allows for signals to be added.)
Renames:
meta_window_free() => meta_window_unmanage()
meta_window_get_type() => meta_window_get_window_type()
meta_window_get_type_atom() => meta_window_get_window_type_atom()
* clutter/clutter-main.c (_clutter_id_to_color): When using fuzzy
picking to pick a color for an actor, it would previously set the
fuzzy bit and then all but the most significant of the remaining
unused bits. This meant that for 16-bit displays it would end up
with a strange pattern for the unused bits like 1011 which could
cause it to round up. Now it just sets all but the most
significant of all of the unused bits giving a pattern like
0111. Thanks to Guy Zadickario for the patch.
* clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
(cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
of 1 + ~x with just -x which is equivalent and easier to
understand.
* clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
(cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
of 1 + ~x with just -x which is equivalent and easier to
understand.
When multiple events are generated from a single event (for example,
when a motion event generates an enter/leave pair), events accumulate
in the clutter event queue if the clutter event source is not running.
Add a simple event source that checks clutter_events_pending() and
dispatches events as necessary.