Changeset 90255 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- Jul 20, 2021 10:54:39 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/Svga.cpp
r90188 r90255 26 26 #include <iprt/mem.h> 27 27 #include <iprt/memobj.h> 28 29 static NTSTATUS SvgaCmdBufSubmit(VBOXWDDM_EXT_VMSVGA *pSvga, uint32_t cbSubmit) 30 { 31 int rc = STATUS_SUCCESS; 32 SVGACBHeader *pHdr = (SVGACBHeader *)pSvga->pvR0Hdr; 33 34 pHdr->status = SVGA_CB_STATUS_NONE; 35 pHdr->errorOffset = 0; 36 pHdr->id = 0; 37 pHdr->flags = SVGA_CB_FLAG_NONE; 38 pHdr->length = cbSubmit; 39 pHdr->ptr.pa = pSvga->paCmd; 40 41 SVGARegWrite(pSvga, SVGA_REG_COMMAND_HIGH, (uint32_t)(pSvga->paHdr >> 32)); 42 SVGARegWrite(pSvga, SVGA_REG_COMMAND_LOW, (uint32_t)pSvga->paHdr | SVGA_CB_CONTEXT_0); 43 44 return rc; 45 } 28 46 29 47 static NTSTATUS SvgaCmdBufCtxInit(VBOXWDDM_EXT_VMSVGA *pSvga, bool enable) … … 1115 1133 NULL, 0, &cbSubmit); 1116 1134 1117 void *pvCmd = SvgaFifoReserve(pSvga, cbSubmit); 1135 void *pvCmd; 1136 1137 if (pSvga->u32Caps & SVGA_CAP_COMMAND_BUFFERS) 1138 { 1139 pvCmd = pSvga->pvR0Cmd; 1140 } 1141 else 1142 { 1143 pvCmd = SvgaFifoReserve(pSvga, cbSubmit); 1144 } 1145 1118 1146 if (pvCmd) 1119 1147 { … … 1121 1149 pvCmd, cbSubmit, NULL); 1122 1150 Assert(Status == STATUS_SUCCESS); 1123 SvgaFifoCommit(pSvga, cbSubmit); 1151 1152 if (pSvga->u32Caps & SVGA_CAP_COMMAND_BUFFERS) 1153 { 1154 SvgaCmdBufSubmit(pSvga, cbSubmit); 1155 } 1156 else 1157 { 1158 SvgaFifoCommit(pSvga, cbSubmit); 1159 } 1124 1160 } 1125 1161 else
Note:
See TracChangeset
for help on using the changeset viewer.