gstreamer/subprojects/gst-plugins-bad/sys/d3d12
Seungha Yang a1c8fc6163 d3d12device: Keep device object permanently
Because ID3D12Device objects are singletons per adapter,
GstD3D12Device was following the API design, that is, keep track
of global GstD3D12Device objects and reuses it.
That means ID3D12Device object can be released at the time
when GstD3D12Device is destroyed.

But exetrnal APIs such as NVENC does not seem to be happy
with the released ID3D12Device, that could be a driver bug though.

Let's hold already opened ID3D12Device permanently without releasing
it for now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>
2024-03-19 12:03:55 +00:00
..
hlsl d3d12: Add compositor element 2024-01-02 13:02:47 +00:00
gstd3d11on12.cpp d3d12: Add testsrc element 2024-01-02 13:02:46 +00:00
gstd3d11on12.h d3d12: Add testsrc element 2024-01-02 13:02:46 +00:00
gstd3d12-private.h d3d12device: Keep device object permanently 2024-03-19 12:03:55 +00:00
gstd3d12.h d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12_fwd.h d3d12: Simplify fence data setup 2024-01-09 13:52:44 +00:00
gstd3d12av1dec.cpp d3d12av1dec: Fix object type name on multi-gpu system 2024-01-24 22:35:17 +00:00
gstd3d12av1dec.h d3d12: Remove d3d11 dependency 2023-12-29 14:38:59 +00:00
gstd3d12basefilter.cpp d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12basefilter.h d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12bufferpool.cpp cuda,d3d11,d3d12bufferpool: Disable preallocation 2024-03-12 18:07:29 +00:00
gstd3d12bufferpool.h d3d12: Add GstD3D12BufferPool 2023-09-19 08:52:04 +00:00
gstd3d12commandallocatorpool.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12commandallocatorpool.h d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12commandlistpool.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12commandlistpool.h d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12commandqueue.cpp d3d12device: Keep device object permanently 2024-03-19 12:03:55 +00:00
gstd3d12commandqueue.h d3d12commandqueue: Add drain method 2024-03-19 12:03:55 +00:00
gstd3d12compositor.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12compositor.h d3d12: Add compositor element 2024-01-02 13:02:47 +00:00
gstd3d12convert.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12convert.h d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12converter-builder.cpp d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12converter-builder.h d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12converter.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12converter.h d3d12videosink: Add support for 3D transformation 2024-01-07 13:38:44 +00:00
gstd3d12decoder.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12decoder.h d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12descriptorpool.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12descriptorpool.h d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12device.cpp d3d12device: Keep device object permanently 2024-03-19 12:03:55 +00:00
gstd3d12device.h d3d12: Simplify fence data setup 2024-01-09 13:52:44 +00:00
gstd3d12download.cpp d3d12: Define more formats 2023-12-29 14:39:00 +00:00
gstd3d12download.h d3d12: Add d3d12download element 2023-09-19 08:52:04 +00:00
gstd3d12dpbstorage.cpp d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12dpbstorage.h d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12dxgicapture.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12dxgicapture.h d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12encoder.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12encoder.h d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12encoderbufferpool.cpp d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12encoderbufferpool.h d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12fencedatapool.cpp d3d12: Simplify fence data setup 2024-01-09 13:52:44 +00:00
gstd3d12fencedatapool.h d3d12: Simplify fence data setup 2024-01-09 13:52:44 +00:00
gstd3d12format.cpp d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12format.h d3d12: Add convert element 2023-12-29 14:39:00 +00:00
gstd3d12graphicscapture.cpp d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12graphicscapture.h d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12h264dec.cpp d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12h264dec.h d3d12: Remove d3d11 dependency 2023-12-29 14:38:59 +00:00
gstd3d12h264enc.cpp d3d12h264enc: Fix profile support check 2024-01-22 20:10:24 +09:00
gstd3d12h264enc.h d3d12: Add H.264 video encoder 2024-01-19 12:47:35 +00:00
gstd3d12h265dec.cpp d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12h265dec.h d3d12: Remove d3d11 dependency 2023-12-29 14:38:59 +00:00
gstd3d12memory-private.h d3d12decoder: Use D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag 2024-01-14 13:10:56 +00:00
gstd3d12memory.cpp d3d12memory: Implement NT handle caching and custom user data support 2024-03-08 01:03:28 +09:00
gstd3d12memory.h d3d12memory: Implement NT handle caching and custom user data support 2024-03-08 01:03:28 +09:00
gstd3d12mpeg2dec.cpp d3d12: Add MPEG-2 decoder 2024-01-25 11:45:23 +00:00
gstd3d12mpeg2dec.h d3d12: Add MPEG-2 decoder 2024-01-25 11:45:23 +00:00
gstd3d12overlaycompositor.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12overlaycompositor.h d3d12: Add video sink element 2023-12-29 14:39:00 +00:00
gstd3d12pluginutils.cpp d3d12videosink: Add support for 3D transformation 2024-01-07 13:38:44 +00:00
gstd3d12pluginutils.h d3d12videosink: Add support for 3D transformation 2024-01-07 13:38:44 +00:00
gstd3d12screencapture.cpp d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12screencapture.h d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12screencapturedevice.cpp d3d12: Add screen capture element 2024-01-05 21:27:35 +09:00
gstd3d12screencapturedevice.h d3d12: Add screen capture element 2024-01-05 21:27:35 +09:00
gstd3d12screencapturesrc.cpp d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
gstd3d12screencapturesrc.h d3d12: Add screen capture element 2024-01-05 21:27:35 +09:00
gstd3d12testsrc.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12testsrc.h d3d12: Add testsrc element 2024-01-02 13:02:46 +00:00
gstd3d12upload.cpp d3d12: Define more formats 2023-12-29 14:39:00 +00:00
gstd3d12upload.h d3d12: Add upload element 2023-12-29 14:39:00 +00:00
gstd3d12utils.cpp d3d12memory: Implement NT handle caching and custom user data support 2024-03-08 01:03:28 +09:00
gstd3d12utils.h d3d12memory: Implement NT handle caching and custom user data support 2024-03-08 01:03:28 +09:00
gstd3d12videosink.cpp d3d12videosink: Add gamma, primaries and sampling filter properties 2024-01-07 13:38:44 +00:00
gstd3d12videosink.h d3d12: Add video sink element 2023-12-29 14:39:00 +00:00
gstd3d12vp8dec.cpp d3d12: Add VP8 decoder 2024-02-10 21:23:51 +09:00
gstd3d12vp8dec.h d3d12: Add VP8 decoder 2024-02-10 21:23:51 +09:00
gstd3d12vp9dec.cpp d3d12: Add header containing core features 2023-12-29 14:39:00 +00:00
gstd3d12vp9dec.h d3d12: Remove d3d11 dependency 2023-12-29 14:38:59 +00:00
gstd3d12window.cpp d3d12: Use native device handle if possible 2024-03-19 12:03:55 +00:00
gstd3d12window.h d3d12videosink: Add gamma, primaries and sampling filter properties 2024-01-07 13:38:44 +00:00
meson.build d3d12screencapturesrc: Add support for WGC API 2024-03-08 01:05:24 +09:00
plugin.cpp d3d12device: Keep device object permanently 2024-03-19 12:03:55 +00:00