[ros-diffs] [greatlrd] 23141: fill the DDHALINFO almost to 100% now, we are mising the rops table. Almost all info that need be send back for frist call is done,

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Tue Jul 18 15:23:38 CEST 2006


Author: greatlrd
Date: Tue Jul 18 17:23:38 2006
New Revision: 23141

URL: http://svn.reactos.org/svn/reactos?rev=23141&view=rev
Log:
fill the DDHALINFO almost to 100% now, we are mising the rops table. 
Almost all info that need be send back for frist call is done, 

Modified:
    trunk/reactos/drivers/video/displays/framebuf/ddenable.c

Modified: trunk/reactos/drivers/video/displays/framebuf/ddenable.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/displays/framebuf/ddenable.c?rev=23141&r1=23140&r2=23141&view=diff
==============================================================================
--- trunk/reactos/drivers/video/displays/framebuf/ddenable.c (original)
+++ trunk/reactos/drivers/video/displays/framebuf/ddenable.c Tue Jul 18 17:23:38 2006
@@ -135,6 +135,7 @@
   OUT DWORD  *pdwFourCC)
 {	
 	PPDEV ppdev = (PPDEV)dhpdev;
+	int i;
 
 	if  (ppdev == NULL)
         return FALSE;
@@ -162,22 +163,34 @@
     */
 
 	if(!(pvmList && pdwFourCC)) 
-	{ 
+	{ 	
+
          RtlZeroMemory(pHalInfo, sizeof(DDHALINFO));
          pHalInfo->dwSize = sizeof(DDHALINFO);
 
 		 pHalInfo->ddCaps.dwCaps =  DDCAPS_BLT        | DDCAPS_BLTQUEUE | DDCAPS_BLTCOLORFILL | DDCAPS_READSCANLINE | 
 			                        DDCAPS_BLTSTRETCH | DDCAPS_COLORKEY | DDCAPS_CANBLTSYSMEM;
 
-         pHalInfo->ddCaps.ddsCaps.dwCaps =  DDSCAPS_OFFSCREENPLAIN | DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP;
-		 
+		 pHalInfo->ddCaps.dwFXCaps = DDFXCAPS_BLTSTRETCHY     | DDFXCAPS_BLTSTRETCHX        | 
+			                         DDFXCAPS_BLTSTRETCHYN    | DDFXCAPS_BLTSTRETCHXN       | 
+									 DDFXCAPS_BLTSHRINKY      | DDFXCAPS_BLTSHRINKX         |
+                                     DDFXCAPS_BLTSHRINKYN     | DDFXCAPS_BLTSHRINKXN        | 
+									 DDFXCAPS_BLTMIRRORUPDOWN | DDFXCAPS_BLTMIRRORLEFTRIGHT;
+
+		pHalInfo->ddCaps.dwCaps2 = DDCAPS2_NONLOCALVIDMEM | DDCAPS2_NONLOCALVIDMEMCAPS;
+
+		pHalInfo->ddCaps.ddsCaps.dwCaps =  DDSCAPS_OFFSCREENPLAIN | DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP;
+
+		pHalInfo->ddCaps.dwCKeyCaps = DDCKEYCAPS_SRCBLT | DDCKEYCAPS_SRCBLTCLRSPACE;
+	                    		 	       
+	    pHalInfo->ddCaps.dwSVBCaps = DDCAPS_BLT;
+	    pHalInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_LOCALVIDMEM | DDSCAPS_NONLOCALVIDMEM;
 
 		/* Calc how much memmory is left on the video cards memmory */
 		pHalInfo->ddCaps.dwVidMemTotal = (ppdev->MemHeight - ppdev->ScreenHeight) * ppdev->ScreenDelta;
 
         /* fill in some basic info that we need */
-        pHalInfo->vmiData.pvPrimary                 = ppdev->ScreenPtr;
-        pHalInfo->vmiData.fpPrimary                 = 0;
+        pHalInfo->vmiData.pvPrimary                 = ppdev->ScreenPtr;       
         pHalInfo->vmiData.dwDisplayWidth            = ppdev->ScreenWidth;
         pHalInfo->vmiData.dwDisplayHeight           = ppdev->ScreenHeight;
         pHalInfo->vmiData.lDisplayPitch             = ppdev->ScreenDelta;
@@ -187,15 +200,26 @@
 		pHalInfo->vmiData.ddpfDisplay.dwRBitMask    = ppdev->RedMask;
         pHalInfo->vmiData.ddpfDisplay.dwGBitMask    = ppdev->GreenMask;
         pHalInfo->vmiData.ddpfDisplay.dwBBitMask    = ppdev->BlueMask;	
-        pHalInfo->vmiData.dwOffscreenAlign = 4;
-        pHalInfo->vmiData.dwZBufferAlign = 4;
-        pHalInfo->vmiData.dwTextureAlign = 4;
+        pHalInfo->vmiData.dwOffscreenAlign = 4;             
 
 		if ( ppdev->BitsPerPixel == 8 ) 
 		{        
             pHalInfo->vmiData.ddpfDisplay.dwFlags |= DDPF_PALETTEINDEXED8;		
-        } 						
+        } 
+
+	    /*  FIXME 
+		    Config the rops we do not doing that yet
+		     for we need write the rops table 
+        */
+        for(i=0;i<DD_ROP_SPACE;i++ )
+        {
+           // pHALInfo->ddCaps.dwSVBRops[i] = rops[i];
+		  //  pHALInfo->ddCaps.dwRops[i] = rops[i];
+        }
 	}
+
+	/* Now fix the memory alloc and other stuff */ 
+	
 
 	return TRUE;
 }




More information about the Ros-diffs mailing list