gdkchan
e4cea29bac
Add XML documentation to Ryujinx.Graphics.Gpu.Shader
2024-02-22 19:14:40 -05:00
gdkchan
1a622faeeb
Add XML documentation to Ryujinx.Graphics.Gpu.Memory
2024-02-22 19:14:40 -05:00
gdkchan
5b4b5856f0
Change GPU errors to debug and reduce log messages
2024-02-22 19:14:40 -05:00
gdkchan
e5f8cafeb3
Fix typos pointed out by LDj3SNuD
2024-02-22 19:14:40 -05:00
gdkchan
aee3dd5568
Remove some error logging to avoid log spam
2024-02-22 19:14:40 -05:00
gdkchan
fc8175689b
Fix missing S8 format on texture compatibility check
2024-02-22 19:14:40 -05:00
gdkchan
836019f030
Add XML documentation to Ryujinx.Graphics.Gpu.Image
2024-02-22 19:14:40 -05:00
gdkchan
06030a5387
Fix AstcDecoder Success property never being set to true
2024-02-22 19:14:40 -05:00
gdkchan
872b2e5aea
Some code cleanup
2024-02-22 19:14:39 -05:00
gdkchan
ab37a9fed1
Add basic error logging to the GPU
2024-02-22 19:14:39 -05:00
Alex Barney
b6b9054f8f
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
2024-02-22 19:14:39 -05:00
gdkchan
8a33757506
Reimplement limited bindless textures support
2024-02-22 19:14:39 -05:00
gdkchan
874a574b96
Initialize GPU physical memory accessor from KProcess, to allow homebrew that never maps anything on the GPU to work
2024-02-22 19:14:39 -05:00
gdkchan
ae1e5ba5f5
Stop memory modification check when a invalid address is found
2024-02-22 19:14:39 -05:00
gdkchan
25880caf22
Fix exception on shader translator when adding goto temp variable
2024-02-22 19:14:39 -05:00
gdkchan
c29722ca44
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2024-02-22 19:14:39 -05:00
gdkchan
1cc0d8ae11
Support texture rectangle targets (non-normalized coords)
2024-02-22 19:14:39 -05:00
gdkchan
147787b114
Partial support for shader memory barriers
2024-02-22 19:14:39 -05:00
gdkchan
39398258a8
Copy 16 bytes at a time for layout conversion, if possible
2024-02-22 19:14:39 -05:00
gdkchan
874fede031
Remove some usings that are not needed
2024-02-22 19:14:39 -05:00
gdkchan
3c37c94ed1
Correct non-constant offset rewrite for texelFetch
2024-02-22 19:14:39 -05:00
gdkchan
0e1f133afe
Support non-constant texture offsets on non-NVIDIA gpus
2024-02-22 19:14:38 -05:00
gdkchan
c6ed61422a
Use correct shared memory size (in words, not bytes)
2024-02-22 19:14:38 -05:00
gdkchan
a60638a2b6
Ensure a valid shared memory size is used
2024-02-22 19:14:38 -05:00
gdkchan
f9a31701da
Use dispatch params shared memory size when available
2024-02-22 19:14:38 -05:00
gdkchan
f93c027a8e
Use maximum shared memory size supported by hardware
2024-02-22 19:14:38 -05:00
gdkchan
6832d03ffb
Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw
2024-02-22 19:14:38 -05:00
gdkchan
e41e003d15
Support 3D ASTC textures (using 2D blocks)
2024-02-22 19:14:38 -05:00
gdkchan
fe6279b8fa
Support bindless texture gather shader instruction
2024-02-22 19:14:38 -05:00
gdkchan
3e1c91ea95
Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?)
2024-02-22 19:14:38 -05:00
gdkchan
4507ebbca6
Fix wrong maximum id on sampler pool in some cases
2024-02-22 19:14:38 -05:00
gdkchan
d1dddbe402
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.
2024-02-22 19:14:37 -05:00
gdkchan
914fb9bc45
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2024-02-22 19:14:37 -05:00
gdk
bca8e0f58e
Add a pass to turn global memory access into storage access, and do all storage related transformations on IR
2024-02-22 19:14:37 -05:00
gdk
6a38d22dd7
Fix texture 0 not being bound for compute
2024-02-22 19:14:37 -05:00
gdk
14064061a2
Partial support for branch with CC, and fix a edge case of branch out of loop on shaders
2024-02-22 19:14:37 -05:00
gdk
889090fb6a
Simplified F2I shader instruction codegen
2024-02-22 19:14:37 -05:00
gdk
31dd3ecf34
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2024-02-22 19:14:37 -05:00
gdk
290762192e
Fix shader code comparison method
2024-02-22 19:14:37 -05:00
gdk
d767af9985
Optimize RangeList by not doing an allocation on every call to the Find methods
2024-02-22 19:14:37 -05:00
gdk
10c9ef35c6
Add PSET shader instruction
2024-02-22 19:14:37 -05:00
gdk
731d58e42d
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2024-02-22 19:14:37 -05:00
gdk
517f5d4ff0
Simplify shader uniform buffer access codegen
2024-02-22 19:14:36 -05:00
gdk
0b2cf9c6cd
Improved and simplified window texture presentation
2024-02-22 19:14:36 -05:00
gdk
7e6ba6b554
Small optimizations on texture and sampler pool invalidation
2024-02-22 19:14:36 -05:00
gdk
b19ac2b1cf
Correct ordering of compute buffer bind
2024-02-22 19:14:36 -05:00
gdk
06c510932b
Share texture pool cache between graphics and compute
2024-02-22 19:14:36 -05:00
gdk
c5f633b892
Separate sub-channel state
2024-02-22 19:14:36 -05:00
gdk
39bf6c5239
Remove TranslatorConfig struct
2024-02-22 19:14:36 -05:00
gdk
acd6245584
Add R2P shader instruction
2024-02-22 19:14:36 -05:00