Commit graph

85 commits

Author SHA1 Message Date
riperiperi 6db16b4110
Only enumerate cached textures that are modified when flushing. (#918)
* Only enumarate cached textures that are modified when flushing, rather than all of them.

* Remove locking.

* Add missing clear.

* Remove texture from modified list when data is disposed.

In case the game does not call either flush method at any point.

* Add ReferenceEqualityComparer from jD for the HashSet
2020-02-07 08:49:26 +11:00
gdkchan 796e5d14b4
Use correct shader local memory size instead of a hardcoded size (#914)
* Use correct shader local size instead of a hardcoded size

* Remove unused uniform block

* Update XML doc

* Local memory size has 23 bits on maxwell

* Generate compute QMD struct from nv open doc header

* Remove dummy arrays when shared or local memory is not used, other improvements
2020-02-02 14:25:52 +11:00
gdkchan f373f870f7
Support configurable point size (#916) 2020-02-02 10:19:46 +11:00
gdkchan 532ccf929a Ignore exit flag on branch delay slot (#899) 2020-01-22 02:11:43 +01:00
gdkchan b8e3909d80 Add a GetSpan method to the memory manager and use it on GPU (#877) 2020-01-13 10:27:50 +11:00
gdkchan 29a825b43b Address PR feedback
Removes a useless null check

Aligns some values to improve readability
2020-01-09 02:13:00 +01:00
gdkchan 383452f5cf Fix some shader disposal issues 2020-01-09 02:13:00 +01:00
gdkchan a11f6f5235 Fix some spelling mistakes
Thanks to LDj3SNuD for spotting these
2020-01-09 02:13:00 +01:00
gdkchan 92703af555 Address PR feedback 2020-01-09 02:13:00 +01:00
gdkchan 9bfb373bdf Remove more unused code 2020-01-09 02:13:00 +01:00
gdkchan 59fdaa744b GPU resource disposal 2020-01-09 02:13:00 +01:00
gdkchan 4a4e2f7c72 Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
gdkchan 80ff2eab29 Change GPU errors to debug and reduce log messages 2020-01-09 02:13:00 +01:00
gdkchan 654e617fe7 Some code cleanup 2020-01-09 02:13:00 +01:00
gdkchan 947e14d3be Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
gdkchan 9d7a142a48 Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
gdkchan 3323a3a042 Use correct shared memory size (in words, not bytes) 2020-01-09 02:13:00 +01:00
gdkchan ad3bc2531b Ensure a valid shared memory size is used 2020-01-09 02:13:00 +01:00
gdkchan 66d91cbc6c Use dispatch params shared memory size when available 2020-01-09 02:13:00 +01:00
gdkchan 375ee0ba96 Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw 2020-01-09 02:13:00 +01:00
gdkchan 7ce5584f9e Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?) 2020-01-09 02:13:00 +01:00
gdkchan 17fb11ddb9 Fix wrong maximum id on sampler pool in some cases 2020-01-09 02:13:00 +01:00
gdkchan cb171f6ebf Support shared color mask, implement more shader instructions
Support shared color masks (used by Nouveau and maybe the NVIDIA
driver).
Support draw buffers (also required by OpenGL).
Support viewport transform disable (disabled for now as it breaks some
games).
Fix instanced rendering draw being ignored for multi draw.
Fix IADD and IADD3 immediate shader encodings, that was not matching
some ops.
Implement FFMA32I shader instruction.
Implement IMAD shader instruction.
2020-01-09 02:13:00 +01:00
gdkchan e25b7c9848 Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 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 3ac023bb60 Correct ordering of compute buffer bind 2020-01-09 02:13:00 +01:00
gdk 2437ccca0e Separate sub-channel state 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 d274328c31 Fix image units bindings and shader dump in the presence of NOPs 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 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 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 1876b346fe Initial work 2020-01-09 02:13:00 +01:00