You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
I've been exploring how to get shared handle of ID3D12Fence of Device:::fence with dx12. The shared handle is going to be opened as ID3D11Fence. The ID3D11Fence is used for synchronization between Direct3D 11 and Direct3D 12 in interop.
I tried to get Device:::fence. But the api for getting it did not exist. And wgpu-hal did not have api for getting raw fence(d3d12::Fence).
Describe the solution you'd like
Add api for getting Device:::fence like:
pub unsafe fn device_fence_as_hal<A: HalApi, F: FnOnce(Option<&A::Fence>) -> R, R>(
&self,
id: DeviceId,
hal_fence_callback: F,
) -> R {
profiling::scope!("Device::fence_as_hal");
let hub = A::hub(self);
let device = hub.devices.try_get(id).ok().flatten();
let hal_fence = device.as_ref().map(|device| device.fence.read());
hal_fence_callback(hal_fence.as_deref().unwrap().as_ref())
}
Is your feature request related to a problem? Please describe.
I've been exploring how to get shared handle of ID3D12Fence of Device:::fence with dx12. The shared handle is going to be opened as ID3D11Fence. The ID3D11Fence is used for synchronization between Direct3D 11 and Direct3D 12 in interop.
I tried to get Device:::fence. But the api for getting it did not exist. And wgpu-hal did not have api for getting raw fence(d3d12::Fence).
Describe the solution you'd like
Add api for getting Device:::fence like:
Create d3d12::Fence with sharing flag like:
Add api for getting raw fence(d3d12::Fence).
Describe alternatives you've considered
I tried to get Device:::fence and raw fence(d3d12::Fence) with wgpu-core apis and wgpu-hal apis. But they seemed not exist.
Additional context
Fence sharing in gecko is being implemented at bug 1863474.
The text was updated successfully, but these errors were encountered: