summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2024-04-27 21:32:23 +0900
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2024-04-28 12:49:07 +0000
commita05961ab7bba42e7b5a6a2cdd879fc614b0cb0a4 (patch)
tree03e4825fdcec3fb743c82272b096a89ae7be3ea7
parente29655e9cadea18c59b9f5ea4d48ea46e8e1c7d8 (diff)
d3d12screencapturesrc: Fix output to non-d3d12 element
Configures upload/download flags to memory after write Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>
-rw-r--r--subprojects/gst-plugins-bad/sys/d3d12/gstd3d12dxgicapture.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12dxgicapture.cpp b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12dxgicapture.cpp
index 6d6b6c6530..1a1ed22c52 100644
--- a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12dxgicapture.cpp
+++ b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12dxgicapture.cpp
@@ -1491,6 +1491,9 @@ gst_d3d12_dxgi_capture_do_capture (GstD3D12DxgiCapture * capture,
gst_d3d12_memory_set_external_fence (dmem, priv->shared_fence.Get (),
priv->fence_val);
+ GST_MINI_OBJECT_FLAG_SET (dmem, GST_D3D12_MEMORY_TRANSFER_NEED_DOWNLOAD);
+ GST_MINI_OBJECT_FLAG_UNSET (dmem, GST_D3D12_MEMORY_TRANSFER_NEED_UPLOAD);
+
if (draw_mouse && !gst_d3d12_dxgi_capture_draw_mouse (self, buffer, crop_box)) {
priv->WaitGPU ();
priv->ctx = nullptr;