From: Agustin Principe principeagustin@gmail.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d2d1/tests/d2d1.c | 4 +--- dlls/d2d1/wic_render_target.c | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index f29cfa6b89a..00beaf8f7a0 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -15285,9 +15285,7 @@ static void test_wic_target_format(BOOL d3d11) rt_desc.usage = D2D1_RENDER_TARGET_USAGE_NONE; rt_desc.minLevel = D2D1_FEATURE_LEVEL_DEFAULT; hr = ID2D1Factory_CreateWicBitmapRenderTarget(ctx.factory, wic_bitmap, &rt_desc, &rt); - todo_wine_if(IsEqualGUID(wic_target_formats[i].wic_format, &GUID_WICPixelFormat32bppPRGBA) - || IsEqualGUID(wic_target_formats[i].wic_format, &GUID_WICPixelFormat32bppRGB) - || FAILED(wic_target_formats[i].hr)) + todo_wine_if(FAILED(wic_target_formats[i].hr)) ok(hr == wic_target_formats[i].hr, "Got unexpected hr %#lx.\n", hr);
IWICBitmap_Release(wic_bitmap); diff --git a/dlls/d2d1/wic_render_target.c b/dlls/d2d1/wic_render_target.c index 858c187e3bc..ccbe194d291 100644 --- a/dlls/d2d1/wic_render_target.c +++ b/dlls/d2d1/wic_render_target.c @@ -187,6 +187,11 @@ HRESULT d2d_wic_render_target_init(struct d2d_wic_render_target *render_target, { texture_desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; } + else if (IsEqualGUID(&bitmap_format, &GUID_WICPixelFormat32bppPRGBA) + || IsEqualGUID(&bitmap_format, &GUID_WICPixelFormat32bppRGB)) + { + texture_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; + } else { WARN("Unsupported WIC bitmap format %s.\n", debugstr_guid(&bitmap_format)); @@ -197,6 +202,7 @@ HRESULT d2d_wic_render_target_init(struct d2d_wic_render_target *render_target, switch (texture_desc.Format) { case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM: render_target->bpp = 4; break;