 +    scd.SampleDesc.Count = 1;
 +    scd.SampleDesc.Quality = 0;
 +    scd.Windowed = TRUE;
-+    scd.BufferDesc.Width = fmt->i_visible_width * 2;
++    scd.BufferDesc.Width = fmt->i_visible_width;
 +    scd.BufferDesc.Height = fmt->i_visible_height;
 +    scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
 +

+
+    ID3D11DeviceContext_IASetPrimitiveTopology(sys->d3dcontext, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
+
+    sys->d3dregion_format = DXGI_FORMAT_R8G8B8A8_UNORM;
+
+    D3D11_TEXTURE2D_DESC texDesc;
+    memset(&texDesc, 0, sizeof(texDesc));
+    texDesc.Width = fmt->i_visible_width * 2;
+    texDesc.Height = fmt->i_visible_height;
+    texDesc.MipLevels = texDesc.ArraySize = 1;
+    texDesc.Format = sys->d3dregion_format;

+
+    picsys->surface  = sys->d3dtexture;
+    picsys->context  = sys->d3dcontext;
+
+    picture_resource_t resource = { .p_sys = picsys };
+    for (int i = 0; i < PICTURE_PLANE_MAX; i++)
