mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 10:12:20 +00:00
d3d12: Requires ID3D12Device4 interface
ID3D12Device4::CreateCommandList1() method is required Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5812>
This commit is contained in:
parent
818c95e8c3
commit
7443cc00b5
1 changed files with 7 additions and 0 deletions
|
@ -72,6 +72,7 @@ plugin_init (GstPlugin * plugin)
|
||||||
for (guint i = 0; i < 12; i++) {
|
for (guint i = 0; i < 12; i++) {
|
||||||
GstD3D12Device *device = nullptr;
|
GstD3D12Device *device = nullptr;
|
||||||
ID3D12Device *device_handle;
|
ID3D12Device *device_handle;
|
||||||
|
ComPtr < ID3D12Device4 > device4;
|
||||||
ComPtr < ID3D12VideoDevice > video_device;
|
ComPtr < ID3D12VideoDevice > video_device;
|
||||||
GstD3D11Device *d3d11_device;
|
GstD3D11Device *d3d11_device;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -83,6 +84,12 @@ plugin_init (GstPlugin * plugin)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
device_handle = gst_d3d12_device_get_device_handle (device);
|
device_handle = gst_d3d12_device_get_device_handle (device);
|
||||||
|
hr = device_handle->QueryInterface (IID_PPV_ARGS (&device4));
|
||||||
|
if (FAILED (hr)) {
|
||||||
|
gst_object_unref (device);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
hr = device_handle->QueryInterface (IID_PPV_ARGS (&video_device));
|
hr = device_handle->QueryInterface (IID_PPV_ARGS (&video_device));
|
||||||
if (FAILED (hr)) {
|
if (FAILED (hr)) {
|
||||||
gst_object_unref (device);
|
gst_object_unref (device);
|
||||||
|
|
Loading…
Reference in a new issue