Under Windows it succeeds and returns a non-null render target. Under Proton it fails with error code 0x80004005 and returns null render target.
I've also written a small render target enumerator function which attempts to create render target for every single possible combination of params in the D2D1_RENDER_TARGET_PROPERTIES structure. When run under Windows, it returns 54 valid combinations (indeed, all are based on DXGI_FORMAT_B8G8R8A8_UNORM format). When run under Proton, there is no valid combinations at all (so a DC render target can not be created under Proton).
Your system information
Please describe your issue in as much detail as possible:
Consider this snippet from MSDN:
ID2D1DCRenderTarget* mRenderTarget= nullptr;D2D1_RENDER_TARGET_PROPERTIES renderTargetProps = D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_DEFAULT,D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,D2D1_ALPHA_MODE_IGNORE),0, 0,D2D1_RENDER_TARGET_USAGE_NONE,D2D1_FEATURE_LEVEL_DEFAULT);HRESULT hr = D2DFactory->CreateDCRenderTarget( &renderTargetProps , &mRenderTarget);Under Windows it succeeds and returns a non-null render target. Under Proton it fails with error code 0x80004005 and returns null render target.
I've also written a small render target enumerator function which attempts to create render target for every single possible combination of params in the D2D1_RENDER_TARGET_PROPERTIES structure. When run under Windows, it returns 54 valid combinations (indeed, all are based on DXGI_FORMAT_B8G8R8A8_UNORM format). When run under Proton, there is no valid combinations at all (so a DC render target can not be created under Proton).
My lshw output is here.