tests: avoid redundant setting of projection/modelview

This removes some redundant initializing of the modelview matrix since
we can assume the initial state is already the identity matrix. The
explicit initialization was only really necessary when running as a
clutter test because there the default matrix isn't the identity matrix.

Also some calls to cogl_orth to change the projection matrix have been
moved into the test entry point functions instead of calling this in the
paint function. Again the previous style probably came about because
with clutter we always had to re-assert the projection but now we are in
full control of the projection and can assume it doesn't need
re-asserting once set.

Acked-by: Luca Bruno <lucabru@src.gnome.org>
This commit is contained in:
Robert Bragg 2011-10-01 15:34:24 +01:00
parent 3d75bd35ba
commit 6c0dd4aab1
2 changed files with 9 additions and 36 deletions

View File

@ -18,8 +18,7 @@
typedef struct _TestState
{
int width;
int height;
int dummy;
} TestState;
typedef struct
@ -142,16 +141,6 @@ test_depth (TestState *state,
static void
paint (TestState *state)
{
CoglMatrix identity;
cogl_ortho (0, state->width, /* left, right */
state->height, 0, /* bottom, top */
-1, 100 /* z near, far */);
cogl_push_matrix ();
cogl_matrix_init_identity (&identity);
cogl_set_modelview_matrix (&identity);
/* Sanity check a few of the different depth test functions
* and that depth writing can be disabled... */
@ -270,8 +259,6 @@ paint (TestState *state)
&rect0_state, &rect1_state, NULL,
0x00ff00ff); /* expected */
}
cogl_pop_matrix ();
}
void
@ -281,8 +268,10 @@ test_cogl_depth_test (TestUtilsGTestFixture *fixture,
TestUtilsSharedState *shared_state = data;
TestState state;
state.width = cogl_framebuffer_get_width (shared_state->fb);
state.height = cogl_framebuffer_get_height (shared_state->fb);
cogl_ortho (0, cogl_framebuffer_get_width (shared_state->fb), /* left, right */
cogl_framebuffer_get_height (shared_state->fb), 0, /* bottom, top */
-1, 100 /* z near, far */);
paint (&state);
if (g_test_verbose ())

View File

@ -6,8 +6,7 @@
typedef struct _TestState
{
int width;
int height;
int dummy;
} TestState;
static void
@ -17,18 +16,10 @@ paint_legacy (TestState *state)
CoglColor color;
GError *error = NULL;
CoglHandle shader, program;
CoglMatrix identity;
cogl_ortho (0, state->width, /* left, right */
state->height, 0, /* bottom, top */
-1, 100 /* z near, far */);
cogl_color_init_from_4ub (&color, 0, 0, 0, 255);
cogl_clear (&color, COGL_BUFFER_BIT_COLOR);
cogl_matrix_init_identity (&identity);
cogl_set_modelview_matrix (&identity);
/* Set the primary vertex color as red */
cogl_color_set_from_4ub (&color, 0xff, 0x00, 0x00, 0xff);
cogl_material_set_color (material, &color);
@ -92,18 +83,10 @@ paint (TestState *state)
CoglColor color;
GError *error = NULL;
CoglHandle shader, program;
CoglMatrix identity;
cogl_ortho (0, state->width, /* left, right */
state->height, 0, /* bottom, top */
-1, 100 /* z near, far */);
cogl_color_init_from_4ub (&color, 0, 0, 0, 255);
cogl_clear (&color, COGL_BUFFER_BIT_COLOR);
cogl_matrix_init_identity (&identity);
cogl_set_modelview_matrix (&identity);
/* Set the primary vertex color as red */
cogl_color_set_from_4ub (&color, 0xff, 0x00, 0x00, 0xff);
cogl_pipeline_set_color (pipeline, &color);
@ -197,8 +180,9 @@ test_cogl_just_vertex_shader (TestUtilsGTestFixture *fixture,
TestUtilsSharedState *shared_state = data;
TestState state;
state.width = cogl_framebuffer_get_width (shared_state->fb);
state.height = cogl_framebuffer_get_height (shared_state->fb);
cogl_ortho (0, cogl_framebuffer_get_width (shared_state->fb), /* left, right */
cogl_framebuffer_get_height (shared_state->fb), 0, /* bottom, top */
-1, 100 /* z near, far */);
/* If shaders aren't supported then we can't run the test */
if (cogl_features_available (COGL_FEATURE_SHADERS_GLSL))