Changeset 52329 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video
- Timestamp:
- Aug 8, 2014 6:34:02 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 95454
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/VBox-4.3 merged: 95451
- Property svn:mergeinfo changed
-
trunk/src/VBox
- Property svn:mergeinfo changed
/branches/VBox-4.3/src/VBox merged: 95451
- Property svn:mergeinfo changed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk
r52136 r52329 132 132 $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer/pack_misc.c \ 133 133 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \ 134 $(VBOX_PATH_CROGL_GENFILES)/packer.c \ 134 135 wddm/VBoxMPCrUtil.cpp 135 136 VBoxVideoWddm_DEFS += VBOX_WITH_CROGL -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.cpp
r51770 r52329 28 28 # include <packer.h> 29 29 #endif 30 31 static NTSTATUS vboxVdmaCrCtlGetDefaultClientId(PVBOXMP_DEVEXT pDevExt, uint32_t *pu32ClienID); 30 32 31 33 NTSTATUS vboxVdmaPipeConstruct(PVBOXVDMAPIPE pPipe) … … 1114 1116 } 1115 1117 1118 static NTSTATUS vboxVdmaChromiumParameteriCRSubmit(PVBOXMP_DEVEXT pDevExt, 1119 VBOXMP_CRPACKER *pCrPacker, 1120 uint32_t u32CrConClientID, 1121 uint32_t target, uint32_t value) 1122 { 1123 Assert(pDevExt->fTexPresentEnabled); 1124 1125 uint32_t cbCommandBuffer = VBOXMP_CRCMD_HEADER_SIZE + VBOXMP_CRCMD_SIZE_CHROMIUMPARAMETERICR; 1126 uint32_t cCommands = 1; 1127 void *pvCommandBuffer = VBoxMpCrShgsmiTransportBufAlloc(&pDevExt->CrHgsmiTransport, cbCommandBuffer); 1128 if (!pvCommandBuffer) 1129 { 1130 WARN(("VBoxMpCrShgsmiTransportBufAlloc failed!")); 1131 return VERR_OUT_OF_RESOURCES; 1132 } 1133 1134 VBoxMpCrPackerTxBufferInit(pCrPacker, pvCommandBuffer, cbCommandBuffer, cCommands); 1135 1136 crPackChromiumParameteriCR(&pCrPacker->CrPacker, target, value); 1137 1138 NTSTATUS Status = vboxVdmaCrSubmitWriteAsync(pDevExt, pCrPacker, u32CrConClientID); 1139 if (!NT_SUCCESS(Status)) 1140 { 1141 WARN(("vboxVdmaCrSubmitWriteAsync failed Status 0x%x", Status)); 1142 VBoxMpCrShgsmiTransportBufFree(&pDevExt->CrHgsmiTransport, pvCommandBuffer); 1143 } 1144 1145 return Status; 1146 } 1147 1148 NTSTATUS VBoxVdmaChromiumParameteriCRSubmit(PVBOXMP_DEVEXT pDevExt, uint32_t target, uint32_t value) 1149 { 1150 uint32_t u32CrConClientID; 1151 NTSTATUS Status = vboxVdmaCrCtlGetDefaultClientId(pDevExt, &u32CrConClientID); 1152 if (!NT_SUCCESS(Status)) 1153 { 1154 WARN(("vboxVdmaCrCtlGetDefaultClientId failed Status 0x%x", Status)); 1155 return Status; 1156 } 1157 1158 VBOXMP_CRPACKER *pCrPacker = (VBOXMP_CRPACKER *)RTMemTmpAlloc(sizeof(*pCrPacker)); 1159 if (!pCrPacker) 1160 return STATUS_NO_MEMORY; 1161 VBoxMpCrPackerInit(pCrPacker); 1162 1163 Status = vboxVdmaChromiumParameteriCRSubmit(pDevExt, pCrPacker, u32CrConClientID, target, value); 1164 if (!NT_SUCCESS(Status)) 1165 WARN(("vboxVdmaChromiumParameteriCRSubmit failed Status 0x%x", Status)); 1166 1167 RTMemTmpFree(pCrPacker); 1168 return Status; 1169 } 1170 1116 1171 static NTSTATUS vboxVdmaCrCtlGetDefaultClientId(PVBOXMP_DEVEXT pDevExt, uint32_t *pu32ClienID) 1117 1172 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVdma.h
r51260 r52329 317 317 #ifdef VBOX_WITH_CROGL 318 318 NTSTATUS vboxVdmaTexPresentSetAlloc(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData); 319 NTSTATUS VBoxVdmaChromiumParameteriCRSubmit(PVBOXMP_DEVEXT pDevExt, uint32_t target, uint32_t value); 319 320 #endif 320 321 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r52226 r52329 2771 2771 /* wait for all current allocation-related ops are completed */ 2772 2772 vboxWddmAllocationCleanup(pDevExt, pAlloc); 2773 if (pAlloc->hSharedHandle && pAlloc->AllocData.hostID) 2774 VBoxVdmaChromiumParameteriCRSubmit(pDevExt, GL_PIN_TEXTURE_CLEAR_CR, pAlloc->AllocData.hostID); 2773 2775 vboxWddmAllocationDestroy(pAlloc); 2774 2776 }
Note:
See TracChangeset
for help on using the changeset viewer.