Commit graph

694 commits

Author SHA1 Message Date
sunshineinabox
5a391f38fd Refactor Cull Mode to only send face. 2024-09-09 21:50:18 -07:00
sunshineinabox
2fd093d4b4 Avoid setting stride if dynamic state is supported 2024-09-09 21:17:44 -07:00
sunshineinabox
f085b47b30 Address Feedback 2024-09-09 21:08:13 -07:00
sunshineinabox
01c6d5491e Code Review Suggestions 2024-09-09 18:53:40 -07:00
sunshineinabox
4a3b10fa9f
Apply suggestions from code review
Simple suggestions from code review

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-09-09 18:11:35 -07:00
sunshineinabox
d9c5b5c753 Correct typo 2024-09-09 11:04:33 -07:00
sunshineinabox
2a3069d9a1 Enable Vertex Input Binding Stride extended state when available on newer MVK 2024-09-09 11:02:07 -07:00
sunshineinabox
381abda2c8 Primitive restart is enabled/disabled based on the original topology before its converted to its topology class, make this behavior consistent 2024-09-09 09:01:00 -07:00
sunshineinabox
9bcc8374da Only attempt to change topology class if needed 2024-09-07 20:09:58 -07:00
sunshineinabox
1cb35a42db Rework to reduce code duplication and possibility of error.
Reduce number of pipelines?
2024-09-07 17:26:26 -07:00
sunshineinabox
2846e88a5d Clean up and some housekeeping 2024-09-04 19:51:26 -07:00
sunshineinabox
1fa1c7b01d Need to test this on Windows 2024-09-02 21:09:09 -07:00
sunshineinabox
91c3ac2701 Revert a change 2024-09-02 16:22:10 -07:00
sunshineinabox
a7409e6fba Some missed changes 2024-09-02 12:40:29 -07:00
sunshineinabox
5e86d5e178 There will still be an issue with extension is supported and dynmaic state is not 2024-09-01 21:33:05 -07:00
sunshineinabox
09b8095584 Avoid changing feedback loop aspect if extension is not supported prevents failed pipeline compiles (or seemingly incompatible) 2024-09-01 19:21:44 -07:00
sunshineinabox
3f900e6fa0 Resolve missed changes 2024-09-01 18:47:06 -07:00
sunshineinabox
6464f97973
Merge branch 'master' into MoreDynamicStatesPartOne 2024-09-01 18:43:34 -07:00
sunshineinabox
2298362e7f Resolve remaining pipeline creation errors when extended pipeline states extension not supported 2024-09-01 18:17:19 -07:00
riperiperi
ca59c3f499
Vulkan: Feedback loop detection and barriers (#7226)
* 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-01 21:28:16 -03:00
sunshineinabox
07f80bdbb7 Resolve some pipeline creation issue when extended dynamic states are not supported 2024-09-01 16:41:36 -07:00
sunshineinabox
3e5b946289
Merge branch 'master' into MoreDynamicStatesPartOne 2024-09-01 14:54:00 -07:00
gdkchan
fdd7ee791c
Fix incorrect depth texture 3D flag (#7262) 2024-09-01 17:58:01 -03:00
riperiperi
398fa1c238
Vulkan: Update Silk.NET to 2.21 (#7266)
* Update Silk.NET version

* fix: add MoltenVK resolver workaround

fix: add MoltenVK resolver workaround

* Cleanup

* Readonly ref warnings

* Remove driver id todo
2024-09-01 17:33:11 -03:00
Emmanuel Hansen
2c5c0392f9
Make HLE project AOT friendly (#7085)
* 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-31 11:39:26 -03:00
Emmanuel Hansen
e0acde04bb
Replace ImageSharp with SkiaSharp everywhere (#7030)
* 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-31 11:32:53 -03:00
David McFarland
3c61d560c3
Fix deadlock in background translation thread shutdown (#7239)
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-27 19:10:24 +02:00
gdkchan
460f9faf4e
Fix NRE when using buffer image array (#7159) 2024-08-21 00:49:17 +01:00
Tsubasa0504
0137c9e635
nim:eca : Stub CreateServerInterface2 (#7128)
* 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-17 09:57:22 +01:00
Logan Stromberg
23fa5f4c9c
Fix arbitrary game ordering when sorting by Favorites (#7170)
* 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-13 15:23:11 +02:00
sunshineinabox
674288a71f Avoid creating pipelines for each topology. 2024-08-12 22:09:09 -07:00
sunshineinabox
2d1af4ddb4 Set a default topology state that can be overwritten later if needed. 2024-08-12 20:57:08 -07:00
gdkchan
4f75e26ec7
Clamp amount of mipmap levels to max allowed for all backends (#7197)
* Clamp amount of mipmap levels to max allowed for all backends

* XML docs

* Remove using
2024-08-12 17:45:25 -03:00
sunshineinabox
1a43536092 LogicOps 2024-08-11 19:54:52 -07:00
sunshineinabox
49494b5b2d Some more default values 2024-08-10 17:16:48 -07:00
sunshineinabox
d6f05044ea Set stride to 0 if Vertex Input dynamic state is enabled 2024-08-10 16:49:05 -07:00
sunshineinabox
42c47e408d If dynamic states are enabled use default values for calculation uuid 2024-08-10 16:35:30 -07:00
gdkchan
8d8983049e
Implement UQADD16, UQADD8, UQSUB16, UQSUB8, VQRDMULH, VSLI and VSWP Arm32 instructions (#7174) 2024-08-08 17:07:24 -03:00
sunshineinabox
af31a14c77 Spec states it CAN be null 2024-08-06 23:24:34 -07:00
sunshineinabox
6aa30b24ba Actually change what is being passed to HwCapabilities instead of just disabling the feature. 2024-08-06 08:15:17 -07:00
sunshineinabox
53ca3b53b6 Exclude Patch Control Points dynamic state at this time 2024-08-05 23:18:28 -07:00
jhorv
7969fb6bba
Replace and remove obsolete ByteMemoryPool type (#7155)
* 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-05 21:09:08 -03:00
gdkchan
4a4b11871e
Fix same textures with unmapped start being considered different (#7141)
* 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-05 11:00:41 -03:00
sunshineinabox
482b960740 More changes to be inline with spec 2024-08-04 20:53:54 -07:00
sunshineinabox
af9de85a1b Origin of crash? 2024-08-04 20:34:49 -07:00
sunshineinabox
f15b6c85f6 According to spec there is no need to do this as it should automatically be not set when not needed 2024-08-04 16:16:27 -07:00
Julien Lebosquain
e85ee673b1
Fix LocaleExtension SetRawSource usages + language perf improvement (#7121)
* Avoid Avalonia CompiledBindingPathBuilder.SetRawSource

* Improve UI language change performance
2024-08-04 19:04:12 +01:00
Isaac Marovitz
42f22fe5d7
Infra: Update Microsoft.IdentityModel.JsonWebTokens (#7070)
* Update Microsoft.IdentityModel.JsonWebTokens

* Update
2024-08-04 18:56:27 +01:00
sunshineinabox
c53f58a4a9 Resolve issue with primitive toplogy
Primitive Restart Enable should depend on Extended dynamic state 2 extension not 1

Resolve Primitive restart enable

Fix MoltenVK crash
2024-08-03 23:24:49 -07:00
sunshineinabox
3b398adbe6 Refactor PipelineUid and pack TopologyClass
Remove basepipelineindex as its extraneous
2024-08-03 19:22:46 -07:00