mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-14 13:20:28 +01:00
nv40: respect do_flip in surface_copy()
This commit is contained in:
parent
9e1f7b2c57
commit
ce64778ed1
1 changed files with 14 additions and 2 deletions
|
|
@ -42,8 +42,20 @@ nv40_surface_copy(struct pipe_context *pipe, unsigned do_flip,
|
|||
struct nv40_context *nv40 = nv40_context(pipe);
|
||||
struct nouveau_winsys *nvws = nv40->nvws;
|
||||
|
||||
nvws->surface_copy(nvws, dest, destx, desty, src, srcx, srcy,
|
||||
width, height);
|
||||
if (do_flip) {
|
||||
/*XXX: This dodgyness will do for now for correctness. But,
|
||||
* need to investigate whether the 2D engine is able to
|
||||
* manage a flip (perhaps SIFM?), if not, use the 3D engine
|
||||
*/
|
||||
desty += height;
|
||||
while (height--) {
|
||||
nvws->surface_copy(nvws, dest, destx, desty--, src,
|
||||
srcx, srcy++, width, 1);
|
||||
}
|
||||
} else {
|
||||
nvws->surface_copy(nvws, dest, destx, desty, src, srcx, srcy,
|
||||
width, height);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue