On Fri, Feb 14, 2020 at 01:12:59AM +0100, Philippe Mathieu-Daudé wrote: > We are initializating incy inconditionally: > > if (y1 <= y2) { > incy = 1; > } else { > incy = -1; > } > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/display/artist.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/hw/display/artist.c b/hw/display/artist.c > index abacb0e27d..47f0e9f0bc 100644 > --- a/hw/display/artist.c > +++ b/hw/display/artist.c > @@ -557,91 +557,90 @@ static void fill_window(ARTISTState *s, int startx, int > starty, > static void draw_line(ARTISTState *s, int x1, int y1, int x2, int y2, > bool update_start, int skip_pix, int max_pix) > { > struct vram_buffer *buf; > uint8_t color = artist_get_color(s); > int dx, dy, t, e, x, y, incy, diago, horiz; > bool c1; > uint8_t *p; > > trace_artist_draw_line(x1, y1, x2, y2); > > if (update_start) { > s->vram_start = (x2 << 16) | y2; > } > > buf = &s->vram_buffer[ARTIST_BUFFER_AP]; > > c1 = false; > - incy = 1; > > if (x2 > x1) { > dx = x2 - x1; > } else { > dx = x1 - x2; > } > if (y2 > y1) { > dy = y2 - y1; > } else { > dy = y1 - y2; > } > if (dy > dx) { > t = y2; > y2 = x2; > x2 = t; > > t = y1; > y1 = x1; > x1 = t; > > t = dx; > dx = dy; > dy = t; > > c1 = true; > } > > if (x1 > x2) { > t = y2; > y2 = y1; > y1 = t; > > t = x1; > x1 = x2; > x2 = t; > } > > horiz = dy << 1; > diago = (dy - dx) << 1; > e = (dy << 1) - dx; > > if (y1 <= y2) { > incy = 1; > } else { > incy = -1; > } > x = x1; > y = y1; > > do { > if (c1) { > p = buf->data + x * s->width + y; > } else { > p = buf->data + y * s->width + x; > } > > if (skip_pix > 0) { > skip_pix--; > } else { > artist_rop8(s, p, color); > } > > if (e > 0) { > artist_invalidate_lines(buf, y, 1); > y += incy; > e += diago; > } else { > e += horiz; > } > x++; > } while (x <= x2 && (max_pix == -1 || --max_pix > 0)); > } > -- > 2.21.1 >
Acked-by: Sven Schnelle <sv...@stackframe.org>