changeset 16370:b2e4d3f3c0af

simplification
author faust3
date Sat, 03 Sep 2005 10:06:08 +0000
parents 8ea2e7ab3106
children f3e6984c415c
files vidix/drivers/nvidia_vid.c
diffstat 1 files changed, 4 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/vidix/drivers/nvidia_vid.c	Sat Sep 03 08:58:34 2005 +0000
+++ b/vidix/drivers/nvidia_vid.c	Sat Sep 03 10:06:08 2005 +0000
@@ -484,6 +484,7 @@
   if(bpp==3)bpp=4;
   if((bpp == 2) && (info->chip.PVIDEO[0x00000600/4] & 0x00001000) == 0x0)info->depth=15;           
   else info->depth = bpp*8;
+  info->bps=bpp;
   /*get screen width*/
   VID_WR08(info->chip.PCIO, 0x03D4, 0x1);
   info->screen_x = (1 + VID_RD08(info->chip.PCIO, 0x3D5)) * 8;
@@ -508,7 +509,6 @@
     uint32_t value;
 	int x=info->wx, y=info->wy;
 	int lwidth=info->d_width, lheight=info->d_height;
-	int bps;
 	int i;
 
     size = info->buffer_size;
@@ -518,34 +518,13 @@
     nv_getscreenproperties(info);
 
     if(info->depth){
-//        bps = info->screen_x * ((info->depth+1)/8);
     	/* get pan offset of the physical screen */
      	pan = rivatv_overlay_pan (info);
     	/* adjust window position depending on the pan offset */
-        bps = 0;
-	info->chip.lock (&info->chip, 0);
-	for (i = 0; (i < 1024) && (bps == 0); i++)
-	{
-		if (info->chip.arch != NV_ARCH_03)
-			bps = info->chip.PGRAPH[0x00000670/4];
-		else
-			bps = info->chip.PGRAPH[0x00000650/4];
-	}
-	if (bps == 0)
+    	if (info->bps != 0)
 	{
-		fprintf(stderr, "[nvidia_vid] reading bps returned 0!!!\n");
-		if (info->bps != 0)
-			bps = info->bps;
-	}
-	else
-	{
-		info->bps = bps;
-	}
-
-    	if (bps != 0)
-	{
-	x = info->wx - (pan % bps) * 8 / info->depth;
-    	y = info->wy - (pan / bps);
+	  x = info->wx - (pan % info->bps) * 8 / info->depth;
+    	  y = info->wy - (pan / info->bps);
 	}
     } else {
             // we can't adjust the window position correctly in textmode