aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-08-12Clamp amount of mipmap levels to max allowed for all backends (#7197)gdkchan
* 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 ↵gdkchan
instructions (#7174)
2024-08-05Replace and remove obsolete ByteMemoryPool type (#7155)jhorv
* 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)gdkchan
* 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)Julien Lebosquain
* Avoid Avalonia CompiledBindingPathBuilder.SetRawSource * Improve UI language change performance
2024-08-04Infra: Update Microsoft.IdentityModel.JsonWebTokens (#7070)Isaac Marovitz
* Update Microsoft.IdentityModel.JsonWebTokens * Update
2024-08-03Avoid race conditions while launching games directly from the command line ↵TSRBerry
(#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)jhorv
* 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 ↵TSRBerry
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)gdkchan
2024-07-30Fix shader RegisterUsage pass only taking first operation dest into account ↵gdkchan
(#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)riperiperi
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)Isaac 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)riperiperi
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)gdkchan
* 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 ↵TSRBerry
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)TSRBerry
* 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 ↵gdkchan
(#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 ↵gdkchan
requests (#7072)
2024-07-19Ava UI: Auto select newly added updates & DLC (#7026)Isaac 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)gdkchan
2024-07-17Vulkan: Defer guest barriers, and improve image barrier timings (#7012)riperiperi
* 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)TSRBerry
2024-07-16Add support for multi game XCIs (second try) (#6515)TSRBerry
* Add default values to ApplicationData directly * Refactor application loading It should now be possible to load multi game XCIs. Included updates won't be detected for now. Opening a game from the command line currently only opens the first one. * Only include program NCAs where at least one tuple item is not null * Get application data by title id and add programIndex check back * Refactor application loading again and remove duplicate code * Actually use patch ncas for updates * Fix number of applications found with multi game xcis * Don't load bundled updates from multi game xcis * Change ApplicationData.TitleId type to ulong & Add TitleIdString property * Use cnmt files and ContentCollection to load programs * Ava: Add updates and DLCs from gamecarts * Get the cnmt file from its NCA * Ava: Identify bundled updates in updater window * Fix the (hopefully) last few bugs * Add idOffset parameter to GetNcaByType * Handle missing file for dlc.json * Ava: Shorten error message for invalid files * Gtk: Add additional string for bundled updates in TitleUpdateWindow * Hopefully fix DLC issues * Apply formatting * Finally fix DLC issues * Adjust property names and fileSize field * Read the correct update file * Fix wrong casing for application id strings * Rename TitleId to ApplicationId * Address review comments * Apply suggestions from code review Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Gracefully fail when loading pfs for update and dlc window * Fix applications with multiple programs * Fix DLCWindow crash on GTK * Fix some GUI issues * Remove IsXci again * Don't add duplicates to update/dlc windows * Avoid double lookup * Preserve DLC enabled state for bundled DLCs * Fix DLCWindow not opening using GTK * Fix missing information when loading applications from file * Address review feedback Rename ContentCollection to ContentMetaData Fix casing issues in log messages Use null as the default value for updatePath * Fix re-adding bundled DLCs every time * Fix bundled DLCs disappearing * Abstract common code to open application pfs * Remove unused imports * Fix file exists check when loading DLCs * Load bundled DLCs only using dlc.json * Load AoC items correctly * Add all DLCs from a PFS * Add argument to launch a specific application id * Use application-id argument for shortcuts if necessary * Return the application id from the control NCA if possible * GetApplicationInformation: Don't overwrite application ids Move SaveDataOwnerId check to the top, since it seems to be more reliable. * Get application ids from CNMT again This commit reverts some parts of 61615b8f0d6f90ae86778958ddc38eaf6dc280ab. Since the issue wasn't actually related to the application id in CMNTs, we can remove the wrong assumptions. * Revert erroneous axaml change from adca8900 * Rename title to application * Wrap nsp/pfs0 case with curly braces * Check if _applicationData.ControlHolder.ByteSpan is zeros only once * Catch exceptions while loading applications from nsps --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-07-16Remove CommandBufferScoped Dependencies (#6958)Isaac Marovitz
2024-07-15misc: Re-order and manually update DriverID to name. (#7027)MutantAura
* Re-order and update DriverID -> Name. * Fix whitespace
2024-07-15replace ByteMemoryPool usage in Ryujinx.HLE (#6953)jhorv
2024-07-14Use SkiaSharp for Avalonia in place of ImageSharp (#6269)sunshineinabox
* Rebased Transformation all at once Use SkiaSharp instead of ImageSharp * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Change back unintentionally changed comment --------- Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: Emmanuel Hansen <emmausssss@gmail.com>
2024-07-10Use draw clear on Adreno, instead of vkCmdClearAttachments (#7013)gdkchan
* Use draw clear on Adreno, instead of vkCmdClearAttachments * Fix GTX TITAN detection
2024-07-09Force dynamic state update after rasterizer discard disable (#7007)gdkchan
2024-07-07Disallow concurrent fence waits on Adreno (#7001)gdkchan
* Disallow concurrent fence waits on Adreno * Ensure locks are released if exceptions are thrown
2024-07-07Disable descriptor set template updates for buffer textures on Adreno (#7002)gdkchan
* Do not use template updates for buffer textures and buffer images * No need to do it for images * Simply buffer texture existence check * Pipeline is now unused on DescriptorSetUpdater
2024-07-07Force Vulkan swapchain re-creation when window size changes (#7003)gdkchan
2024-06-26Resolve some Vulkan validation errors (#6915)sunshineinabox
* Fix some validation errors * Whitespace correction * Resolve some runtime validation errors. * Whitespace * Properly fix usage realted validation error by setting Extended Usage image creation flag. * Only if supported * Remove checking extension for features that are core functionality of Vulkan 1.2
2024-06-26Make sure the string is long enough before performing basic trim (#6982)TSRBerry
2024-06-25SetProcessMemoryPermission address and size are always 64-bit (#6977)Rafa
2024-06-19JIT: Coalesce copies on LSRA with simple register preferencing (#6950)gdkchan
* JIT: Coalesce copies on LSRA with simple register preferencing * PPTC version bump
2024-06-19JIT: Ensure entry block has no predecessors on RegisterUsage pass (#6951)gdkchan
2024-06-16fix: for pooled memory used for reference types, clear it on return to the ↵jhorv
pool so that it doesn't prevent GC of the instances it contained (#6937)
2024-06-16Extend bindless elimination to catch a few more specific cases (#6921)gdkchan
* Catch more cases on bindless elimination * Match blocks with the same comparison condition * Shader cache version bump
2024-06-15replace `ByteMemoryPool` use with `MemoryOwner<byte>` and `SpanOwner<byte>` ↵jhorv
(#6911)
2024-06-02Vulkan separate descriptor set fixes (#6895)gdkchan
* Ensure descriptor sets are only re-used when all command buffers using it have completed * Fix some SPIR-V capabilities * Set update after bind flag if we exceed limits * Simpler fix for Intel * Format whitespace * Make struct readonly * Add barriers for extra set arrays too
2024-06-02GPU: Remove unused dynamic state and pipeline settings (#6796)sunshineinabox
* Dynamic state for Depth Bounds should not be passed to PipelineDynamicStateCreateInfo as the command to set them is never called. Do not pass pointer to viewport and scissor as those dynamic states should be supported on all devices. Same as above for DepthBias values. * Code Review Suggestion * Pipeline derivation is not implemented and is not suggested. * Depth Bounds are not used.
2024-06-02New pooled memory types (#6821)jhorv
* feat: add new types MemoryOwner and SpanOwner * use SpanOwner instead of new array allocation * change for loop condition to `fences.Length` instead of `count` to elide Span boundary checks on `fences`
2024-06-02Avoid inexact read with 'Stream.Read' (#6847)Marco Carvalho
2024-05-26Vulkan: Extend full bindless to cover cases with phi nodes (#6853)gdkchan
* Key textures using set and binding (rather than just binding) * Extend full bindless to cover cases with phi nodes * Log error on bindless access failure * Shader cache version bump * Remove constant buffer match to reduce the chances of full bindless triggering * Re-enable it for constant buffers, paper mario does actually need it * Format whitespace
2024-05-26misc: Change disk shader cache compression algorithm to `Brotli` (RFC 7932) ↵MutantAura
(#6841) * Prefer `Brotli` compression for disk shader cache. * Final default case for decompression switch. * Prefer fastest compression.
2024-05-26Allow texture arrays to use separate descriptor sets on Vulkan (#6870)gdkchan
* Report base and extra sets from the backend * Pass texture set index everywhere * Key textures using set and binding (rather than just binding) * Start using extra sets for array textures * Shader cache version bump * Separate new commands, some PR feedback * Introduce new manual descriptor set reservation method that prevents it from being used by something else while owned by an array * Move bind extra sets logic to new method * Should only use separate array is MaximumExtraSets is not zero * Format whitespace
2024-05-23Workaround bug on logic op with float framebuffer (#6858)Piplup
* intel workaround built on top of the amd workaround * forgot to update the note * Logic Change Enabled workaround for all vendors that aren't nvidia * Applied Suggestions
2024-05-23Workaround AMD bug on logic op with float framebuffer (#6852)gdkchan
* Workaround AMD bug on logic op with float framebuffer * Format whitespace * Update comment