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