Zero out desc with shorthand and add switch for m_targetFormat
diff --git a/renderer/d3d/pls_render_context_d3d_impl.cpp b/renderer/d3d/pls_render_context_d3d_impl.cpp
index 7f4027d..5db1608 100644
--- a/renderer/d3d/pls_render_context_d3d_impl.cpp
+++ b/renderer/d3d/pls_render_context_d3d_impl.cpp
@@ -716,11 +716,20 @@
 {
     if (m_targetRTV == nullptr && m_targetTexture != nullptr)
     {
-        D3D11_RENDER_TARGET_VIEW_DESC desc;
-        ZeroMemory(&desc, sizeof(desc));
-        desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+        D3D11_RENDER_TARGET_VIEW_DESC desc{};
         desc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
 
+        switch (m_targetFormat)
+        {
+        case DXGI_FORMAT_R8G8B8A8_TYPELESS:
+            desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+            break;
+
+        default:
+            desc.Format = m_targetFormat;
+            break;
+        }
+
         VERIFY_OK(m_gpu->CreateRenderTargetView(m_targetTexture.Get(),
                                                 &desc,
                                                 m_targetRTV.ReleaseAndGetAddressOf()));