* WIP barrier batch
* Add store op to image usage barrier
* Dispose the barrier batch
* Fix encoding?
* Handle read and write on the load op barrier.
Load op consumes read accesses but does not add one, as the only other operation that can read is another load.
* Simplify null check
* Insert barriers on program change in case stale bindings are reintroduced
* Not sure how I messed this one up
* Improve location of bindings barrier update
This is also important for emergency deferred clear
* Update src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs
Co-authored-by: Mary Guillemard <thog@protonmail.com>
---------
Co-authored-by: Mary Guillemard <thog@protonmail.com>
* Fix Push Descriptors
* Use push descriptor templates
* Use reserved bindings
* Formatting
* Disable when using MVK
("my heart will go on" starts playing as thousands of mac users shed a tear in unison)
* Introduce limit on push descriptor binding number
The bitmask used for updating push descriptors is ulong, so only 64 bindings can be tracked for now.
* Address feedback
* Fix logic for binding rejection
Should only offset limit when reserved bindings are less than the requested one.
* Workaround pascal and older nv bug
* Add GPU number detection for nvidia
* Only do workaround if it's valid to do so.
* macOS: Stop storing user data in Documents for some users; fix symlinks
* Use SupportedOSPlatform tag, catch exceptions, log warning instead of error
* Provide best path hints to user if symlink fixup fails
---------
Co-authored-by: jcm <butt@butts.com>
* Update About Window like requested in PR #6267
* Feedback
* Apply suggestions from code review
Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
* Fix indents
---------
Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
* Add missing RID exclusions for linux-arm64
Signed-off-by: Mary Guillemard <mary@mary.zone>
* Remove libsoundio.so from linux-arm64 deployment
This is a x86_64 library.
Signed-off-by: Mary Guillemard <mary@mary.zone>
---------
Signed-off-by: Mary Guillemard <mary@mary.zone>
* ci: Enable Linux ARM64 on build and release
Signed-off-by: Mary <mary@mary.zone>
* Address gdkchan comment
Signed-off-by: Mary <mary@mary.zone>
---------
Signed-off-by: Mary <mary@mary.zone>
Previously we were only doing it for Vulkan, but it turns out that
not setting it when PROGRAM_POINT_SIZE is set is considered UB
on OpenGL Core.
Signed-off-by: Mary <mary@mary.zone>
This makes IOpenGLContext.HasContext not static and be implementable.
By doing this, we can support more than WGL and WGL.
This also allows the SDL2 headless version to run under Wayland.
Signed-off-by: Mary <mary@mary.zone>
* Write/read guest state to context for sync points, stop reserving stack for them
* Fix UsedGprsMask not being updated when allocating with preferencing
* POP should be also considered a return
* Switch from using Flex panel to a Wrap panel for Grid view. This allows keyboard navigation.
* Stop using Flex panel in favor of Avalonia Wrap Panel.
* Redact usernames from logs
* Changed internal vars to private and applied naming rules
* Use Directory.GetParent() instead of DirectoryInfo
* Update src/Ryujinx.Common/Logging/Logger.cs
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* AccountService: Cache token data
This method appears to indicate that the token returned should be cached. I've made it so that it generates a token that lasts until its expiration time, and reuses it on subsequent calls.
* Private naming convention
* Vulkan: Add Render Pass / Framebuffer Cache
Cache is owned by each texture view.
- Window's way of getting framebuffer cache for swapchain images is really messy - it creates a TextureView out of just a vk image view, with invalid info and no storage.
* Clear up limited use of alternate TextureView constructor
* Formatting and messages
* More formatting and messages
I apologize for `_colorsCanonical[index]?.Storage?.InsertReadToWriteBarrier`, the compiler made me do it
* Self review, change GetFramebuffer to GetPassAndFramebuffer
* Avoid allocations on Remove for HashTableSlim
* Member can be readonly
* Generate texture create info for swapchain images
* Improve hashcode
* Remove format, samples, size and isDepthStencil when possible
Tested in a number of games, seems fine.
* Removed load op barriers
These can be introduced later.
* Reintroduce UpdateModifications
Technically meant to be replaced by load op stuff.