riperiperi
5590811ea3
Don't throw when ending conditional rendering for now
...
This should be re-enabled when conditional rendering is enabled on nvidia etc.
2022-06-17 22:42:34 +01:00
riperiperi
23b8bd8642
Update counter queue to be similar to the OGL one
...
Fixes softlocks when games had to flush counters.
2022-06-17 22:42:33 +01:00
riperiperi
d55f664908
Fix PrimitivesGenerated query, disable Transform Feedback queries for now
...
Lets Splatoon 2 work on nvidia. (mostly)
2022-06-17 22:42:33 +01:00
riperiperi
51bd7454bd
Update Silk.NET to version 2.10.1
...
Somehow, massive performance boost. Seems like their vtable for looking up vulkan methods was really slow before.
2022-06-17 22:42:33 +01:00
riperiperi
d4e4ae60d5
Update to .net6
2022-06-17 22:42:33 +01:00
riperiperi
76a5beeb70
Use current command buffer for unscaled copy (perf)
...
Avoids flushing commands and renting a command buffer when fulfilling copy dependencies and when games do unscaled copies.
2022-06-17 22:42:33 +01:00
riperiperi
f6c2f7a8d6
Fix storage buffers being lost when bindings are out of order
...
(also avoid allocations when changing bindings)
2022-06-17 22:42:33 +01:00
gdk
db3a28f731
Fix uniform buffers being lost when bindings are out of order
2022-06-17 22:42:32 +01:00
gdk
a9afcdfa10
Support format aliasing on SetImage
2022-06-17 22:42:32 +01:00
gdk
616f14c46d
Fix rebase build break
2022-06-17 22:42:32 +01:00
gdk
ae783c5b5e
Fix BGRA on OpenGL backend
2022-06-17 22:42:32 +01:00
gdk
5fbfa9a9bd
DrawTexture support
2022-06-17 22:42:32 +01:00
riperiperi
e9222a426a
Submit command buffer before Texture GetData. (UE4 fix)
2022-06-17 22:42:32 +01:00
gdk
fa24c41d32
Fix some tessellation related issues (still doesn't work?)
2022-06-17 22:42:32 +01:00
gdkchan
b7bf95c754
Workaround for AMD driver bug
2022-06-17 22:42:31 +01:00
gdkchan
c109410ccd
New depth-stencil blit method for AMD
2022-06-17 22:42:31 +01:00
gdkchan
ceeb70a996
TextureStorage should hold a ref of the foreign storage, otherwise it might be freed while in use
2022-06-17 22:42:31 +01:00
riperiperi
c31dda3c1b
Support multiple levels/layers for blit.
...
Fixes MK8D when scaled, maybe a few other games. AMD software "safe" blit not supported right now.
2022-06-17 22:42:31 +01:00
riperiperi
e0edaa177e
Allow multithreading shaderc and vkCreateShaderModule
...
You'll only really see the benefit here with threaded-gal or parallel shader cache compile.
Fix shaderc multithreaded changes
Thread safety for shaderc Options constructor
Dunno how they managed to make a constructor not thread safe, but you do you. May avoid some freezes.
2022-06-17 22:42:31 +01:00
gdkchan
c6fbaf844e
No need to initialize attributes on the SPIR-V backend anymore
2022-06-17 22:42:31 +01:00
gdkchan
4513e8b226
WIP Vulkan implementation
2022-06-17 22:42:30 +01:00
riperiperi
68f9091870
Account for res scale changes when updating bindings ( #3403 )
...
Fixes a regression introduced by the texture bindings PR.
Also renames TextureStatePerStage, as it's no longer per stage.
2022-06-17 17:41:38 -03:00
riperiperi
99ffc061d3
Optimize Texture Binding and Shader Specialization Checks ( #3399 )
...
* Changes 1
* Changes 2
* Better ModifiedSequence handling
This should handle PreciseEvents properly, and simplifies a few things.
* Minor changes, remove debug log
* Handle stage.Info being null
Hopefully fixes Catherine crash
* Fix shader specialization fast texture lookup
* Fix some things.
* Address Feedback Part 1
* Make method static.
2022-06-17 13:09:14 -03:00
gdkchan
d987cacfb7
Fix VIC out of bounds copy ( #3386 )
...
* Fix VIC out of bounds copy
* Update the assert
2022-06-17 12:01:52 -03:00
gdkchan
851f56b08a
Support Array/3D depth-stencil render target, and single layer clears ( #3400 )
...
* Support Array/3D depth-stencil render target, and single layer clears
* Alignment
2022-06-14 13:30:39 -03:00
gdkchan
b1bd6a50b5
Less invasive fix for EventFd blocking operations ( #3394 )
2022-06-12 09:29:12 +02:00
gdkchan
70895bdb04
Allow concurrent BSD EventFd read/write ( #3385 )
2022-06-11 14:58:30 -03:00
gdkchan
830cbf91bb
Ignore ClipControl on draw texture fallback ( #3388 )
2022-06-11 14:31:17 -03:00
gdkchan
9a9349f0f4
Fix instanced indexed inline draw index count ( #3389 )
2022-06-10 23:44:49 -03:00
gdkchan
46cc7b55f0
Fix instanced indexed inline draws ( #3383 )
2022-06-05 21:24:28 -03:00
gdkchan
dd8f97ab9e
Remove freed memory range from tree on memory block disposal ( #3347 )
...
* Remove freed memory range from tree on memory block disposal
* PR feedback
2022-06-05 15:12:42 -03:00
gdkchan
633c5ec330
Extend uses count from ushort to uint on Operand Data structure ( #3374 )
2022-06-05 14:15:27 -03:00
gdkchan
a3e7bb8eb4
Copy dependency for multisample and non-multisample textures ( #3382 )
...
* Use copy dependency for textures that differs in multisample but are otherwise compatible
* Remove allowMs flag as it's no longer required for correctness, it's just an optimization now
* Dispose intermmediate pool
2022-06-05 14:06:47 -03:00
Billy Laws
2073ba2919
Fix a potential GPFIFO submission race ( #3378 )
...
The syncpoint maximum value represents the maximum possible syncpt value at a given time, however due to PBs being submitted before max was incremented, for a brief moment of time this is not the case which could lead to invalid behaviour if a game waits on the fence at that specific time.
2022-06-04 21:36:36 +02:00
Billy Laws
d03124a992
Fix 3D semaphore counter type 0 handling ( #3380 )
...
Counter type 0 actually releases the semaphore payload rather than a constant zero as was previously thought. This is required by Skyrim.
2022-06-02 19:51:36 -03:00
Mary
59490d54b5
infra: Switch to win10-x64 RID and fix PR comment for Avalonia and SDL2 artifact rename ( #3375 )
...
* infra: Switch to win10-x64 RID and fix PR comment for Avalonia and SDL2 artifact rename
* Address gdkchan's comments
2022-06-01 02:01:16 +02:00
gdkchan
e546e5933f
Rewrite SVC handler using source generators rather than IL emit ( #3371 )
...
* Implement syscall handlers using a source generator
* Copy FlushProcessDataCache implementation to Syscall since it was only implemented on Syscall32
* Fix wrong argument order in some syscalls
* Delete old Reflection.Emit based syscall handling code
* Improvements to the code generation
* ControlCodeMemory address and size is always 64-bit
2022-05-31 17:12:46 -03:00
gdkchan
0c87bf9ea4
Refactor CPU interface to allow the implementation of other CPU emulators ( #3362 )
...
* Refactor CPU interface
* Use IExecutionContext interface on SVC handler, change how CPU interrupts invokes the handlers
* Make CpuEngine take a ITickSource rather than returning one
The previous implementation had the scenario where the CPU engine had to implement the tick source in mind, like for example, when we have a hypervisor and the game can read CNTPCT on the host directly. However given that we need to do conversion due to different frequencies anyway, it's not worth it. It's better to just let the user pass the tick source and redirect any reads to CNTPCT to the user tick source
* XML docs for the public interfaces
* PPTC invalidation due to NativeInterface function name changes
* Fix build of the CPU tests
* PR feedback
2022-05-31 16:29:35 -03:00
gdkchan
9827dc35e1
Allow loading NSPs without a NCA inside ( #3364 )
...
* Allow loading NSPs without a NCA inside
* Set isHomebrew as true
2022-05-31 16:16:59 -03:00
riperiperi
448723d3b3
Don't force DPI aware on Avalonia - it already has it covered. ( #3354 )
2022-05-21 23:32:50 +02:00
gdkchan
89294b7772
Fix audio renderer error message result code base ( #3348 )
2022-05-19 00:59:27 +02:00
Emmanuel Hansen
7b9c4757dd
UI - Scale end framebuffer blit ( #3342 )
...
* Scale end framebuffer blit
* fix
* fix
* apply changes to avalonia
2022-05-16 18:10:29 -03:00
Mary
b8fc97adf2
Fix Avalonia updater
2022-05-15 21:01:12 +02:00
Emmanuel Hansen
c1a7b5bcdb
fix amiibo image path ( #3345 )
2022-05-15 20:47:00 +02:00
Mary
be1c375589
gh-actions: Prefix Avalonia builds with test- and disable prerelease.
...
As GitHub sort our builds in an alphanumeric way, we abuse that to fix
both new and old updater behaviour.
This should fix all our issues.
Avalonia updater will be broken between version 1.1.122 to 1.1.126, and
will need manual intervention.
2022-05-15 18:05:55 +02:00
Mary
378d19f87a
gh-actions: Attempt to fix the whole mess up with Avalonia changes
...
Marked as prerelease just in case it break even more
2022-05-15 17:50:16 +02:00
Emmanuel Hansen
f59f65ec4f
add avalonia builds to release ( #3339 )
2022-05-15 16:28:32 +02:00
Mary
7bc4971cf9
misc: Clean up of CS project after Avalonia merge ( #3340 )
...
This reformat Avalonia csproj file, remove unused deps and reajust
Ryujinx csproj a bit after some other changes
Also updated OpenTK.Graphics
2022-05-15 16:02:15 +02:00
Mary
3551c18902
sdl2: Update to Ryujinx.SDL2-CS 2.0.22 ( #3317 )
...
Update to latest SDL2 release
Fix #2905 , #2837 and #2767 .
2022-05-15 13:51:30 +02:00
Emmanuel Hansen
deb99d2cae
Avalonia UI - Part 1 ( #3270 )
...
* avalonia part 1
* remove vulkan ui backend
* move ui common files to ui common project
* get name for oading screen from device
* rebase.
* review 1
* review 1.1
* review
* cleanup
* addressed review
* use cancellation token
* review
* review
* rebased
* cancel library loading when closing window
* remove star image, use fonticon instead
* delete render control frame buffer when game ends. change position of fav star
* addressed @Thog review
* ensure the right ui is downloaded in updates
* fix crash when showing not supported dialog during controller request
* add prefix to artifact names
* Auto-format Avalonia project
* Fix input
* Fix build, simplify app disposal
* remove nv stutter thread
* addressed review
* add missing change
* maintain window size if new size is zero length
* add game, handheld, docked to local
* reverse scale main window
* Update de_DE.json
* Update de_DE.json
* Update de_DE.json
* Update italian json
* Update it_IT.json
* let render timer poll with no wait
* remove unused code
* more unused code
* enabled tiered compilation and trimming
* check if window event is not closed before signaling
* fix atmospher case
* locale fix
* locale fix
* remove explicit tiered compilation declarations
* Remove ) it_IT.json
* Remove ) de_DE.json
* Update it_IT.json
* Update pt_BR locale with latest strings
* Remove ')'
* add more strings to locale
* update locale
* remove extra slash
* remove extra slash
* set firmware version to 0 if key's not found
* fix
* revert timer changes
* lock on object instead
* Update it_IT.json
* remove unused method
* add load screen text to locale
* drop swap event
* Update de_DE.json
* Update de_DE.json
* do null check when stopping emulator
* Update de_DE.json
* Create tr_TR.json
* Add tr_TR
* Add tr_TR + Turkish
* Update it_IT.json
* Update Ryujinx.Ava/Input/AvaloniaMappingHelper.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* addressed review
* Update Ryujinx.Ava/Ui/Backend/OpenGl/OpenGlRenderTarget.cs
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* use avalonia's inbuilt renderer on linux
* removed whitespace
* workaround for queue render crash with vsync off
* drop custom backend
* format files
* fix not closing issue
* remove warnings
* rebase
* update avalonia library
* Reposition the Text and Button on About Page
* Assign build version
* Remove appveyor text
Co-authored-by: gdk <gab.dark.100@gmail.com>
Co-authored-by: Niwu34 <67392333+Niwu34@users.noreply.github.com>
Co-authored-by: Antonio Brugnolo <36473846+AntoSkate@users.noreply.github.com>
Co-authored-by: aegiff <99728970+aegiff@users.noreply.github.com>
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: MostlyWhat <78652091+MostlyWhat@users.noreply.github.com>
2022-05-15 13:30:15 +02:00