From f4f496cb48a59aae36e3252baa90396e1bfadd2e Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 28 Sep 2021 19:43:40 -0300 Subject: NVDEC (H264): Use separate contexts per channel and decode frames in DTS order (#2671) * Use separate NVDEC contexts per channel (for FFMPEG) * Remove NVDEC -> VIC frame override hack * Add missing bottom_field_pic_order_in_frame_present_flag * Make FFMPEG logging static * nit: Remove empty lines * New FFMPEG decoding approach -- call h264_decode_frame directly, trim surface cache to reduce memory usage * Fix case * Silence warnings * PR feedback * Per-decoder rather than per-codec ownership of surfaces on the cache --- Ryujinx.Graphics.Device/IDeviceStateWithContext.cs | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ryujinx.Graphics.Device/IDeviceStateWithContext.cs (limited to 'Ryujinx.Graphics.Device') diff --git a/Ryujinx.Graphics.Device/IDeviceStateWithContext.cs b/Ryujinx.Graphics.Device/IDeviceStateWithContext.cs new file mode 100644 index 00000000..17b2fa21 --- /dev/null +++ b/Ryujinx.Graphics.Device/IDeviceStateWithContext.cs @@ -0,0 +1,9 @@ +namespace Ryujinx.Graphics.Device +{ + public interface IDeviceStateWithContext : IDeviceState + { + long CreateContext(); + void DestroyContext(long id); + void BindContext(long id); + } +} -- cgit v1.2.3