我正在使用CreateShaderHandle
创建一个IDXGIResource1
键控共享资源的句柄。目标是在一个线程中获取此资源,并将其用于另一个线程。
现在,我在同一适配器上的两个线程上创建一个D3D11设备
hr = D3D11CreateDevice(dxgi_adapter, ...);
并且共享这个句柄是可行的。
如果在使用者线程上,我在另一个适配器上创建设备,它似乎不起作用。
所以我的问题是: D3D11中的CreateShaderHandle
句柄只能在同一适配器上工作吗?
发布于 2018-05-28 19:22:24
关于跨设备共享和与DXGI键控互斥锁的使用相关的MSDN文章没有明确地给出答案,但是MSDN仍然在IDXGIFactory2::GetSharedResourceAdapterLuid
中给出了答案。
您不能在适配器之间共享资源。因此,您不能在创建资源的适配器以外的适配器上打开共享资源。... ...before打开共享资源以确保在适当的适配器上创建了该资源。
即“仅限相同适配器”的资源共享。
https://stackoverflow.com/questions/50564132
复制相似问题