S3 BitBlt commands don't update current X/Y registers at the end of a blit. Fixes some S3 graphics issues in OS/2.

This commit is contained in:
SarahW 2018-04-04 21:25:47 +01:00
commit 8186a884d7

View file

@ -1833,14 +1833,10 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat
s3->accel.sy--; s3->accel.sy--;
if (s3->accel.sy < 0) if (s3->accel.sy < 0)
{
s3->accel.cur_x = s3->accel.cx;
s3->accel.cur_y = s3->accel.cy;
return; return;
} }
} }
} }
}
else else
{ {
while (count-- && s3->accel.sy >= 0) while (count-- && s3->accel.sy >= 0)
@ -1926,14 +1922,10 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat
if (cpu_input/* && (s3->accel.multifunc[0xa] & 0xc0) == 0x80*/) return; if (cpu_input/* && (s3->accel.multifunc[0xa] & 0xc0) == 0x80*/) return;
if (s3->accel.sy < 0) if (s3->accel.sy < 0)
{
// s3->accel.cur_x = s3->accel.cx;
// s3->accel.cur_y = s3->accel.cy;
return; return;
} }
} }
} }
}
break; break;
case 7: /*Pattern fill - BitBlt but with source limited to 8x8*/ case 7: /*Pattern fill - BitBlt but with source limited to 8x8*/