]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Move horizontal doubling to common code.
authorToni Wilen <twilen@winuae.net>
Sat, 17 Oct 2020 17:00:11 +0000 (20:00 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 17 Oct 2020 17:00:11 +0000 (20:00 +0300)
pcem/vid_cl5429.cpp
pcem/vid_s3.cpp
pcem/vid_s3_virge.cpp
pcem/vid_svga.cpp

index 7ad082dc219e9a52005b9421593a67f6b68fb66d..ee0b61e88382dc083a42bb97f2422fc0ea9d565e 100644 (file)
@@ -1158,10 +1158,7 @@ void gd5429_recalctimings(svga_t *svga)
         svga->horizontal_linedbl = svga->dispend * 9 / 10 >= svga->hdisp;
 
         if (svga->seqregs[7] & 0x01) {
-            if (svga->horizontal_linedbl)
-                svga->render = svga_render_8bpp_lowres;
-            else
-                svga->render = svga_render_8bpp_highres;
+            svga->render = svga_render_8bpp_highres;
         }
         
         svga->ma_latch |= ((svga->crtc[0x1b] & 0x01) << 16) | (((svga->crtc[0x1b] >> 2) & 3) << 17);
@@ -1178,35 +1175,23 @@ void gd5429_recalctimings(svga_t *svga)
                         switch (gd5429->hidden_dac_reg & 0xf)
                         {
                                 case 0x0:
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_15bpp_lowres;
-                                else
-                                    svga->render = svga_render_15bpp_highres;
+                                svga->render = svga_render_15bpp_highres;
                                 svga->bpp = 15;
                                 break;
                                 case 0x1:
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_16bpp_lowres;
-                                else
-                                    svga->render = svga_render_16bpp_highres;
+                                svga->render = svga_render_16bpp_highres;
                                 svga->bpp = 16;
                                 break;
                                 case 0x5:
                                 if (gd5429->type >= CL_TYPE_GD5434 && (svga->seqregs[7] & 8))
                                 {
-                                        if (svga->horizontal_linedbl)
-                                            svga->render = svga_render_32bpp_lowres;
-                                        else
-                                            svga->render = svga_render_32bpp_highres;
+                                        svga->render = svga_render_32bpp_highres;
                                         svga->bpp = 32;
                                         svga->rowoffset *= 2;
                                 }
                                 else
                                 {
-                                        if (svga->horizontal_linedbl)
-                                            svga->render = svga_render_24bpp_lowres;
-                                        else
-                                            svga->render = svga_render_24bpp_highres;
+                                        svga->render = svga_render_24bpp_highres;
                                         svga->bpp = 24;
                                 }
                                 break;
@@ -1214,10 +1199,7 @@ void gd5429_recalctimings(svga_t *svga)
                 }
                 else
                 {
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_15bpp_lowres;
-                        else
-                            svga->render = svga_render_15bpp_highres;
+                        svga->render = svga_render_15bpp_highres;
                         svga->bpp = 15;
                 }
         }
index 030dc59a7371cd1ab781e977bfc25b51a447057f..ab43dcde75acc1f79ecf1be3920192735c8cb59f 100644 (file)
@@ -1259,37 +1259,22 @@ void s3_recalctimings(svga_t *svga)
                 switch (svga->bpp)
                 {
                         case 8: 
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_8bpp_lowres;
-                        else
-                            svga->render = svga_render_8bpp_highres;
+                        svga->render = svga_render_8bpp_highres;
                         break;
                         case 15: 
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_15bpp_lowres;
-                        else
-                            svga->render = svga_render_15bpp_highres;
+                        svga->render = svga_render_15bpp_highres;
                         svga->hdisp /= 2;
                         break;
                         case 16: 
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_16bpp_lowres;
-                        else
-                            svga->render = svga_render_16bpp_highres;
+                        svga->render = svga_render_16bpp_highres;
                         svga->hdisp /= 2;
                         break;
                         case 24: 
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_24bpp_lowres;
-                        else
-                            svga->render = svga_render_24bpp_highres;
+                        svga->render = svga_render_24bpp_highres;
                         svga->hdisp /= 3;
                         break;
                         case 32:
-                        if (svga->horizontal_linedbl)
-                            svga->render = svga_render_32bpp_lowres;
-                        else
-                            svga->render = svga_render_32bpp_highres;
+                        svga->render = svga_render_32bpp_highres;
                         if (s3->chip != S3_TRIO32 && s3->chip != S3_TRIO64)
                                 svga->hdisp /= 4;
                         break;
index b029b991562c9d9d8296227b25e6be4c65fddc35..f52aeb0bfb172e7afc5bc467798e3c1f1caeafc2 100644 (file)
@@ -607,34 +607,19 @@ static void s3_virge_recalctimings(svga_t *svga)
                         switch (svga->bpp)
                         {
                                 case 8: 
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_8bpp_lowres;
-                                else
-                                    svga->render = svga_render_8bpp_highres;
+                                svga->render = svga_render_8bpp_highres;
                                 break;
                                 case 15: 
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_15bpp_lowres;
-                                else
-                                    svga->render = svga_render_15bpp_highres;
+                                svga->render = svga_render_15bpp_highres;
                                 break;
                                 case 16: 
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_16bpp_lowres;
-                                else
-                                    svga->render = svga_render_16bpp_highres;
+                                svga->render = svga_render_16bpp_highres;
                                 break;
                                 case 24:
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_24bpp_lowres;
-                                else
-                                    svga->render = svga_render_24bpp_highres;
+                                svga->render = svga_render_24bpp_highres;
                                 break;
                                 case 32: 
-                                if (svga->horizontal_linedbl)
-                                    svga->render = svga_render_32bpp_lowres;
-                                else
-                                    svga->render = svga_render_32bpp_highres;
+                                svga->render = svga_render_32bpp_highres;
                                 break;
                         }
                 }
index 5de0adc3aac1deb5431b403a03b8608702b8f1ba..7db56ac632981e1a161fe0e27214225437b1ef40 100644 (file)
@@ -451,6 +451,19 @@ void svga_recalctimings(svga_t *svga)
         if (svga->vblankstart < svga->dispend)
                 svga->dispend = svga->vblankstart;
 
+        if (svga->horizontal_linedbl) {
+            if (svga->render == svga_render_8bpp_highres)
+                svga->render = svga_render_8bpp_lowres;
+            if (svga->render == svga_render_15bpp_highres)
+                svga->render = svga_render_15bpp_lowres;
+            if (svga->render == svga_render_16bpp_highres)
+                svga->render = svga_render_16bpp_lowres;
+            if (svga->render == svga_render_24bpp_highres)
+                svga->render = svga_render_24bpp_lowres;
+            if (svga->render == svga_render_32bpp_highres)
+                svga->render = svga_render_32bpp_lowres;
+        }
+
         crtcconst = svga->clock * svga->char_width;
 
         disptime  = svga->htotal;