Commit graph

828 commits

Author SHA1 Message Date
gdk
e891575510 Fix shader code comparison method 2019-12-24 22:56:16 -03:00
gdk
24bcfb16f5 Optimize RangeList by not doing an allocation on every call to the Find methods 2019-12-24 22:56:16 -03:00
gdk
2f8580a732 Add PSET shader instruction 2019-12-24 22:56:16 -03:00
gdk
d316b30f1d Revert "Simplify shader uniform buffer access codegen"
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2019-12-24 22:56:16 -03:00
gdk
84fccb5eae Simplify shader uniform buffer access codegen 2019-12-24 22:56:16 -03:00
gdk
15bfdb4da2 Improved and simplified window texture presentation 2019-12-24 22:56:16 -03:00
gdk
2e02abb10c Small optimizations on texture and sampler pool invalidation 2019-12-24 22:56:16 -03:00
gdk
20fde5daea Correct ordering of compute buffer bind 2019-12-24 22:56:16 -03:00
gdk
99386b9920 Share texture pool cache between graphics and compute 2019-12-24 22:56:16 -03:00
gdk
0f6751ae1f Separate sub-channel state 2019-12-24 22:56:16 -03:00
gdk
9ee4127fde Remove TranslatorConfig struct 2019-12-24 22:56:16 -03:00
gdk
c825379eb0 Add R2P shader instruction 2019-12-24 22:56:16 -03:00
gdk
9dce083a4b Make the shader translator more error resilient (part 2) 2019-12-24 22:56:16 -03:00
gdk
01e276bfaa Make the shader translator more error resilient 2019-12-24 22:56:16 -03:00
gdk
ca1c51229f Add missing check for BRX, do not add a out of bounds block to the queue 2019-12-24 22:56:16 -03:00
gdk
dcbaa05c36 Invalidate shaders when they are modified 2019-12-24 22:56:16 -03:00
gdk
cb228edf8b Add partial support for the BRX shader instruction 2019-12-24 22:56:16 -03:00
gdk
999574bfdb Fix image units bindings and shader dump in the presence of NOPs 2019-12-24 22:56:16 -03:00
gdk
f08dc9718b Revert "Check for ASTC support on the list of supported compressed formats"
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2019-12-24 22:56:16 -03:00
gdk
309e30805d Check for ASTC support on the list of supported compressed formats 2019-12-24 22:56:16 -03:00
gdk
7743e8809c Fix regression on load/store local (wrong type) 2019-12-24 22:56:16 -03:00
gdk
259211d7f6 Do not throw for invalid ASTC compressed textures 2019-12-24 22:56:16 -03:00
gdk
a3a98e9b64 Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2019-12-24 22:56:16 -03:00
gdk
80de5bc78b Use a more efficient range list on the buffer manager 2019-12-24 22:56:16 -03:00
gdk
73493cdf7e Remove some unused constants and other code 2019-12-24 22:56:16 -03:00
gdk
4f34b09885 Add partial support for array of samplers, and add pass to identify them from bindless texture accesses 2019-12-24 22:56:16 -03:00
gdk
74cf6b38ed Support window resizing 2019-12-24 22:56:16 -03:00
gdk
c5628edcb0 Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes 2019-12-24 22:56:16 -03:00
gdk
0036c062bf 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 2019-12-24 22:56:16 -03:00
gdk
a23dc3aa47 Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures 2019-12-24 22:56:16 -03:00
gdk
c2c304a4da Fix shader FMUL32I instruction saturation 2019-12-24 22:56:16 -03:00
gdk
cec877cfba Flush buffers on copies 2019-12-24 22:56:16 -03:00
gdk
e36fa7b8d1 Add per-source type memory change tracking, simplified state change tracking, other fixes 2019-12-24 22:56:16 -03:00
gdk
6aca80a310 Initial support for image stores, support texture sample on compute 2019-12-24 22:56:16 -03:00
gdk
e1ee6c1881 Fix incorrect saturation on HADD2 and HMUL2 shader instructions 2019-12-24 22:56:15 -03:00
gdk
ba5b5a37ba Fix BC6 Signed/Unsigned float texture formats 2019-12-24 22:56:15 -03:00
gdk
c7680ab505 Handle quad and quad strip primitive types using triangle fans 2019-12-24 22:56:15 -03:00
gdk
5828a3d355 Improved Min/Mip -> MinFilter enum conversion 2019-12-24 22:56:15 -03:00
gdk
e6eb55b548 Calculate width from stride on texture copies 2019-12-24 22:56:15 -03:00
gdk
06aee2e132 Initial work 2019-12-24 22:56:15 -03:00
gdkchan
87bfe681ef Fix remap ioctl map offset (#852)
* Fix remap ioctl map offset

* Correct offset type
2019-12-25 02:54:26 +01:00
Thog
17b2be7174 Also use Github Actions as a CI" (#847) 2019-12-23 06:36:24 +11:00
Thog
bce8972e7a Fix an endge case in bsd IClient::Poll implementation (#848)
This add some code to handle usage of poll without any fds.

This is required by Dark Souls Remastered main loop logic as it's
calling it without any fds during initialization.

===
General system stability improvements to enhance the user's experience.
2019-12-23 06:33:59 +11:00
Xpl0itR
bd010869a5 GUI: Implement context menu for the game table (#840)
* Add context menu to the game table

* Minor bugfix and cleanup

* add ability to create directory if it doesn't exist

* nit

* dont show menu when right-clicking nothing
2019-12-22 03:49:51 +01:00
Thog
01a4c80ed5
Rewrite the configuration system (#831)
The configuration system was quite fragile and too dependent on everything, this fix #812 .

The changes:

    The file configuration is now entirely independent from the internal configuration state.
    The file configuration is versioned (current version is 1).
    Every configuration elements are now reactive properties that the emulator can register on to handle initialization and configuration changes.
    The configuration system is now in Ryujinx.Common to be accessible on every projects.
    Discord integration is now independent from the UI and can be reloaded.
    The primary controller is now configurable at runtime (NOTE: the UI currently doesn't have any options to configure real controller).
    The logger is entirely reloadable.
    You can now hotplug your controller when the emulator is running.
    The logger now takes name for every LogTarget to make them removable at runtime.
    The logger now always add the default "console" target to avoid loosing early init logs.
    The configuration system now generates a default file configuration if it's missing or too new.
    General system stability improvements to enhance the user's experience
2019-12-21 20:52:31 +01:00
gdkchan
e5858e2c7d
Add a limit for the number of instructions in a function (#843) 2019-12-14 18:18:51 -03:00
Thog
d925de2d0e
Fix ILogger type and size decoding (#842)
* Fix ILogger type and size decoding

The type and size are custom encoded integer not byte.

This fix issues on games that send messages longer than 127 characters.

* Address gdk's comments
2019-12-08 14:35:25 +01:00
LDj3SNuD
8c85bdf2ed Implemented fast paths for: (#841)
* cpu-misc_opt

* B = ~b

* ;
2019-12-07 13:45:32 +01:00
jduncanator
d562ba37a0 Fully reverse swkbd configuration structure and follow-up to swkbd implementation (#839)
* am: Fully reverse swkbd configuration structure

* Add documentation

* Remove explicit access modifiers

* Fix formatting

* Fix further formatting issues
2019-12-03 05:00:56 +01:00
Ac_K
bb7600e215 prepo: Silent error while parsing report (#837)
Due to a guessed parsing implementation of the report, sometime it throw an error, since the data isn't really useful, it's better to silent possible exceptions with a message.
2019-11-29 15:42:44 +11:00