IDXGISurface1
GetDC/ReleaseDC
で作成されたテクスチャのスレッドセーフルールは何D3D11_RESOURCE_MISC_GDI_COMPATIBLE
ですか?
暗黙的な同期によるデータの競合やブロッキングなしに、別のスレッドとの間で、および別のスレッド上でID3D11Device
対話ID3D11DeviceContext
できGetDC
ますか?または、GPUアイドリングがGDIレンダリングを実行するスレッド用に別のスレッドを作成し、それを「メイン」にコピーして戻すことをReleaseDC
回避するためですか?D3D11Device
D3D11Device
D3D11_RESOURCE_MISC_SHARED_KEYED_MUTEX
つまり、次は有効ですか?
thread 1:
D3D11Device::CreateTexture2D // Create texture 1
IDXGISurface1::GetDC // Get DC for texture 1
... // Draw to texture1 using GDI
IDXGISurtface1::ReleaseDC // Release DC for texture1
thread 2:
// Is this valid if thread 1 is drawing using GDI?
D3D11DeviceContext::OMSetRenderTargets
D3D11DeviceContext::Draw // Draw texture2.