aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Nvdec
AgeCommit message (Collapse)Author
2023-04-27Move solution and projects to srcTSR Berry
2023-01-02misc: Use official names for NVDEC registers (#4192)Mary-nyan
* misc: Uses official names for NVDEC registers * Address gdkchan's comment * Address comments
2022-12-05Make structs readonly when applicable (#4002)Andrey Sukharev
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies * Make structs with trivial boilerplate equality code record structs * Remove unnecessary readonly modifiers from TextureCreateInfo * Make BitMap structs readonly too
2022-11-09infra: Migrate to .NET 7 (#3795)Mary-nyan
* Update readme to mention .NET 7 * infra: Migrate to .NET 7 .NET 7 is still in preview but this prepare for the release coming up next month. * Use Random.Shared in CreateRandom * Move UInt128Utils.cs to Ryujinx.Common project * Fix inverted parameters in System.UInt128 constructor * Fix Visual Studio complains on Ryujinx.Graphics.Vic * time: Fix missing alignment enforcement in SystemClockContext Fixes at least Smash * time: Fix missing alignment enforcement in SteadyClockContext Fix games (like recent version of Smash) using time shared memory * Switch to .NET 7.0.100 release * Enable Tiered PGO * Ensure CreateId validity requirements are meet when doing random generation Also enforce correct packing layout for other Mii structures. This fix a Mario Kart 8 crashes related to the default Miis.
2022-03-23Support NVDEC H264 interlaced video decoding and VIC deinterlacing (#3225)gdkchan
* Support NVDEC H264 interlaced video decoding and VIC deinterlacing * Remove unused code
2022-03-20De-tile GOB when DMA copying from block linear to pitch kind memory regions ↵gdkchan
(#3207) * De-tile GOB when DMA copying from block linear to pitch kind memory regions * XML docs + nits * Remove using * No flush for regular buffer copies * Add back ulong casts, fix regression due to oversight
2021-11-28infra: Migrate to .NET 6 (#2829)Mary
* infra: Migrate to .NET 6 * Rollback version naming change * Workaround .NET 6 ZipArchive API issues * ci: Switch to VS 2022 for AppVeyor CI is now ready for .NET 6 * Suppress WebClient warning in DoUpdateWithMultipleThreads * Attempt to workaround System.Drawing.Common changes on 6.0.0 * Change keyboard rendering from System.Drawing to ImageSharp * Make the software keyboard renderer multithreaded * Bump ImageSharp version to 1.0.4 to fix a bug in Image.Load * Add fallback fonts to the keyboard renderer * Fix warnings * Address caian's comment * Clean up linux workaround as it's uneeded now * Update readme Co-authored-by: Caian Benedicto <caianbene@gmail.com>
2021-10-12nvdec: Adding Vp8 codec support (#2707)Ac_K
* first try * second try * working update * Final impl * Fixes nits * Fix everything * remove leftover * Update FFmpegContext.cs * Update Surface.cs * Addresses gdkchan feedback * bool not byte * Addresses gdkchan feedback
2021-09-29NVDEC (H264): Use separate contexts per channel and decode frames in DTS ↵gdkchan
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
2020-11-15infra: Migrate to .NET 5 (#1694)Mary
* infra: Migrate to .NET 5 This migrate projects and CI to .NET 5 * Remove language version restrictions (now on 9.0 by default) * infra: pin .NET 5 to avoid later issues * infra: Cleanup csproj files * infra: update dependencies * infra: Add temporary workaround for a bug in Vector128.Create see https://github.com/dotnet/runtime/issues/44704 for more informations
2020-08-06Silence several build warnings (#1428)gdkchan
* Silence several build warnings * Remove fixed buffers from NVDEC struct * Remove unused field and usings * Fix wrong name * Silence more warning on H264 PictureInfo
2020-08-04Improved Logger (#1292)mageven
* Logger class changes only Now compile-time checking is possible with the help of Nullable Value types. * Misc formatting * Manual optimizations PrintGuestLog PrintGuestStackTrace Surfaceflinger DequeueBuffer * Reduce SendVibrationXX log level to Debug * Add Notice log level This level is always enabled and used to print system info, etc... Also, rewrite LogColor to switch expression as colors are static * Unify unhandled exception event handlers * Print enabled LogLevels during init * Re-add App Exit disposes in proper order nit: switch case spacing * Revert PrintGuestStackTrace to Info logs due to #1407 PrintGuestStackTrace is now called in some critical error handlers so revert to old behavior as KThread isn't part of Guest. * Batch replace Logger statements
2020-07-12New NVDEC and VIC implementation (#1384)gdkchan
* Initial NVDEC and VIC implementation * Update FFmpeg.AutoGen to 4.3.0 * Add nvdec dependencies for Windows * Unify some VP9 structures * Rename VP9 structure fields * Improvements to Video API * XML docs for Common.Memory * Remove now unused or redundant overloads from MemoryAccessor * NVDEC UV surface read/write scalar paths * Add FIXME comments about hacky things/stuff that will need to be fixed in the future * Cleaned up VP9 memory allocation * Remove some debug logs * Rename some VP9 structs * Remove unused struct * No need to compile Ryujinx.Graphics.Host1x with unsafe anymore * Name AsyncWorkQueue threads to make debugging easier * Make Vp9PictureInfo a ref struct * LayoutConverter no longer needs the depth argument (broken by rebase) * Pooling of VP9 buffers, plus fix a memory leak on VP9 * Really wish VS could rename projects properly... * Address feedback * Remove using * Catch OperationCanceledException * Add licensing informations * Add THIRDPARTY.md to release too Co-authored-by: Thog <me@thog.eu>
2020-05-06Refactor shader GPU state and memory access (#1203)gdkchan
* Refactor shader GPU state and memory access * Fix NVDEC project build * Address PR feedback and add missing XML comments
2020-05-04Upgrade projects to C#8 (#1193)Ac_K
Some parts of our code needs C# 8 who isn't set as default in Visual Studio. To fix this we have to set the C# version correctly in the csproj files and then we are be able to build the project using Visual Studio.
2020-04-22Update .NET Core to 3.1, and update NuGet Packages (#1121)Michael Kuklinski
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1. * Updating appveyor settings for 3.1 Updating appveyor to use the netcoreapp3.1 path instead of 3.0. * Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe. * Removing unused NuGet package SharpFontCore. * Removing unused NuGet package TimeZoneConverter.Posix * Cleaning up by adding newline to a csproj. * Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package. * I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK. * Making the runtime version into its own environment variable so it's a bit easier to change in the future. * Removing OpenTK.NetStandard reference from Ryujinx.Common * Fixing indentation in Common.csproj * Updating the README to specify .NET Core 3.1. * Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-01-09Add runtime identifiers to new projectsgdkchan
2020-01-09Address PR feedbackgdkchan
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09Target .NET Core 3.0 for NVDEC projectgdkchan
2020-01-09Re-add NVDEC project (not integrated)gdkchan