int mman_GetWriteWatch (PVOID lpBaseAddress, SIZE_T dwRegionSize, PVOID *lpAddresses, PULONG_PTR lpdwCount, PULONG lpdwGranularity)
{
- return GetWriteWatch (0, lpBaseAddress, dwRegionSize, lpAddresses, lpdwCount, lpdwGranularity);
+ return GetWriteWatch (WRITE_WATCH_FLAG_RESET, lpBaseAddress, dwRegionSize, lpAddresses, lpdwCount, lpdwGranularity);
}
void mman_ResetWatch (PVOID lpBaseAddress, SIZE_T dwRegionSize)
{
bool picasso_flushpixels (uae_u8 *src, int off)
{
- int i;
uae_u8 *src_start;
uae_u8 *src_end;
int lock = 0;
if (full_refresh < 0) {
gwwcnt = (src_end - src_start) / gwwpagesize + 1;
full_refresh = 1;
- for (i = 0; i < gwwcnt; i++)
+ for (int i = 0; i < gwwcnt; i++)
gwwbuf[i] = src_start + i * gwwpagesize;
} else {
ULONG ps;
break;
}
- for (i = 0; i < gwwcnt; i++) {
+ for (int i = 0; i < gwwcnt; i++) {
uae_u8 *p = (uae_u8*)gwwbuf[i];
if (p >= src_start && p < src_end) {
if (y < pheight) {
int w = gwwpagesize / picasso96_state.BytesPerPixel;
x = (realoffset % picasso96_state.BytesPerRow) / picasso96_state.BytesPerPixel;
- if (x < pwidth)
+ if (x < pwidth) {
copyrow (src + off, dst, x, y, pwidth - x,
picasso96_state.BytesPerRow, picasso96_state.BytesPerPixel,
picasso_vidinfo.rowbytes, picasso_vidinfo.pixbytes,
picasso96_state.RGBFormat == host_mode, picasso_convert);
flushlines++;
+ }
w = (gwwpagesize - (picasso96_state.BytesPerRow - x * picasso96_state.BytesPerPixel)) / picasso96_state.BytesPerPixel;
if (y < miny)
miny = y;
if (lock)
gfx_unlock_picasso (true);
if (dst && gwwcnt) {
- if (doskip () && p96skipmode == 3) {
- ;
- } else {
- mman_ResetWatch (src_start, src_end - src_start);
- }
full_refresh = 0;
}
return lock != 0;