Index: /trunk/include/VBox/VBoxVideo.h
===================================================================
--- /trunk/include/VBox/VBoxVideo.h	(revision 50772)
+++ /trunk/include/VBox/VBoxVideo.h	(revision 50773)
@@ -1624,5 +1624,5 @@
         int8_t i8Result;
         uint8_t u8PrimaryID;
-    };
+    } u;
     /* DXGK DDI fence ID */
     volatile uint32_t u32FenceID;
@@ -1656,5 +1656,5 @@
         VBOXCMDVBVAOFFSET offVRAM;
         uint32_t id;
-    };
+    } u;
 } VBOXCMDVBVA_ALLOCINFO;
 
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 50772)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 50773)
@@ -3434,5 +3434,5 @@
             offVRAM += pBuildPagingBuffer->Transfer.TransferOffset + pBuildPagingBuffer->MultipassOffset;
 
-            pPaging->Alloc.offVRAM = offVRAM;
+            pPaging->Alloc.u.offVRAM = offVRAM;
             if (fIn)
                 pPaging->Hdr.u8Flags |= VBOXCMDVBVA_OPF_PAGING_TRANSFER_IN;
@@ -6020,10 +6020,10 @@
     {
         pHdr->u8Flags |= (fDst ? VBOXCMDVBVA_OPF_ALLOC_DSTID : VBOXCMDVBVA_OPF_ALLOC_SRCID);
-        pInfo->id = pAlloc->AllocData.hostID;
+        pInfo->u.id = pAlloc->AllocData.hostID;
         return false;
     }
 
     Assert(!pList->PhysicalAddress.HighPart);
-    pInfo->offVRAM = pList->PhysicalAddress.LowPart;
+    pInfo->u.offVRAM = pList->PhysicalAddress.LowPart;
     return true;
 }
@@ -6121,13 +6121,13 @@
             {
                 pBlt->Hdr.u8Flags |= VBOXCMDVBVA_OPF_ALLOC_SRCPRIMARY;
-                pBlt->Hdr.u8PrimaryID = pSrcAlloc->AllocData.SurfDesc.VidPnSourceId;
+                pBlt->Hdr.u.u8PrimaryID = pSrcAlloc->AllocData.SurfDesc.VidPnSourceId;
 
                 if (fDstPrimary)
                 {
                     pBlt->Hdr.u8Flags |= VBOXCMDVBVA_OPF_ALLOC_DSTPRIMARY;
-                    pBlt->alloc.id = pDstAlloc->AllocData.SurfDesc.VidPnSourceId;
+                    pBlt->alloc.u.id = pDstAlloc->AllocData.SurfDesc.VidPnSourceId;
                 }
                 else if (VBoxCVDdiFillAllocInfo(pHdr, &pBlt->alloc, pDstAlloc, pDst, true))
-                    u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_PRIMARY, alloc.offVRAM);
+                    u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_PRIMARY, alloc.u.offVRAM);
             }
             else
@@ -6135,8 +6135,8 @@
                 Assert(fDstPrimary);
                 pBlt->Hdr.u8Flags |= VBOXCMDVBVA_OPF_ALLOC_DSTPRIMARY;
-                pBlt->Hdr.u8PrimaryID = pDstAlloc->AllocData.SurfDesc.VidPnSourceId;
+                pBlt->Hdr.u.u8PrimaryID = pDstAlloc->AllocData.SurfDesc.VidPnSourceId;
 
                 if (VBoxCVDdiFillAllocInfo(pHdr, &pBlt->alloc, pSrcAlloc, pSrc, false))
-                    u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_PRIMARY, alloc.offVRAM);
+                    u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_PRIMARY, alloc.u.offVRAM);
             }
 
@@ -6159,8 +6159,8 @@
 
             if (VBoxCVDdiFillAllocInfo(pHdr, &pBlt->src, pSrcAlloc, pSrc, false))
-                u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID, src.offVRAM);
+                u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID, src.u.offVRAM);
 
             if (VBoxCVDdiFillAllocInfo(pHdr, &pBlt->dst, pDstAlloc, pDst, true))
-                u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID, dst.offVRAM);
+                u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_BLT_OFFPRIMSZFMT_OR_ID, dst.u.offVRAM);
 
             pBlt->Pos.x = (int16_t)(pPresent->DstRect.left - pPresent->SrcRect.left);
@@ -6200,5 +6200,5 @@
 
         if (VBoxCVDdiFillAllocInfo(pHdr, &pFlip->src, pSrcAlloc, pSrc, false))
-            u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_FLIP, src.offVRAM);
+            u32SrcPatch = RT_OFFSETOF(VBOXCMDVBVA_FLIP, src.u.offVRAM);
     }
     else if (pPresent->Flags.ColorFill)
@@ -6229,5 +6229,5 @@
 
         if (VBoxCVDdiFillAllocInfo(pHdr, &pCFill->dst, pDstAlloc, pDst, true))
-            u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_CLRFILL, dst.offVRAM);
+            u32DstPatch = RT_OFFSETOF(VBOXCMDVBVA_CLRFILL, dst.u.offVRAM);
 
         paRects = pCFill->aRects;
Index: /trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp	(revision 50772)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp	(revision 50773)
@@ -1180,5 +1180,5 @@
     {
         case VBOXCMDVBVA_OPTYPE_NOPCMD:
-            pCmd->i8Result = 0;
+            pCmd->u.i8Result = 0;
             return VINF_EOF;
         default:
@@ -1214,5 +1214,5 @@
         default:
             WARN(("unsupported command\n"));
-            pCmd->i8Result = -1;
+            pCmd->u.i8Result = -1;
     }
     return VINF_SUCCESS;
Index: /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
===================================================================
--- /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c	(revision 50772)
+++ /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c	(revision 50773)
@@ -3238,10 +3238,10 @@
             {
             /* success */
-                pCmd->i8Result = 0;
+                pCmd->u.i8Result = 0;
             }
             else
             {
                 crWarning("crVBoxServerCmdVbvaCrCmdProcess failed, rc %d", rc);
-                pCmd->i8Result = -1;
+                pCmd->u.i8Result = -1;
             }
             break;
@@ -3254,5 +3254,5 @@
         default:
             WARN(("unsupported command"));
-            pCmd->i8Result = -1;
+            pCmd->u.i8Result = -1;
     }
     return VINF_SUCCESS;
Index: /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp
===================================================================
--- /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp	(revision 50772)
+++ /trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp	(revision 50773)
@@ -248,6 +248,6 @@
     Assert(srcX >= 0);
     Assert(srcY >= 0);
-    Assert(srcX < pSrc->width);
-    Assert(srcY < pSrc->height);
+    Assert(srcX < (int32_t)pSrc->width);
+    Assert(srcY < (int32_t)pSrc->height);
 
     int32_t dstX = pCopyRect->xLeft - pDstDataPoint->x;
@@ -259,5 +259,5 @@
     uint8_t *pu8Dst = ((uint8_t*)pDst->pvData) + pDst->pitch * dstY + dstX * 4;
 
-    crFbBltMem(pu8Src, fSrcInvert ? -pSrc->pitch : pSrc->pitch, pu8Dst, pDst->pitch, pCopyRect->xRight - pCopyRect->xLeft, pCopyRect->yBottom - pCopyRect->yTop);
+    crFbBltMem(pu8Src, fSrcInvert ? -((int32_t)pSrc->pitch) : (int32_t)pSrc->pitch, pu8Dst, pDst->pitch, pCopyRect->xRight - pCopyRect->xLeft, pCopyRect->yBottom - pCopyRect->yTop);
 }
 
@@ -268,6 +268,6 @@
     Assert(srcX >= 0);
     Assert(srcY >= 0);
-    Assert(srcX < pSrc->width);
-    Assert(srcY < pSrc->height);
+    Assert(srcX < (int32_t)pSrc->width);
+    Assert(srcY < (int32_t)pSrc->height);
 
     RTPOINT ScaledDtsDataPoint;
@@ -316,5 +316,5 @@
                         ScaledDstHeight,
                         pu8Src,
-                        fSrcInvert ? -pSrc->pitch : pSrc->pitch,
+                        fSrcInvert ? -((int32_t)pSrc->pitch) : (int32_t)pSrc->pitch,
                         pCopyRect->xRight - pCopyRect->xLeft, pCopyRect->yBottom - pCopyRect->yTop);
 }
@@ -3825,5 +3825,5 @@
 static HCR_FRAMEBUFFER crPMgrFbGetNextEnabled(uint32_t i)
 {
-    for (;i < cr_server.screenCount; ++i)
+    for (;i < (uint32_t)cr_server.screenCount; ++i)
     {
         HCR_FRAMEBUFFER hFb = CrPMgrFbGetEnabled(i);
@@ -3837,5 +3837,5 @@
 static HCR_FRAMEBUFFER crPMgrFbGetNextInitialized(uint32_t i)
 {
-    for (;i < cr_server.screenCount; ++i)
+    for (;i < (uint32_t)cr_server.screenCount; ++i)
     {
         HCR_FRAMEBUFFER hFb = CrPMgrFbGetInitialized(i);
@@ -4185,5 +4185,5 @@
 void CrPMgrHlpGlblUpdateEnd(CR_FBMAP *pMap)
 {
-    for (uint32_t i = 0; i < cr_server.screenCount; ++i)
+    for (uint32_t i = 0; i < (uint32_t)cr_server.screenCount; ++i)
     {
         if (!CrFBmIsSet(pMap, i))
@@ -4654,10 +4654,10 @@
     {
         VBOXCMDVBVA_BLT_PRIMARY *pBlt = (VBOXCMDVBVA_BLT_PRIMARY*)pCmd;
-        uint8_t u8PrimaryID = pBlt->Hdr.u8PrimaryID;
+        uint8_t u8PrimaryID = pBlt->Hdr.u.u8PrimaryID;
         HCR_FRAMEBUFFER hFb = CrPMgrFbGetEnabled(u8PrimaryID);
         if (!hFb)
         {
             WARN(("request to present on disabled framebuffer, ignore"));
-            pCmd->i8Result = -1;
+            pCmd->u.i8Result = -1;
             return VINF_SUCCESS;
         }
@@ -4677,5 +4677,5 @@
                 WARN(("RTMemAlloc failed!"));
                 g_CrPresenter.cbTmpBuf = 0;
-                pCmd->i8Result = -1;
+                pCmd->u.i8Result = -1;
                 return VINF_SUCCESS;
             }
@@ -4697,9 +4697,9 @@
                 {
                     /* TexPresent */
-                    texId = pBlt->alloc.id;
+                    texId = pBlt->alloc.u.id;
                 }
                 else
                 {
-                    VBOXCMDVBVAOFFSET offVRAM = pBlt->alloc.offVRAM;
+                    VBOXCMDVBVAOFFSET offVRAM = pBlt->alloc.u.offVRAM;
                     const VBVAINFOSCREEN *pScreen = CrFbGetScreenInfo(hFb);
                     uint32_t cbScreen = pScreen->u32LineSize * pScreen->u32Height;
@@ -4708,5 +4708,5 @@
                     {
                         WARN(("invalid param"));
-                        pCmd->i8Result = -1;
+                        pCmd->u.i8Result = -1;
                         return VINF_SUCCESS;
                     }
@@ -4724,5 +4724,5 @@
                 /* blit from one primary to another primary, wow */
                 WARN(("not implemented"));
-                pCmd->i8Result = -1;
+                pCmd->u.i8Result = -1;
                 return VINF_SUCCESS;
             }
@@ -4734,12 +4734,12 @@
             if (u8Flags & VBOXCMDVBVA_OPF_ALLOC_DSTID)
             {
-                uint32_t texId = pBlt->alloc.id;
+                uint32_t texId = pBlt->alloc.u.id;
                 WARN(("not implemented"));
-                pCmd->i8Result = -1;
+                pCmd->u.i8Result = -1;
                 return VINF_SUCCESS;
             }
             else
             {
-                VBOXCMDVBVAOFFSET offVRAM = pBlt->alloc.offVRAM;
+                VBOXCMDVBVAOFFSET offVRAM = pBlt->alloc.u.offVRAM;
                 const VBVAINFOSCREEN *pScreen = CrFbGetScreenInfo(hFb);
                 uint32_t cbScreen = pScreen->u32LineSize * pScreen->u32Height;
@@ -4748,5 +4748,5 @@
                 {
                     WARN(("invalid param"));
-                    pCmd->i8Result = -1;
+                    pCmd->u.i8Result = -1;
                     return VINF_SUCCESS;
                 }
@@ -4770,5 +4770,5 @@
                 {
                     WARN(("CrFbBltGetContents failed %d", rc));
-                    pCmd->i8Result = -1;
+                    pCmd->u.i8Result = -1;
                     return VINF_SUCCESS;
                 }
@@ -4779,9 +4779,9 @@
     {
         WARN(("not implemented"));
-        pCmd->i8Result = -1;
-        return VINF_SUCCESS;
-    }
-
-    pCmd->i8Result = 0;
+        pCmd->u.i8Result = -1;
+        return VINF_SUCCESS;
+    }
+
+    pCmd->u.i8Result = 0;
     return VINF_SUCCESS;
 }
