Changeset 21596 in vbox for trunk/src/VBox/Additions
- Timestamp:
- Jul 15, 2009 8:06:37 AM (15 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Display/dd.c
r21553 r21596 1055 1055 { 1056 1056 VBOXVHWACMD_SURF_LOCK * pBody = VBOXVHWACMD_BODY(pCmd, VBOXVHWACMD_SURF_LOCK); 1057 RECT tmpRect, *pRect; 1057 1058 memset(pBody, 0, sizeof(VBOXVHWACMD_SURF_LOCK)); 1058 1059 … … 1075 1076 { 1076 1077 pBody->u.in.flags |= VBOXVHWA_LOCK_DISCARDCONTENTS; 1078 // if(lpLock->bHasRect) 1079 // { 1080 // pRect = &lpLock->rArea; 1081 // } 1082 // else 1083 // { 1084 // tmpRect.left=0; 1085 // tmpRect.top=0; 1086 // tmpRect.right=lpSurfaceGlobal->wWidth-1; 1087 // tmpRect.bottom=lpSurfaceGlobal->wHeight-1; 1088 // pRect = &tmpRect; 1089 // } 1090 // 1091 // if(vboxVHWARegionIncluded(&pDesc->DirtyRegion, pRect)) 1092 // { 1093 // vboxVHWARegionClear(&pDesc->DirtyRegion); 1094 // } 1095 // } 1096 // else if(vboxVHWARegionInterse) 1077 1097 /* we're not interested in completion, just send the command */ 1078 1098 vboxVHWACommandSubmitAsynch(pDev, pCmd, vboxVHWAFreeCmdCompletion, NULL); -
trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h
r21553 r21596 97 97 typedef struct _VBOXVHWAREGION 98 98 { 99 RECT DirtyMem;99 RECT Rect; 100 100 bool bValid; 101 101 }VBOXVHWAREGION, *PVBOXVHWAREGION; -
trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c
r21553 r21596 943 943 { 944 944 DISPDBG((0, "VBoxDISP::vboxVHWAQueryHostInfo1: vboxVHWACommandCreate failed\n")); 945 return NULL;945 return rc; 946 946 } 947 947 … … 965 965 { 966 966 DISPDBG((0, "VBoxDISP::vboxVHWAQueryHostInfo1: vboxVHWACommandCreate failed\n")); 967 return NULL;967 return rc; 968 968 } 969 969 -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/Makefile.kmk
r19464 r21596 62 62 endif 63 63 64 ifdef VBOX_WITH_VIDEOHWACCEL 65 VBoxVideo_DEFS += VBOX_WITH_VIDEOHWACCEL 66 endif 67 64 68 include $(KBUILD_PATH)/subfooter.kmk 65 69 -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
r21219 r21596 74 74 InitData.HwFindAdapter = VBoxVideoFindAdapter; 75 75 InitData.HwInitialize = VBoxVideoInitialize; 76 #if defined(VBOX_WITH_HGSMI) && defined(VBOX_WITH_VIDEOHWACCEL) 77 InitData.HwInterrupt = VBoxVideoInterrupt; 78 #else 76 79 InitData.HwInterrupt = NULL; 80 #endif 77 81 InitData.HwStartIO = VBoxVideoStartIO; 78 82 InitData.HwResetHw = VBoxVideoResetHW; … … 1198 1202 VBoxBiosString, 1199 1203 sizeof(VBoxBiosString)); 1200 1204 #if defined(VBOX_WITH_HGSMI) && defined(VBOX_WITH_VIDEOHWACCEL) 1205 VIDEO_ACCESS_RANGE tmpRanges[1]; 1206 ULONG slot; 1207 1208 /* need to call VideoPortGetAccessRanges to ensure interrupt info in ConfigInfo gets set up */ 1209 VP_STATUS status = VideoPortGetAccessRanges(HwDeviceExtension, 1210 0, 1211 NULL, 1212 1, 1213 tmpRanges, 1214 NULL, 1215 NULL, 1216 (PULONG) &slot); 1217 Assert(status == NO_ERROR ); 1218 // Assert(AccessRanges[0].RangeStart.QuadPart == tmpRanges[0].RangeStart.QuadPart); 1219 // Assert(AccessRanges[0].RangeLength == tmpRanges[0].RangeLength); 1220 // Assert(AccessRanges[0].RangeInIoSpace == tmpRanges[0].RangeInIoSpace); 1221 // Assert(AccessRanges[0].RangeVisible == tmpRanges[0].RangeVisible); 1222 // Assert(AccessRanges[0].RangeShareable == tmpRanges[0].RangeShareable); 1223 // Assert(AccessRanges[0].RangePassive == tmpRanges[0].RangePassive); 1224 1225 /* no matter what we get with VideoPortGetAccessRanges, we assert the default ranges */ 1226 #endif 1201 1227 rc = VideoPortVerifyAccessRanges(HwDeviceExtension, 1, AccessRanges); 1202 1228 dprintf(("VBoxVideo::VBoxVideoFindAdapter: VideoPortVerifyAccessRanges returned 0x%x\n", rc)); … … 1289 1315 } 1290 1316 1317 #if defined(VBOX_WITH_HGSMI) && defined(VBOX_WITH_VIDEOHWACCEL) 1318 1319 BOOLEAN VBoxVideoInterrupt(PVOID HwDeviceExtension) 1320 { 1321 PDEVICE_EXTENSION devExt = (PDEVICE_EXTENSION)HwDeviceExtension; 1322 PDEVICE_EXTENSION PrimaryExtension = devExt->pPrimary; 1323 uint32_t flags = PrimaryExtension->u.primary.pHostFlags->u32HostFlags; 1324 if((flags & HGSMIHOSTFLAGS_IRQ) != 0) 1325 { 1326 if((flags & HGSMIHOSTFLAGS_COMMANDS_PENDING) != 0) 1327 { 1328 /* schedule a DPC*/ 1329 BOOLEAN bResult = VideoPortQueueDpc(PrimaryExtension, VBoxVideoHGSMIDpc, NULL); 1330 Assert(bResult); 1331 } 1332 /* clear the IRQ */ 1333 HGSMIClearIrq (PrimaryExtension); 1334 return TRUE; 1335 } 1336 return FALSE; 1337 } 1338 #endif 1339 1291 1340 /** 1292 1341 * VBoxVideoStartIO -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h
r20478 r21596 175 175 PVIDEO_REQUEST_PACKET RequestPacket); 176 176 177 #if defined(VBOX_WITH_HGSMI) && defined(VBOX_WITH_VIDEOHWACCEL) 178 BOOLEAN VBoxVideoInterrupt(PVOID HwDeviceExtension); 179 #endif 180 181 177 182 BOOLEAN VBoxVideoResetHW( 178 183 PVOID HwDeviceExtension, … … 265 270 int iDisplay, /* negative would mean this is a miniport handler */ 266 271 uint8_t u8Channel); 272 273 VOID VBoxVideoHGSMIDpc( 274 IN PVOID HwDeviceExtension, 275 IN PVOID Context 276 ); 277 278 void HGSMIClearIrq (PDEVICE_EXTENSION PrimaryExtension); 279 267 280 #endif /* VBOX_WITH_HGSMI */ 268 281 } /* extern "C" */
Note:
See TracChangeset
for help on using the changeset viewer.