Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/rasops In rasops_erasecols(), try word aligned case ...



details:   https://anonhg.NetBSD.org/src/rev/ce4bb754e1e8
branches:  trunk
changeset: 472833:ce4bb754e1e8
user:      ad <ad%NetBSD.org@localhost>
date:      Sun May 09 17:50:27 1999 +0000

description:
In rasops_erasecols(), try word aligned case before halfword aligned.

diffstat:

 sys/dev/rasops/rasops.c |  28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

diffs (56 lines):

diff -r 55e198d71eda -r ce4bb754e1e8 sys/dev/rasops/rasops.c
--- a/sys/dev/rasops/rasops.c   Sun May 09 16:07:56 1999 +0000
+++ b/sys/dev/rasops/rasops.c   Sun May 09 17:50:27 1999 +0000
@@ -1,4 +1,4 @@
-/*      $NetBSD: rasops.c,v 1.5 1999/04/29 02:49:40 ad Exp $ */
+/*      $NetBSD: rasops.c,v 1.6 1999/05/09 17:50:27 ad Exp $ */
 
 /*
  * Copyright (c) 1999 Andy Doran <ad%NetBSD.org@localhost>
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops.c,v 1.5 1999/04/29 02:49:40 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops.c,v 1.6 1999/05/09 17:50:27 ad Exp $");
 
 #include "rasops_glue.h"
 
@@ -842,7 +842,18 @@
        
        /* Don't bother using the full loop for <= 32 pels */
        if (num <= 32) {
-               if (((num | ri->ri_xscale) & 1) == 0) {
+               if (((num | ri->ri_xscale) & 3) == 0) {
+                       /* Word aligned blt */
+                       num >>= 2;
+
+                       while (height--) {
+                               dp = rp;
+                               DELTA(rp, ri->ri_stride, int32_t *);
+               
+                               for (cnt = num; cnt; cnt--)
+                                       *dp++ = clr;
+                       }
+               } else if (((num | ri->ri_xscale) & 1) == 0) {
                        /* 
                         * Halfword aligned blt. This is needed so the
                         * 15/16 bit ops can use this function. 
@@ -858,17 +869,6 @@
                                        DELTA(dp, 2, int32_t *);
                                }
                        }
-               } else if (((num | ri->ri_xscale) & 3) == 0) {
-                       /* Word aligned blt */
-                       num >>= 2;
-
-                       while (height--) {
-                               dp = rp;
-                               DELTA(rp, ri->ri_stride, int32_t *);
-               
-                               for (cnt = num; cnt; cnt--)
-                                       *dp++ = clr;
-                       }
                } else {
                        while (height--) {
                                dp = rp;



Home | Main Index | Thread Index | Old Index