Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/gallium/GaDrvEnvWddm.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/gallium/GaDrvEnvWddm.cpp	(revision 82678)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/gallium/GaDrvEnvWddm.cpp	(revision 82679)
@@ -220,4 +220,7 @@
     ddiEscape.hDevice               = 0; // pThis->mWddmCallbacks.hDevice;
     ddiEscape.Flags.Value           = 0;
+    ddiEscape.Flags.HardwareAccess  = 1; // Required, otherwise graphics corruption can happen. No idea why.
+                                         // Eventually we probably have to create allocations for surfaces,
+                                         // as a WDDM driver should do. Then the Escape hack will be removed.
     ddiEscape.pPrivateDriverData    = pData;
     ddiEscape.PrivateDriverDataSize = cbAlloc;
@@ -253,5 +256,7 @@
     ddiEscape.hDevice               = 0; // pThis->mWddmCallbacks.hDevice;
     ddiEscape.Flags.Value           = 0;
-    ddiEscape.Flags.HardwareAccess  = 1; /// @todo Remove when the miniport has the ref counting for the host objects
+    ddiEscape.Flags.HardwareAccess  = 1; // Required, otherwise graphics corruption can happen. No idea why.
+                                         // Eventually we probably have to create allocations for surfaces,
+                                         // as a WDDM driver should do. Then the Escape hack will be removed.
     ddiEscape.pPrivateDriverData    = &data;
     ddiEscape.PrivateDriverDataSize = sizeof(data);
