Commit graph

942 commits

Author SHA1 Message Date
gdk 6a98c643ca Add a pass to turn global memory access into storage access, and do all storage related transformations on IR 2020-01-09 02:13:00 +01:00
gdk 396768f3b4 Fix texture 0 not being bound for compute 2020-01-09 02:13:00 +01:00
gdk 442485adb3 Partial support for branch with CC, and fix a edge case of branch out of loop on shaders 2020-01-09 02:13:00 +01:00
gdk 99f236fcf0 Simplified F2I shader instruction codegen 2020-01-09 02:13:00 +01:00
gdk b8528c6317 Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests 2020-01-09 02:13:00 +01:00
gdk 65428f5842 Fix shader code comparison method 2020-01-09 02:13:00 +01:00
gdk d0c7732fe2 Optimize RangeList by not doing an allocation on every call to the Find methods 2020-01-09 02:13:00 +01:00
gdk e0c95b18eb Add PSET shader instruction 2020-01-09 02:13:00 +01:00
gdk 73e68edd09 Revert "Simplify shader uniform buffer access codegen"
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdk 1df78e7ad6 Simplify shader uniform buffer access codegen 2020-01-09 02:13:00 +01:00
gdk 16d88c21fc Improved and simplified window texture presentation 2020-01-09 02:13:00 +01:00
gdk b2b2e04669 Small optimizations on texture and sampler pool invalidation 2020-01-09 02:13:00 +01:00
gdk 3ac023bb60 Correct ordering of compute buffer bind 2020-01-09 02:13:00 +01:00
gdk 79de8fd490 Share texture pool cache between graphics and compute 2020-01-09 02:13:00 +01:00
gdk 2437ccca0e Separate sub-channel state 2020-01-09 02:13:00 +01:00
gdk 3ca675223a Remove TranslatorConfig struct 2020-01-09 02:13:00 +01:00
gdk 6a8ba6d600 Add R2P shader instruction 2020-01-09 02:13:00 +01:00
gdk 8eb773d81f Make the shader translator more error resilient (part 2) 2020-01-09 02:13:00 +01:00
gdk 04102e5c9d Make the shader translator more error resilient 2020-01-09 02:13:00 +01:00
gdk eea73bc421 Add missing check for BRX, do not add a out of bounds block to the queue 2020-01-09 02:13:00 +01:00
gdk 6e399061ce Invalidate shaders when they are modified 2020-01-09 02:13:00 +01:00
gdk f0a59f345c Add partial support for the BRX shader instruction 2020-01-09 02:13:00 +01:00
gdk d274328c31 Fix image units bindings and shader dump in the presence of NOPs 2020-01-09 02:13:00 +01:00
gdk d620aa7d1b Revert "Check for ASTC support on the list of supported compressed formats"
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2020-01-09 02:13:00 +01:00
gdk cd47600e57 Check for ASTC support on the list of supported compressed formats 2020-01-09 02:13:00 +01:00
gdk f6e96551bf Fix regression on load/store local (wrong type) 2020-01-09 02:13:00 +01:00
gdk fd196b3d19 Do not throw for invalid ASTC compressed textures 2020-01-09 02:13:00 +01:00
gdk 769c02235f Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
gdk 1e8bc29f32 Use a more efficient range list on the buffer manager 2020-01-09 02:13:00 +01:00
gdk a31fced221 Remove some unused constants and other code 2020-01-09 02:13:00 +01:00
gdk 3ab5c23f49 Add partial support for array of samplers, and add pass to identify them from bindless texture accesses 2020-01-09 02:13:00 +01:00
gdk 63345a3098 Support window resizing 2020-01-09 02:13:00 +01:00
gdk 278a4c317c Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes 2020-01-09 02:13:00 +01:00
gdk d786d8d2b9 Support copy of slices to 3D textures, remove old 3D render target layered render support, do not delete textures with existing views created from them 2020-01-09 02:13:00 +01:00
gdk 3bcc395253 Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures 2020-01-09 02:13:00 +01:00
gdk d3fcab8511 Fix shader FMUL32I instruction saturation 2020-01-09 02:13:00 +01:00
gdk f2e84ff566 Flush buffers on copies 2020-01-09 02:13:00 +01:00
gdk 8cba252b23 Add per-source type memory change tracking, simplified state change tracking, other fixes 2020-01-09 02:13:00 +01:00
gdk 1b7d955195 Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
gdk 717ace6f6e Fix incorrect saturation on HADD2 and HMUL2 shader instructions 2020-01-09 02:13:00 +01:00
gdk 873bb4c15a Fix BC6 Signed/Unsigned float texture formats 2020-01-09 02:13:00 +01:00
gdk f90ee9b707 Handle quad and quad strip primitive types using triangle fans 2020-01-09 02:13:00 +01:00
gdk cdeeac163f Improved Min/Mip -> MinFilter enum conversion 2020-01-09 02:13:00 +01:00
gdk 1bb08742c1 Calculate width from stride on texture copies 2020-01-09 02:13:00 +01:00
gdk 1876b346fe Initial work 2020-01-09 02:13:00 +01:00
Thog f617fb542a Fix timezone month being reported incorrectly to games (#861)
Nintendo actually uses range from 1 to 12 for months (when original timezone code manage 0-11)
2020-01-09 11:08:57 +11:00
Thog 40039c5631
Fix ReactiveObject initial event not being propagated with boolean types (#860)
* Fix ReactiveObject initial event not being propagated with boolean types.

This fix the logger configuration initial state being ignored.
2020-01-05 17:35:55 +01:00
Thog 01daefe38d
Make sure to reload keys after Migration
This fix keys not being loaded on the first run right after migration.
2020-01-05 16:39:35 +01:00
Alex Barney 63b24b4af2 Rename "RyuFs" directory to "Ryujinx" and use the same savedata system the Switch uses (#801)
* Use savedata FS commands from LibHac

* Add EnsureSaveData. Use ApplicationControlProperty struct

* Add a function to migrate to the new directory layout

* LibHac update

* Change backup structure

* Don't create UI files in the save path

* Update RyuFs paths

* Add GetProgramIndexForAccessLog

Ryujinx only runs one program at a time, so always return values reflecting that

* Load control NCA when loading from an NSP

* Skip over UI stats when exiting

* Set TitleName and TitleId in more cases. Fix TitleID naming style

* Completely comment out GUI play stats code

* rebase

* Update LibHac

* Update LibHac

* Revert UI changes

* Do migration automatically at startup

* Rename RyuFs directory to Ryujinx

* Update RyuFs text

* Store savedata paths in the GUI

* Make "Open Save Directory" work

* Use a dummy NACP in EnsureSaveData if one is not loaded

* Remove manual migration button

* Respond to feedback

* Don't read the installer config to get a version string

* Delete nuget.config

* Exclude 'sdcard' and 'bis' during migration

Co-authored-by: Thog <thog@protonmail.com>
2020-01-05 12:49:44 +01:00
Thog e0e12b1672
Fix EphemeralNetworkSystemClock wrong steady clock (#858)
oops
2020-01-04 18:39:27 +01:00