Commit graph

2926 commits

Author SHA1 Message Date
gdkchan
20c3d0684d Address PR feedback
Removes a useless null check

Aligns some values to improve readability
2024-02-22 19:14:42 -05:00
gdkchan
fc74a27dab Remove some unused args on the shader translator 2024-02-22 19:14:42 -05:00
gdkchan
03251fa7b2 Fix FADD32I check for Ra negation 2024-02-22 19:14:42 -05:00
gdkchan
e9b5b9106f Remove FFMPEG dependency from README 2024-02-22 19:14:41 -05:00
gdkchan
002f0ce334 Address PR feedback
Add TODO comment for GL_EXT_polygon_offset_clamp
2024-02-22 19:14:41 -05:00
gdkchan
c88c7e2f6a Fix some shader disposal issues 2024-02-22 19:14:41 -05:00
gdkchan
a6f2127cbb Fix some spelling mistakes
Thanks to LDj3SNuD for spotting these
2024-02-22 19:14:41 -05:00
gdkchan
a5dd864c6a Fix ShaderTools 2024-02-22 19:14:41 -05:00
gdkchan
c56567a0f1 Address PR feedback 2024-02-22 19:14:41 -05:00
gdkchan
3ede36da5c Target .NET Core 3.0 for NVDEC project 2024-02-22 19:14:41 -05:00
gdkchan
2dd6fa52df Re-add NVDEC project (not integrated) 2024-02-22 19:14:41 -05:00
gdkchan
6646d138ee More code cleanup 2024-02-22 19:14:41 -05:00
gdkchan
579f09d943 Remove more unused code 2024-02-22 19:14:41 -05:00
gdkchan
5584ce6f7e GPU resource disposal 2024-02-22 19:14:41 -05:00
gdkchan
03843350f4 Add XML documentation to Ryujinx.Graphics.Gpu 2024-02-22 19:14:40 -05:00
gdkchan
0aab56130b Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2024-02-22 19:14:40 -05:00
gdkchan
75e5acdadf Add XML documentation to Ryujinx.Graphics.Gpu.State 2024-02-22 19:14:40 -05:00
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