Seungha Yang
70c96cf0dd
d3d11: Don't accept buffer pool which holds different device
...
At the moment, d3d11 plugin doesn't support texture sharing between
different device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191 >
2021-04-28 00:25:57 +09:00
Seungha Yang
5acd08f4c1
d3d11: Fix for UYVY/VYUY format rendering
...
Don't assume that non-native DXGI formats support RTV and/or SRV.
We are mapping UYVY and VYUY formats to DXGI_FORMAT_R8G8_B8G8_UNORM
which doesn't support render target view
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2133 >
2021-04-01 16:07:33 +09:00
Seungha Yang
824b0ce0f4
Revert "d3d11: Enable native multi-thread protection layer and make use of it"
...
This reverts commit 872b7f503c
.
Native multi-thread protection layer seems to be consuming more CPU
resource than application side protection approach in some cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2095 >
2021-03-20 17:53:58 +09:00
Seungha Yang
872b7f503c
d3d11: Enable native multi-thread protection layer and make use of it
...
... instead of our own GRecMutex locking. In this way, any other
Direct3D11 client (MediaFoundation for example) can safely call
any Direct3D11 API even when we are sharing our Direct3D11 device
with others.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2092 >
2021-03-18 16:37:37 +00:00
Seungha Yang
80792e12d4
d3d11: Use render-target and shader-resource bind flags by default
...
Even if bind flags is not needed by an element, other element
might need such bind flags.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2091 >
2021-03-17 22:17:22 +09:00
Seungha Yang
58e451325b
d3d11colorconvert: Fix caps leak
...
GstBaseTransform::fixate_caps() takes ownership of passed
othercaps argument.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2086 >
2021-03-16 08:39:46 +00:00
Seungha Yang
5b3e316039
d3d11: Port to C++
...
Direct3D11 objects are COM, and most COM C APIs are verbose
(C++ is a little better). So, by using C++ APIs, we can make code
shorter and more readable.
Moreover, "ComPtr" helper class (which is C++ only) can be
utilized, that is very helpful for avoiding error-prone COM refcounting
issue/leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2077 >
2021-03-14 13:05:22 +09:00