All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sven Schnelle <svens@stackframe.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: Helge Deller <deller@gmx.de>, Gerd Hoffmann <kraxel@redhat.com>,
	qemu-devel@nongnu.org, Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH 3/5] hw/display/artist: Delay some variables initialization
Date: Sat, 15 Feb 2020 10:12:11 +0100	[thread overview]
Message-ID: <20200215091211.GB18657@t470p.stackframe.org> (raw)
In-Reply-To: <20200214001303.12873-4-f4bug@amsat.org>

On Fri, Feb 14, 2020 at 01:13:00AM +0100, Philippe Mathieu-Daudé wrote:
> We want to have an early exit path. Delay some initializations
> before the variables are used.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/display/artist.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/display/artist.c b/hw/display/artist.c
> index 47f0e9f0bc..97c811b35e 100644
> --- a/hw/display/artist.c
> +++ b/hw/display/artist.c
> @@ -557,90 +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);
> +    uint8_t color;
>      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;
> -
>      if (x2 > x1) {
>          dx = x2 - x1;
>      } else {
>          dx = x1 - x2;
>      }
>      if (y2 > y1) {
>          dy = y2 - y1;
>      } else {
>          dy = y1 - y2;
>      }
> +
> +    c1 = false;
>      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;
> +    color = artist_get_color(s);
> +    buf = &s->vram_buffer[ARTIST_BUFFER_AP];
>  
>      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 <svens@stackframe.org>


  reply	other threads:[~2020-02-15  9:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14  0:12 [PATCH 0/5] hw/display/artist: Fix Coverity 1419388 & 1419389 Philippe Mathieu-Daudé
2020-02-14  0:12 ` [PATCH 1/5] hw/display/artist: Move trace event to draw_line() Philippe Mathieu-Daudé
2020-02-15  9:12   ` Sven Schnelle
2020-02-14  0:12 ` [PATCH 2/5] hw/display/artist: Remove pointless initialization Philippe Mathieu-Daudé
2020-02-15  9:12   ` Sven Schnelle
2020-02-14  0:13 ` [PATCH 3/5] hw/display/artist: Delay some variables initialization Philippe Mathieu-Daudé
2020-02-15  9:12   ` Sven Schnelle [this message]
2020-02-14  0:13 ` [RFC PATCH 4/5] hw/display/artist: Avoid drawing line when nothing to display Philippe Mathieu-Daudé
2020-02-14  0:13 ` [PATCH 5/5] hw/display/artist: Remove dead code (CID 1419388 & 1419389) Philippe Mathieu-Daudé
2020-02-15  9:11   ` Sven Schnelle
2020-02-16  1:45 ` [PATCH 0/5] hw/display/artist: Fix Coverity 1419388 & 1419389 Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200215091211.GB18657@t470p.stackframe.org \
    --to=svens@stackframe.org \
    --cc=deller@gmx.de \
    --cc=f4bug@amsat.org \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.