This alleviates the need for an additional symbol.
}
}
-void r600_sw_blit(char *srcp, int src_pitch, char *dstp, int dst_pitch,
- int x, int y, int w, int h, int cpp)
-{
- char *src = srcp;
- char *dst = dstp;
-
- src += (y * src_pitch) + (x * cpp);
- dst += (y * dst_pitch) + (x * cpp);
-
- while (h--) {
- memcpy(dst, src, w * cpp);
- src += src_pitch;
- dst += dst_pitch;
- }
-}
-
(bo_legacy->offset - boml->fb_location);
/* FIXME: alignment, pitch, etc. */
- r600_sw_blit(src, 0, dst, 0, 0, 0, 1, 1, bo->size);
+ memcpy(dst, src, bo->size);
} else {
/* Copy to VRAM using a blit.
* All memory is 4K aligned. We're using 1024 pixels wide blits.
continue;
if (IS_R600_CLASS(rmesa->radeonScreen)) {
- int src_pitch = rmesa->radeonScreen->backPitch * rmesa->radeonScreen->cpp;
- int dst_pitch = rmesa->radeonScreen->frontPitch * rmesa->radeonScreen->cpp;
+ int cpp = rmesa->radeonScreen->cpp;
+ int src_pitch = rmesa->radeonScreen->backPitch * cpp;
+ int dst_pitch = rmesa->radeonScreen->frontPitch * cpp;
char *src = (char *)rmesa->radeonScreen->driScreen->pFB + rmesa->radeonScreen->backOffset;
char *dst = (char *)rmesa->radeonScreen->driScreen->pFB + rmesa->radeonScreen->frontOffset;
int j;
int w = pb[j].x2 - x;
int h = pb[j].y2 - y;
- r600_sw_blit(src, src_pitch, dst, dst_pitch, x, y, w, h, rmesa->radeonScreen->cpp);
+ src += (y * src_pitch) + (x * cpp);
+ dst += (y * dst_pitch) + (x * cpp);
+
+ while (h--) {
+ memcpy(dst, src, w * cpp);
+ src += src_pitch;
+ dst += dst_pitch;
+ }
}
}