aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-10-01Update audio renderer to REV13: Add support for compressor statistics and ↵HEAD1.1.1403mastergdkchan
volume reset (#7372) * Update audio renderer to REV13: Add support for compressor statistics and volume reset * XML docs * Disable stats reset * Wrong comment * Fix more XML docs * PR feedback
2024-09-30Do not try to create a texture pool if shader does not use textures (#7379)1.1.1402gdkchan
2024-09-28sdl: set app name (#7370)1.1.1401e2dk4r
Ryujinx was not hinting application name, so on some platforms (e.g. Linux) volume control shows Ryujinx as 'SDL Application'. This can cause confusion. This commit fixes name in volume control applets on some platforms. see: https://wiki.libsdl.org/SDL2/SDL_HINT_APP_NAME
2024-09-26Convert MaxTextureCacheCapacity to Dynamic MaxTextureCacheCapacity for High ↵1.1.1400MaxLastBreath
Resolution Mod support. (#7307) * Add Texture Size Capacity and 8GB Dram Build * Update AutoDeleteCache.cs * Dynamic Texture Cache (WIP) * Change to float Multiplier, in-case it needs fine-tuning. * Delete src/src.sln * Update AutoDeleteCache.cs * Format * Fix Formatting * Add DefaultTextureSizeCapacity and MemoryScaleFactor - Also remove redundant New Lines * Fix 4GB dram crashing * Format newline * Refractor - Added Initialize() function to TextureCache and AutoDeleteCache - Removed GetMaxTextureCapacity() function and instead added _maxCacheMemoryUsage - Added private const MaxTextureSizeCapacity to AutoDelete Cache - Added TextureCache.Initialize() to MemoryManager in order to fetch MaxGpuMemory at the right time. - Moved and Changed Logger.Info for Gpu Memory to Logger.Notice and Moved it to PrintGpuInformation function. - Opted to use a ternary operator for the Initialize function, I think it looks cleaner than bunch of if statements. * Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * maxMemory to CacheMemory, use Clamp instead of Ternary. Changed MinTextureCapacity 1GiB to 512 MiB * Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Format comment * comment context * Increase TextureSize capacity for OpenGL back to 1024 - Added a new const ulong for OpenGLTextureSizeCapacity * Fix changes from last commit. * Adjust last OpenGL changes. * Remove garbage VSC file * Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-09-26GPU: Ensure all clip distances are initialized when used (#7363)1.1.1399riperiperi
* GPU: Ensure all clip distances are initialized when used * Shader cache version
2024-09-22Fix quads draws after DrawTexture on Vulkan (#7336)1.1.1398gdkchan
2024-09-19Shader: Assume the only remaining source is the right one when all others ↵1.1.1397gdkchan
are undefined (#7331) * Shader: Assume the only remaining source is the right one when all other are undefined * Shader cache version bump * Improve comment
2024-09-19Add support for sampler sRGB disable (#7312)1.1.1396gdkchan
2024-09-18Replace passing by IMemoryOwner<byte> with passing by concrete ↵1.1.1395jhorv
MemoryOwner<byte> (#7171) * refactor(perf): pass MemoryOwner<byte> around as itself rather than IMemoryOwner<byte> * fix(perf): get span via MemoryOwner<byte>.Span property instead of through Memory property * fix: incorrect comment change
2024-09-18Implement support for shader ATOM.EXCH instruction (#7320)1.1.1394gdkchan
* Implement support for shader ATOM.EXCH instruction * Shader cache version bump * Check type
2024-09-17Revert "Wait for async task to complete (#7122)" (#7318)1.1.1393gdkchan
This reverts commit ccf96bf5e673456ec80f72725e4c9afa4e4c5a85.
2024-09-17Change image format view handling to allow view incompatible formats (#7311)1.1.1392gdkchan
* Allow creating texture aliases on texture pool * Delete old image format override code * New format incompatible alias * Missing bounds check * GetForBinding now takes FormatInfo * Make FormatInfo struct more compact
2024-09-17Wait for async task to complete (#7122)1.1.1391TSRBerry
This way exceptions thrown during the execution of CheckLaunchState() will correctly invoke the unhandled exception handler and cause Ryujinx to crash.
2024-09-17Add area sampling scaler to allow for super-sampled anti-aliasing. (#7304)1.1.1390ZenoArrows
* Add area sampling scaler to allow for super-sampled anti-aliasing. * Area scaling filter doesn't have a scaling level. * Add further clarification to the tooltip on how to achieve supersampling. * ShaderHelper: Merge the two CompileProgram functions. * Convert tabs to spaces in area scaling shaders * Fixup Vulkan and OpenGL project files. * AreaScaling: Replace texture() by texelFetch() and use integer vectors. No functional difference, but it cleans up the code a bit. * AreaScaling: Delete unused sharpening level member. Also rename _scale to _sharpeningLevel for clarity and consistency. * AreaScaling: Delete unused scaleX/scaleY uniforms. * AreaScaling: Force the alpha to 1 when storing the pixel. * AreaScaling: Remove left-over sharpening buffer.
2024-09-17Change 6GB DRAM expansion to 8GB (#7313)1.1.1389gdkchan
* Change 6GB DRAM expansion to 8GB * Update texts and tooltips
2024-09-15Implement fast DMA texture to texture copy (#7299)1.1.1388gdkchan
* Implement fast DMA texture to texture copy * PR feedback
2024-09-15Make GetFunctionPointerForDelegate as explicit as possible (#7279)1.1.1387Emmanuel Hansen
Co-authored-by: gdk <gab.dark.100@gmail.com>
2024-09-12Implement Arm32 VSHLL and QADD16 instructions (#7301)1.1.1386gdkchan
2024-09-01Vulkan: Feedback loop detection and barriers (#7226)1.1.1385riperiperi
* Vulkan: Feedback loop improvements This PR allows the Vulkan backend to detect attachment feedback loops. These are currently used in the following ways: - Partial use of VK_EXT_attachment_feedback_loop_layout - All renderable textures have AttachmentFeedbackLoopBitExt - Compile pipelines with Color/DepthStencil feedback loop flags when present - Support using FragmentBarrier for feedback loops (fixes regressions from https://github.com/Ryujinx/Ryujinx/pull/7012 ) TODO: - AMD GPUs may need layout transitions for it to properly allow textures to be used in feedback loops. - Use dynamic state for feedback loops. The background pipeline will always miss since feedback loop state isn't known on the GPU project. - How is the barrier dependency flag used? (DXVK just ignores it, there's no vulkan validation...) - Improve subpass dependencies to fix validation errors * Mark field readonly * Add feedback loop dynamic state * fix: add MoltenVK resolver workaround fix: add MoltenVK resolver workaround * Formatting * Fix more complaints * RADV dcc workaround * Use dynamic state properly, cleanup. * Use aspects flags in more places
2024-09-01Fix incorrect depth texture 3D flag (#7262)1.1.1384gdkchan
2024-09-01Vulkan: Update Silk.NET to 2.21 (#7266)1.1.1383riperiperi
* Update Silk.NET version * fix: add MoltenVK resolver workaround fix: add MoltenVK resolver workaround * Cleanup * Readonly ref warnings * Remove driver id todo
2024-08-31Make HLE project AOT friendly (#7085)1.1.1382Emmanuel Hansen
* add hle service generator remove usage of reflection in device state * remove rd.xml generation * make applet manager reflection free * fix typos * fix encoding * fix style report * remove rogue generator reference * remove double assignment
2024-08-31Replace ImageSharp with SkiaSharp everywhere (#7030)1.1.1381Emmanuel Hansen
* replace ImageSharp with SkiaSharp for inline keyboard applet rendering * fix avalonia inline keyboard input * remove image sharp from gtk3 project * add skiasharp linux assets * fix whitespace * fix format * fix ico image offset when saving shortcut to windows
2024-08-27Fix deadlock in background translation thread shutdown (#7239)1.1.1380David McFarland
TryDequeue checks for _disposed before taking the lock. If another thread calls Dispose before it takes the lock, it won't get woken up by the PulseAll call, and will deadlock in Monitor.Wait. Double-checking _disposed with the lock taken should avoid this.
2024-08-21Fix NRE when using buffer image array (#7159)1.1.1378gdkchan
2024-08-17nim:eca : Stub CreateServerInterface2 (#7128)1.1.1376Tsubasa0504
* Add files via upload * Add files via upload * Update src/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-08-13Fix arbitrary game ordering when sorting by Favorites (#7170)1.1.1375Logan Stromberg
* Fix arbitrary sorting by "Favorite" in the UI by making it the same as sorting alphabetically while giving favorites priority. * Use a more engineered solution rather than string hacks. * Address code style warnings. Add null checking. Make title name comparison case insensitive. * one more style fix --------- Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2024-08-12Clamp amount of mipmap levels to max allowed for all backends (#7197)1.1.1374gdkchan
* Clamp amount of mipmap levels to max allowed for all backends * XML docs * Remove using
2024-08-08Implement UQADD16, UQADD8, UQSUB16, UQSUB8, VQRDMULH, VSLI and VSWP Arm32 ↵1.1.1373gdkchan
instructions (#7174)
2024-08-05Replace and remove obsolete ByteMemoryPool type (#7155)1.1.1372jhorv
* refactor: replace usage of ByteMemoryPool with MemoryOwner<byte> * refactor: delete unused ByteMemoryPool and ByteMemoryPool.ByteMemoryPoolBuffer types * refactor: change IMemoryOwner<byte> return types to MemoryOwner<byte> * fix(perf): get span via `MemoryOwner<T>.Span` directly instead of `MemoryOwner<T>.Memory.Span` * fix(perf): get span via MemoryOwner<T>.Span directly instead of `MemoryOwner<T>.Memory.Span` * fix(perf): get span via MemoryOwner<T>.Span directly instead of `MemoryOwner<T>.Memory.Span`
2024-08-05Fix same textures with unmapped start being considered different (#7141)1.1.1371gdkchan
* Fix same textures with unmapped start being considered different * Consolidate IsInvalid check * InvalidAddress const * Fix typo Co-authored-by: riperiperi <rhy3756547@hotmail.com> --------- Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-08-04Fix LocaleExtension SetRawSource usages + language perf improvement (#7121)1.1.1370Julien Lebosquain
* Avoid Avalonia CompiledBindingPathBuilder.SetRawSource * Improve UI language change performance
2024-08-04Infra: Update Microsoft.IdentityModel.JsonWebTokens (#7070)1.1.1369Isaac Marovitz
* Update Microsoft.IdentityModel.JsonWebTokens * Update
2024-08-03Avoid race conditions while launching games directly from the command line ↵1.1.1368TSRBerry
(#7116) * optimization: Load application metadata only for applications with IDs * Load applications when necessary This prevents loading applications when launching an application directly from the command line (or a shortcut). Instead, applications will be loaded after the emulation was stopped by the user. * Show the title in the configured language when launching an application * Rename DesiredTitleLanguage to DesiredLanguage
2024-08-03replace ByteMemoryPool usage in Ryujinx.Graphics (#7129)1.1.1366jhorv
* chore: replace `ByteMemoryPool` usage with `MemoryOwner<byte>` * refactor: `PixelConverter.ConvertR4G4ToR4G4B4A4()` - rename old `outputSpan` to `outputSpanUInt16`, reuse same output `Span<byte>` as newly-freed name `outputSpan` * eliminate temporary buffer allocations * chore, perf: use MemoryOwner<byte> instead of IMemoryOwner<byte>
2024-08-03Fix FileNotFoundException in TryGetApplicationsFromFile() and improve ↵1.1.1365TSRBerry
loading applications (#7145) * Don't load files from hidden subdirectories * Catch FileNotFoundException in TryGetApplicationsFromFile() * Skip non-existent files and bad symlinks when loading applications
2024-07-31Fix off-by-one on audio renderer PerformanceManager.GetNextEntry (#7139)1.1.1364gdkchan
2024-07-30Fix shader RegisterUsage pass only taking first operation dest into account ↵1.1.1363gdkchan
(#7131) * Fix shader RegisterUsage pass only taking first operation dest into account * Shader cache version bump
2024-07-30Vulkan: Force topology to PatchList for Tessellation (#7102)1.1.1362riperiperi
Vulkan spec states that input topology should always be PatchList when a tessellation pipeline is present. The AMD GPU on windows crashes so hard it BSODs the machine if this isn't the case, so it's forced here just in case. I'm not sure what providing a different topology here would even do, as you'd think it would always be a patch list input.
2024-07-25Ava UI: Handle updates containing non numeric characters (#7043)1.1.1361Isaac Marovitz
* Handle updates containing non numeric characters Smh Dont be stupid * Use Berry’s method * Thanks gdk * Remove using
2024-07-25Vulkan: Add missing barriers for texture to buffer copy (#7092)1.1.1360riperiperi
This barrier has always been missing, but it only became apparent when #7012 merged. I also added some barriers in case the target buffer used here is used by other commands, though right now it isn't. Fixes a regression where water would turn white on AMD GPUs with the proprietary driver. May fix other issues on this driver.
2024-07-22Update kernel GetInfo SVC for firmware 18.0.0 (#7075)1.1.1359gdkchan
* Implement kernel GetInfo AliasRegionExtraSize * Implement IsSvcPermitted * Remove warning supressions that are no longer needed * Remove useless cast
2024-07-21Fix checking for the wrong metadata files for applications launched with a ↵1.1.1358TSRBerry
different program index (#7055) * Fix checking for the wrong update metadata file * Apply the same fix for dlc.json * Use the base application ids for updates and DLCs in the GUI too This shouldn't actually change anything, since the program index part of the application id should always be 0 for all applications currently seen by the GUI. This was just done for completeness.
2024-07-20Make sure TryGetApplicationsFromFile() doesn't throw exceptions anymore (#7046)1.1.1357TSRBerry
* Add docstrings for exceptions to methods near TryGetApplicationsFromFile() * Make sure TryGetApplicationsFromFile() doesn't throw exceptions anymore * Add missing filePath to ApplicationData when loading applications from ExeFS * Fix typo Co-authored-by: riperiperi <rhy3756547@hotmail.com> --------- Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-07-20Fix Skia saving screenshot with transparent background and incorrect origin ↵1.1.1356gdkchan
(#7073) * Fix Skia saving screenshot with transparent background and incorrect origin * Remove code that is no longer necessary
2024-07-20Unlink server sessions from multi-wait when service stops processing ↵1.1.1355gdkchan
requests (#7072)
2024-07-19Ava UI: Auto select newly added updates & DLC (#7026)1.1.1354Isaac Marovitz
* Fix DLC not being selected * FIx conflicts * Apply suggestions from code review Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> --------- Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
2024-07-18Add missing Buffer attribute on NGC Check method (#7051)1.1.1353gdkchan
2024-07-17Vulkan: Defer guest barriers, and improve image barrier timings (#7012)1.1.1352riperiperi
* More guarantees for buffer correct placement, defer guest requested buffers * Split RP on indirect barrier rn * Better handling for feedback loops. * Qualcomm barriers suck too * Fix condition * Remove unused field * Allow render pass barriers on turnip for now
2024-07-17Include content data foreach-loop in try-catch (#7036)1.1.1351TSRBerry