void test_color_mask (void) { TestState state; int i; state.width = cogl_framebuffer_get_width (test_fb); state.height = cogl_framebuffer_get_height (test_fb); for (i = 0; i < NUM_FBOS; i++) { state.tex[i] = test_utils_texture_new_with_size (test_ctx, 128, 128, TEST_UTILS_TEXTURE_NO_ATLAS, COGL_PIXEL_FORMAT_RGB_888); state.fbo[i] = COGL_FRAMEBUFFER ( cogl_offscreen_new_to_texture (state.tex[i])); /* Clear the texture color bits */ cogl_framebuffer_clear4f (state.fbo[i], COGL_BUFFER_BIT_COLOR, 0, 0, 0, 1); cogl_framebuffer_set_color_mask (state.fbo[i], i == 0 ? COGL_COLOR_MASK_RED : i == 1 ? COGL_COLOR_MASK_GREEN : COGL_COLOR_MASK_BLUE); } paint (&state); if (cogl_test_verbose ()) g_print ("OK\n"); }
void test_cogl_color_mask (TestUtilsGTestFixture *fixture, void *data) { TestUtilsSharedState *shared_state = data; TestState state; CoglColor bg; int i; state.width = cogl_framebuffer_get_width (shared_state->fb); state.height = cogl_framebuffer_get_height (shared_state->fb); cogl_color_init_from_4ub (&bg, 0, 0, 0, 255); for (i = 0; i < NUM_FBOS; i++) { state.tex[i] = cogl_texture_new_with_size (128, 128, COGL_TEXTURE_NO_ATLAS, COGL_PIXEL_FORMAT_RGB_888); state.fbo[i] = cogl_offscreen_new_to_texture (state.tex[i]); /* Clear the texture color bits */ cogl_push_framebuffer (state.fbo[i]); cogl_clear (&bg, COGL_BUFFER_BIT_COLOR); cogl_pop_framebuffer (); cogl_framebuffer_set_color_mask (state.fbo[i], i == 0 ? COGL_COLOR_MASK_RED : i == 1 ? COGL_COLOR_MASK_GREEN : COGL_COLOR_MASK_BLUE); } paint (&state); if (g_test_verbose ()) g_print ("OK\n"); }