static CoglTexture * make_texture (uint32_t color) { guchar *tex_data, *p; uint8_t r = MASK_RED (color); uint8_t g = MASK_GREEN (color); uint8_t b = MASK_BLUE (color); uint8_t a = MASK_ALPHA (color); CoglTexture *tex; tex_data = g_malloc (QUAD_WIDTH * QUAD_WIDTH * 4); for (p = tex_data + QUAD_WIDTH * QUAD_WIDTH * 4; p > tex_data;) { *(--p) = a; *(--p) = b; *(--p) = g; *(--p) = r; } /* Note: we don't use COGL_PIXEL_FORMAT_ANY for the internal format here * since we don't want to allow Cogl to premultiply our data. */ tex = test_utils_texture_new_from_data (test_ctx, QUAD_WIDTH, QUAD_WIDTH, TEST_UTILS_TEXTURE_NONE, COGL_PIXEL_FORMAT_RGBA_8888, COGL_PIXEL_FORMAT_RGBA_8888, QUAD_WIDTH * 4, tex_data); g_free (tex_data); return tex; }
static CoglTexture * create_dummy_texture (void) { /* Create a dummy 1x1 green texture to replace the color from the vertex shader */ static const uint8_t data[4] = { 0x00, 0xff, 0x00, 0xff }; return test_utils_texture_new_from_data (test_ctx, 1, 1, /* size */ TEST_UTILS_TEXTURE_NONE, COGL_PIXEL_FORMAT_RGB_888, 4, /* rowstride */ data); }