Commit Graph

1035 Commits

Author SHA1 Message Date
23d8516763 Fix ShaderTools 2020-01-09 02:13:00 +01:00
92703af555 Address PR feedback 2020-01-09 02:13:00 +01:00
40ef18d759 Target .NET Core 3.0 for NVDEC project 2020-01-09 02:13:00 +01:00
0dbfe3c23e Re-add NVDEC project (not integrated) 2020-01-09 02:13:00 +01:00
6e092c0558 More code cleanup 2020-01-09 02:13:00 +01:00
9bfb373bdf Remove more unused code 2020-01-09 02:13:00 +01:00
59fdaa744b GPU resource disposal 2020-01-09 02:13:00 +01:00
f7bcc884e4 Add XML documentation to Ryujinx.Graphics.Gpu 2020-01-09 02:13:00 +01:00
4a4e2f7c72 Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
d1c0a64e6a Add XML documentation to Ryujinx.Graphics.Gpu.State 2020-01-09 02:13:00 +01:00
430faeb8ef Add XML documentation to Ryujinx.Graphics.Gpu.Shader 2020-01-09 02:13:00 +01:00
e58b540c4e Add XML documentation to Ryujinx.Graphics.Gpu.Memory 2020-01-09 02:13:00 +01:00
80ff2eab29 Change GPU errors to debug and reduce log messages 2020-01-09 02:13:00 +01:00
bacb278dc1 Fix typos pointed out by LDj3SNuD 2020-01-09 02:13:00 +01:00
c5b9088914 Remove some error logging to avoid log spam 2020-01-09 02:13:00 +01:00
ffaad0eaac Fix missing S8 format on texture compatibility check 2020-01-09 02:13:00 +01:00
32764f9560 Add XML documentation to Ryujinx.Graphics.Gpu.Image 2020-01-09 02:13:00 +01:00
53bbc1311f Fix AstcDecoder Success property never being set to true 2020-01-09 02:13:00 +01:00
654e617fe7 Some code cleanup 2020-01-09 02:13:00 +01:00
af8498d679 Add basic error logging to the GPU 2020-01-09 02:13:00 +01:00
d1ab9fb42c ASTC optimizations (#845)
* ASTC optimizations

* Move code to Ryujinx.Common

* Support 3D textures

* Address feedback

* Remove ASTC logging

* Use stackalloc instead of a Buffer20 struct

* Code style and cleanup

* Respond to feedback

* Rearrange public/private property ordering
2020-01-09 02:13:00 +01:00
947e14d3be Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
647d0962df Initialize GPU physical memory accessor from KProcess, to allow homebrew that never maps anything on the GPU to work 2020-01-09 02:13:00 +01:00
6cf9a04d98 Stop memory modification check when a invalid address is found 2020-01-09 02:13:00 +01:00
a718b60d06 Fix exception on shader translator when adding goto temp variable 2020-01-09 02:13:00 +01:00
82957fa96b Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction 2020-01-09 02:13:00 +01:00
9d7a142a48 Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
2eccc7023a Partial support for shader memory barriers 2020-01-09 02:13:00 +01:00
1a550e810c Copy 16 bytes at a time for layout conversion, if possible 2020-01-09 02:13:00 +01:00
cfe5fec0cf Remove some usings that are not needed 2020-01-09 02:13:00 +01:00
171c3d54c6 Correct non-constant offset rewrite for texelFetch 2020-01-09 02:13:00 +01:00
f2c85c5d58 Support non-constant texture offsets on non-NVIDIA gpus 2020-01-09 02:13:00 +01:00
3323a3a042 Use correct shared memory size (in words, not bytes) 2020-01-09 02:13:00 +01:00
ad3bc2531b Ensure a valid shared memory size is used 2020-01-09 02:13:00 +01:00
66d91cbc6c Use dispatch params shared memory size when available 2020-01-09 02:13:00 +01:00
0d9672f3ae Use maximum shared memory size supported by hardware 2020-01-09 02:13:00 +01:00
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
23b8a86d35 Support 3D ASTC textures (using 2D blocks) 2020-01-09 02:13:00 +01:00
6b13c5b439 Support bindless texture gather shader instruction 2020-01-09 02:13:00 +01:00
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
17fb11ddb9 Fix wrong maximum id on sampler pool in some cases 2020-01-09 02:13:00 +01:00
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
e25b7c9848 Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 2020-01-09 02:13:00 +01:00
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