- /* For same-surface copies, the pipe->surface_copy path is clearly
- * superior, providing it is implemented. In other cases it's not
- * clear what the better path would be, and eventually we'd
- * probably want to gather timings and choose dynamically.
- */
- if (exa->pipe->surface_copy &&
- exa->copy.src == exa->copy.dst) {
-
- exa->copy.use_surface_copy = TRUE;
-
- exa->copy.src_surface =
- exa->scrn->get_tex_surface( exa->scrn,
- exa->copy.src->tex,
- 0, 0, 0,
- PIPE_BIND_BLIT_SOURCE);
-
- exa->copy.dst_surface =
- exa->scrn->get_tex_surface( exa->scrn,
- exa->copy.dst->tex,
- 0, 0, 0,
- PIPE_BIND_BLIT_DESTINATION );
- }
- else {
- exa->copy.use_surface_copy = FALSE;
-
- if (exa->copy.dst == exa->copy.src)
- exa->copy.src_texture = renderer_clone_texture( exa->renderer,
- exa->copy.src->tex );
- else
- pipe_resource_reference(&exa->copy.src_texture,
- exa->copy.src->tex);
-
- exa->copy.dst_surface =
- exa->scrn->get_tex_surface(exa->scrn,
- exa->copy.dst->tex,
- 0, 0, 0,
- PIPE_BIND_BLIT_DESTINATION);
-
-
- renderer_copy_prepare(exa->renderer,
- exa->copy.dst_surface,
- exa->copy.src_texture );
- }
-
-