1127 Commits

Author SHA1 Message Date
gdkchan
fe8b25c8f1 Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
gdkchan
e1175c9453 Add XML documentation to Ryujinx.Graphics.Gpu.State 2020-01-09 02:13:00 +01:00
gdkchan
ea89d415bb Add XML documentation to Ryujinx.Graphics.Gpu.Shader 2020-01-09 02:13:00 +01:00
gdkchan
ef3ec2af26 Add XML documentation to Ryujinx.Graphics.Gpu.Memory 2020-01-09 02:13:00 +01:00
gdkchan
f5ce09c126 Change GPU errors to debug and reduce log messages 2020-01-09 02:13:00 +01:00
gdkchan
7cad07ecba Fix typos pointed out by LDj3SNuD 2020-01-09 02:13:00 +01:00
gdkchan
c68aed533e Remove some error logging to avoid log spam 2020-01-09 02:13:00 +01:00
gdkchan
7e2383aebb Fix missing S8 format on texture compatibility check 2020-01-09 02:13:00 +01:00
gdkchan
b73695ce3e Add XML documentation to Ryujinx.Graphics.Gpu.Image 2020-01-09 02:13:00 +01:00
gdkchan
69d040b0e4 Fix AstcDecoder Success property never being set to true 2020-01-09 02:13:00 +01:00
gdkchan
d42edddefd Some code cleanup 2020-01-09 02:13:00 +01:00
gdkchan
155c2ee2fe Add basic error logging to the GPU 2020-01-09 02:13:00 +01:00
Alex Barney
7c4256a713 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
gdkchan
f7277e76e3 Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
gdkchan
8e777be7b4 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
gdkchan
b9f3dad452 Stop memory modification check when a invalid address is found 2020-01-09 02:13:00 +01:00
gdkchan
d125c0ebfe Fix exception on shader translator when adding goto temp variable 2020-01-09 02:13:00 +01:00
gdkchan
c009bcc9e5 Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction 2020-01-09 02:13:00 +01:00
gdkchan
0dedc2bf7e Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
gdkchan
7bfde41ea4 Partial support for shader memory barriers 2020-01-09 02:13:00 +01:00
gdkchan
95fa831bdd Copy 16 bytes at a time for layout conversion, if possible 2020-01-09 02:13:00 +01:00
gdkchan
cd111a82aa Remove some usings that are not needed 2020-01-09 02:13:00 +01:00
gdkchan
49959e3cd0 Correct non-constant offset rewrite for texelFetch 2020-01-09 02:13:00 +01:00
gdkchan
84e5a32fd3 Support non-constant texture offsets on non-NVIDIA gpus 2020-01-09 02:13:00 +01:00
gdkchan
bd2d194183 Use correct shared memory size (in words, not bytes) 2020-01-09 02:13:00 +01:00
gdkchan
ef28012710 Ensure a valid shared memory size is used 2020-01-09 02:13:00 +01:00
gdkchan
8cd2823869 Use dispatch params shared memory size when available 2020-01-09 02:13:00 +01:00
gdkchan
46a6580c8b Use maximum shared memory size supported by hardware 2020-01-09 02:13:00 +01:00
gdkchan
dd6be05b96 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
6df062b81a Support 3D ASTC textures (using 2D blocks) 2020-01-09 02:13:00 +01:00
gdkchan
745814f94c Support bindless texture gather shader instruction 2020-01-09 02:13:00 +01:00
gdkchan
ab20360779 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
12f573e342 Fix wrong maximum id on sampler pool in some cases 2020-01-09 02:13:00 +01:00
gdkchan
d5e8fc5c08 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
5c2f6cc0b7 Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 2020-01-09 02:13:00 +01:00
gdk
85a00d4d76 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
d218b13ef1 Fix texture 0 not being bound for compute 2020-01-09 02:13:00 +01:00
gdk
f4582f9ff0 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
77e2ab39cf Simplified F2I shader instruction codegen 2020-01-09 02:13:00 +01:00
gdk
4b9867daae Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests 2020-01-09 02:13:00 +01:00
gdk
4584e6f6fc Fix shader code comparison method 2020-01-09 02:13:00 +01:00
gdk
08e426760a Optimize RangeList by not doing an allocation on every call to the Find methods 2020-01-09 02:13:00 +01:00
gdk
4dc7e8eecd Add PSET shader instruction 2020-01-09 02:13:00 +01:00
gdk
5acd231ba9 Revert "Simplify shader uniform buffer access codegen"
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdk
c558897292 Simplify shader uniform buffer access codegen 2020-01-09 02:13:00 +01:00
gdk
8c26739c58 Improved and simplified window texture presentation 2020-01-09 02:13:00 +01:00
gdk
e8e4133745 Small optimizations on texture and sampler pool invalidation 2020-01-09 02:13:00 +01:00
gdk
ba3e0a6050 Correct ordering of compute buffer bind 2020-01-09 02:13:00 +01:00
gdk
77070aec08 Share texture pool cache between graphics and compute 2020-01-09 02:13:00 +01:00
gdk
c46d0a66d0 Separate sub-channel state 2020-01-09 02:13:00 +01:00