[WINESYNC] d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
This commit is contained in:
winesync 2021-01-05 13:22:40 +01:00 committed by Jérôme Gardou
parent 181ffe0779
commit 959c06f9b3
2 changed files with 27 additions and 0 deletions

View file

@ -437,6 +437,14 @@ static HRESULT d3dformat_to_dds_pixel_format(struct dds_pixel_format *pixel_form
}
}
/* Reuse dds_fourcc_to_d3dformat as D3DFORMAT and FOURCC are DWORD with same values */
if (dds_fourcc_to_d3dformat(d3dformat) != D3DFMT_UNKNOWN)
{
pixel_format->flags |= DDS_PF_FOURCC;
pixel_format->fourcc = d3dformat;
return D3D_OK;
}
WARN("Unknown pixel format %#x\n", d3dformat);
return E_NOTIMPL;
}

View file

@ -0,0 +1,19 @@
diff --git a/dll/directx/wine/d3dx9_36/surface.c b/dll/directx/wine/d3dx9_36/surface.c
index ebec81f..8e2f2a2 100644
--- a/dll/directx/wine/d3dx9_36/surface.c
+++ b/dll/directx/wine/d3dx9_36/surface.c
@@ -433,6 +433,14 @@ static HRESULT d3dformat_to_dds_pixel_format(struct dds_pixel_format *pixel_form
}
}
+ /* Reuse dds_fourcc_to_d3dformat as D3DFORMAT and FOURCC are DWORD with same values */
+ if (dds_fourcc_to_d3dformat(d3dformat) != D3DFMT_UNKNOWN)
+ {
+ pixel_format->flags |= DDS_PF_FOURCC;
+ pixel_format->fourcc = d3dformat;
+ return D3D_OK;
+ }
+
WARN("Unknown pixel format %#x\n", d3dformat);
return E_NOTIMPL;
}