 +{
 +    vout_display_t * vd = (vout_display_t *)object;
 +
-+    var_DelCallback(vd, "video-wallpaper", DesktopCallback, NULL);
-+    vlc_mutex_destroy(&vd->sys->lock);
-+
 +    Direct3D11Close(vd);
 +    CommonClean(vd);
 +    Direct3D11Destroy(vd);

+    // Render the quad
+    ID3D11DeviceContext_VSSetShader(sys->d3dcontext, sys->d3dvertexShader, NULL, 0);
+    ID3D11DeviceContext_PSSetShader(sys->d3dcontext, sys->d3dpixelShader, NULL, 0);
+    ID3D11DeviceContext_PSSetShaderResources(sys->d3dcontext, 0, 1, &sys->d3dResView);
+    ID3D11DeviceContext_PSSetSamplers(sys->d3dcontext, 0, 1, &sys->d3dSampState);
+    ID3D11DeviceContext_DrawIndexed(sys->d3dcontext, 6, 0, 0);
+    IDXGISwapChain_Present(sys->dxgi_swapChain, 0, 0);
+

+    sampDesc.MinLOD = 0;
+    sampDesc.MaxLOD = D3D11_FLOAT32_MAX;
+
+    hr = ID3D11Device_CreateSamplerState(sys->d3ddevice, &sampDesc, &sys->d3dsampState);
+
+    if (FAILED(hr)) {
+      if(sys->d3dtexture) ID3D11Texture2D_Release(sys->d3dtexture);
