Commit graph

3536 commits

Author SHA1 Message Date
sunshineinabox
bc14efe5f1 Avoid setting the dynamic state for feedback loop if it is not set avoids validation error. Also linewidth value is ignored if dynamic state is supported. 2024-09-13 15:22:05 -07:00
sunshineinabox
b557dc805b Missed line 2024-09-13 10:44:39 -07:00
sunshineinabox
2d0c1c3a1c Code review suggestions 2024-09-13 08:13:44 -07:00
sunshineinabox
dff81088e8 Replace Action array with a switch statment. 2024-09-09 22:03:50 -07:00
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
d7089682ae Code Review Suggestion 2024-09-10 01:57:31 +00: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
dependabot[bot]
b45a81458a
nuget: bump DynamicData from 9.0.1 to 9.0.4 (#7220)
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 9.0.1 to 9.0.4.
- [Release notes](https://github.com/reactiveui/DynamicData/releases)
- [Changelog](https://github.com/reactivemarbles/DynamicData/blob/main/ReleaseNotes.md)
- [Commits](https://github.com/reactiveui/DynamicData/compare/9.0.1...9.0.4)

---
updated-dependencies:
- dependency-name: DynamicData
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 12:30:43 +02:00
gdkchan
460f9faf4e
Fix NRE when using buffer image array (#7159) 2024-08-21 00:49:17 +01:00
Toni Förster
552c15739c
nuget: bump ImageSharp from 2.1.8 to 2.1.9 (#7160)
While building I got some warnings, so I updated the dependency.

`warning NU1903: Package 'SixLabors.ImageSharp' 2.1.8 has a known high severity vulnerability, https://github.com/advisories/GHSA-63p8-c4ww-9cg7`
2024-08-20 22:26:32 +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