Brought the S3 accelerator code in line with the mainline, this means that initial value of 0 for src_dat is gone, but the warnings remain gone as well.
This commit is contained in:
@@ -1464,7 +1464,7 @@ uint8_t s3_accel_read(uint32_t addr, void *p)
|
|||||||
void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, s3_t *s3)
|
void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, s3_t *s3)
|
||||||
{
|
{
|
||||||
svga_t *svga = &s3->svga;
|
svga_t *svga = &s3->svga;
|
||||||
uint32_t src_dat = 0, dest_dat;
|
uint32_t src_dat, dest_dat;
|
||||||
int frgd_mix, bkgd_mix;
|
int frgd_mix, bkgd_mix;
|
||||||
int clip_t = s3->accel.multifunc[1] & 0xfff;
|
int clip_t = s3->accel.multifunc[1] & 0xfff;
|
||||||
int clip_l = s3->accel.multifunc[2] & 0xfff;
|
int clip_l = s3->accel.multifunc[2] & 0xfff;
|
||||||
@@ -1660,15 +1660,6 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat
|
|||||||
|
|
||||||
s3->accel.dest = s3->accel.cy * s3->width;
|
s3->accel.dest = s3->accel.cy * s3->width;
|
||||||
}
|
}
|
||||||
|
|
||||||
s3->status_9ae9 = 4; /*To avoid the spam from OS/2's drivers*/
|
|
||||||
|
|
||||||
if ((s3->accel.cmd & 0x100) && !cpu_input)
|
|
||||||
{
|
|
||||||
s3->status_9ae9 = 2; /*To avoid the spam from OS/2's drivers*/
|
|
||||||
return; /*Wait for data from CPU*/
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((s3->accel.cmd & 0x100) && !cpu_input) return; /*Wait for data from CPU*/
|
if ((s3->accel.cmd & 0x100) && !cpu_input) return; /*Wait for data from CPU*/
|
||||||
|
|
||||||
frgd_mix = (s3->accel.frgd_mix >> 5) & 3;
|
frgd_mix = (s3->accel.frgd_mix >> 5) & 3;
|
||||||
@@ -1765,9 +1756,9 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat
|
|||||||
if (s3->accel.dx >= clip_l && s3->accel.dx <= clip_r &&
|
if (s3->accel.dx >= clip_l && s3->accel.dx <= clip_r &&
|
||||||
s3->accel.dy >= clip_t && s3->accel.dy <= clip_b)
|
s3->accel.dy >= clip_t && s3->accel.dy <= clip_b)
|
||||||
{
|
{
|
||||||
READ(s3->accel.src + s3->accel.cx, dest_dat);
|
READ(s3->accel.src + s3->accel.cx, src_dat);
|
||||||
|
|
||||||
MIX
|
dest_dat = src_dat;
|
||||||
|
|
||||||
WRITE(s3->accel.dest + s3->accel.dx);
|
WRITE(s3->accel.dest + s3->accel.dx);
|
||||||
}
|
}
|
||||||
@@ -1791,6 +1782,8 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat
|
|||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user