From: Jason Wendt jason.wendt@gmail.com
--- dlls/d2d1/tests/d2d1.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index 7333f24eab9..e1d96ef64dd 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -5271,6 +5271,7 @@ static void test_alpha_mode(BOOL d3d11) static void test_shared_bitmap(BOOL d3d11) { IWICBitmap *wic_bitmap1, *wic_bitmap2; + IWICBitmapLock *wic_lock; ID2D1GdiInteropRenderTarget *interop; D2D1_RENDER_TARGET_PROPERTIES desc; D2D1_BITMAP_PROPERTIES bitmap_desc; @@ -5411,6 +5412,18 @@ static void test_shared_bitmap(BOOL d3d11) ID2D1Bitmap_Release(bitmap2); ID2D1RenderTarget_Release(rt2);
+ /* Software rendered render target for IWICBitmapLock */ + desc.type = D2D1_RENDER_TARGET_TYPE_SOFTWARE; + hr = ID2D1Factory_CreateDxgiSurfaceRenderTarget(factory1, surface2, &desc, &rt2); + ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); + hr = IWICBitmap_Lock(wic_bitmap1, NULL, WICBitmapLockRead, &wic_lock); + ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); + hr = ID2D1RenderTarget_CreateSharedBitmap(rt2, &IID_IWICBitmapLock, wic_bitmap1, NULL, &bitmap2); + ok(hr == D2DERR_UNSUPPORTED_OPERATION, "Got unexpected hr %#lx.\n", hr); + IWICBitmapLock_Release(wic_lock); + ID2D1Bitmap_Release(bitmap2); + ID2D1RenderTarget_Release(rt2); + /* Shared DXGI surface. */ desc.type = D2D1_RENDER_TARGET_TYPE_DEFAULT; desc.pixelFormat.format = DXGI_FORMAT_B8G8R8A8_UNORM;