From bdb12db5c6206b18fd8176e51e49f487c2bd3164 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Thu, 20 Jun 2024 00:09:16 +0900 Subject: [PATCH] d3d12device: Prevent too many in-flight GPU commands Even if each element is checking its own in-flight commands, total number of commands can get larger in case of complex pipeline. Limits total number of in-flight commands at command queue level Part-of: --- .../gst-plugins-bad/gst-libs/gst/d3d12/gstd3d12device.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d12/gstd3d12device.cpp b/subprojects/gst-plugins-bad/gst-libs/gst/d3d12/gstd3d12device.cpp index bfea6fdaba..040e3d0007 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d12/gstd3d12device.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d12/gstd3d12device.cpp @@ -1088,7 +1088,7 @@ gst_d3d12_device_new_internal (const GstD3D12DeviceConstructData * data) queue_desc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE; priv->direct_queue = gst_d3d12_command_queue_new (device.Get (), - &queue_desc, D3D12_FENCE_FLAG_SHARED, 0); + &queue_desc, D3D12_FENCE_FLAG_SHARED, 32); if (!priv->direct_queue) goto error; @@ -1104,7 +1104,7 @@ gst_d3d12_device_new_internal (const GstD3D12DeviceConstructData * data) queue_desc.Type = D3D12_COMMAND_LIST_TYPE_COPY; priv->copy_queue = gst_d3d12_command_queue_new (device.Get (), - &queue_desc, D3D12_FENCE_FLAG_NONE, 0); + &queue_desc, D3D12_FENCE_FLAG_NONE, 32); if (!priv->copy_queue) goto error;