void renderer_texture(struct xorg_renderer *r, int *pos, int width, int height, struct pipe_texture **textures, int num_textures, float *src_matrix, float *mask_matrix) { #if 0 if (src_matrix) { debug_printf("src_matrix = \n"); debug_printf("%f, %f, %f\n", src_matrix[0], src_matrix[1], src_matrix[2]); debug_printf("%f, %f, %f\n", src_matrix[3], src_matrix[4], src_matrix[5]); debug_printf("%f, %f, %f\n", src_matrix[6], src_matrix[7], src_matrix[8]); } if (mask_matrix) { debug_printf("mask_matrix = \n"); debug_printf("%f, %f, %f\n", mask_matrix[0], mask_matrix[1], mask_matrix[2]); debug_printf("%f, %f, %f\n", mask_matrix[3], mask_matrix[4], mask_matrix[5]); debug_printf("%f, %f, %f\n", mask_matrix[6], mask_matrix[7], mask_matrix[8]); } #endif switch(r->attrs_per_vertex) { case 2: renderer_draw_conditional(r, 4 * 8); add_vertex_data1(r, pos[0], pos[1], /* src */ pos[4], pos[5], /* dst */ width, height, textures[0], src_matrix); break; case 3: renderer_draw_conditional(r, 4 * 12); add_vertex_data2(r, pos[0], pos[1], /* src */ pos[2], pos[3], /* mask */ pos[4], pos[5], /* dst */ width, height, textures[0], textures[1], src_matrix, mask_matrix); break; default: debug_assert(!"Unsupported number of textures"); break; } }
void renderer_texture(struct xa_context *r, int *pos, int width, int height, const float *src_matrix, const float *mask_matrix) { struct pipe_sampler_view **sampler_view = r->bound_sampler_views; #if 0 if (src_matrix) { debug_printf("src_matrix = \n"); debug_printf("%f, %f, %f\n", src_matrix[0], src_matrix[1], src_matrix[2]); debug_printf("%f, %f, %f\n", src_matrix[3], src_matrix[4], src_matrix[5]); debug_printf("%f, %f, %f\n", src_matrix[6], src_matrix[7], src_matrix[8]); } if (mask_matrix) { debug_printf("mask_matrix = \n"); debug_printf("%f, %f, %f\n", mask_matrix[0], mask_matrix[1], mask_matrix[2]); debug_printf("%f, %f, %f\n", mask_matrix[3], mask_matrix[4], mask_matrix[5]); debug_printf("%f, %f, %f\n", mask_matrix[6], mask_matrix[7], mask_matrix[8]); } #endif switch(r->attrs_per_vertex) { case 2: renderer_draw_conditional(r, 4 * 8); add_vertex_data1(r, pos[0], pos[1], /* src */ pos[4], pos[5], /* dst */ width, height, sampler_view[0]->texture, src_matrix); break; case 3: renderer_draw_conditional(r, 4 * 12); add_vertex_data2(r, pos[0], pos[1], /* src */ pos[2], pos[3], /* mask */ pos[4], pos[5], /* dst */ width, height, sampler_view[0]->texture, sampler_view[1]->texture, src_matrix, mask_matrix); break; default: break; } }