16897e0729
* 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.
92 lines
3.1 KiB
C
92 lines
3.1 KiB
C
#include <clutter/clutter.h>
|
|
|
|
#include <glib.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "test-conform-common.h"
|
|
|
|
|
|
/* This is a bit of sugar for adding new conformance tests:
|
|
*
|
|
* - It adds an extern function definition just to save maintaining a header
|
|
* that lists test entry points.
|
|
* - It sets up callbacks for a fixture, which lets us share initialization
|
|
* *code* between tests. (see test-conform-common.c)
|
|
* - It passes in a shared *data* pointer that is initialised once in main(),
|
|
* that gets passed to the fixture setup and test functions. (See the
|
|
* definition in test-conform-common.h)
|
|
*/
|
|
#define TEST_CONFORM_SIMPLE(NAMESPACE, FUNC) \
|
|
extern void FUNC (TestConformSimpleFixture *fixture, gconstpointer data); \
|
|
g_test_add ("/conform" NAMESPACE "/" #FUNC, \
|
|
TestConformSimpleFixture, \
|
|
shared_state, /* data argument for test */ \
|
|
test_conform_simple_fixture_setup, \
|
|
FUNC, \
|
|
test_conform_simple_fixture_teardown);
|
|
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
TestConformSharedState *shared_state = g_new0 (TestConformSharedState, 1);
|
|
|
|
g_test_init (&argc, &argv, NULL);
|
|
|
|
g_test_bug_base ("http://bugzilla.openedhand.com/show_bug.cgi?id=%s");
|
|
|
|
g_assert (clutter_init (shared_state->argc_addr, shared_state->argv_addr)
|
|
== CLUTTER_INIT_SUCCESS);
|
|
|
|
/* Initialise the state you need to share with everything.
|
|
*/
|
|
shared_state->argc_addr = &argc;
|
|
shared_state->argv_addr = &argv;
|
|
|
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline);
|
|
if (g_test_slow ())
|
|
{
|
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline_dup_frames);
|
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline_interpolate);
|
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline_rewind);
|
|
TEST_CONFORM_SIMPLE ("/timeline", test_timeline_smoothness);
|
|
}
|
|
|
|
TEST_CONFORM_SIMPLE ("/picking", test_pick);
|
|
|
|
TEST_CONFORM_SIMPLE ("/label", test_label_cache);
|
|
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_utf8_validation);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_empty);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_set_empty);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_set_text);
|
|
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_append_some);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_prepend_some);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_insert);
|
|
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_delete_chars);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_delete_text);
|
|
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_cursor);
|
|
TEST_CONFORM_SIMPLE ("/entry", test_entry_event);
|
|
|
|
TEST_CONFORM_SIMPLE ("/rectangle", test_rect_set_size);
|
|
TEST_CONFORM_SIMPLE ("/rectangle", test_rect_set_color);
|
|
|
|
TEST_CONFORM_SIMPLE ("/fixed", test_fixed_constants);
|
|
|
|
TEST_CONFORM_SIMPLE ("/invariants", test_initial_state);
|
|
TEST_CONFORM_SIMPLE ("/invatiants", test_realized);
|
|
TEST_CONFORM_SIMPLE ("/invariants", test_mapped);
|
|
TEST_CONFORM_SIMPLE ("/invariants", test_show_on_set_parent);
|
|
|
|
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_contiguous);
|
|
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_interleved);
|
|
TEST_CONFORM_SIMPLE ("/mesh", test_mesh_mutability);
|
|
|
|
g_test_run ();
|
|
return EXIT_SUCCESS;
|
|
}
|
|
|