gdkchan
c1a2b2206a
Add XML documentation to Ryujinx.Graphics.Gpu.State
2020-01-05 13:48:39 -03:00
gdkchan
4c09bc5756
Add XML documentation to Ryujinx.Graphics.Gpu.Shader
2020-01-05 13:48:39 -03:00
gdkchan
f399134ae5
Add XML documentation to Ryujinx.Graphics.Gpu.Memory
2020-01-05 13:48:39 -03:00
gdkchan
f1014e802d
Change GPU errors to debug and reduce log messages
2020-01-05 13:48:39 -03:00
gdkchan
9f23e6b460
Fix typos pointed out by LDj3SNuD
2020-01-05 13:48:39 -03:00
gdkchan
d1cdf6015b
Remove some error logging to avoid log spam
2020-01-05 13:48:39 -03:00
gdkchan
730f9556fa
Fix missing S8 format on texture compatibility check
2020-01-05 13:48:39 -03:00
gdkchan
28559e8811
Add XML documentation to Ryujinx.Graphics.Gpu.Image
2020-01-05 13:48:39 -03:00
gdkchan
b6ca70cba6
Fix AstcDecoder Success property never being set to true
2020-01-05 13:48:39 -03:00
gdkchan
9302bdd9b7
Some code cleanup
2020-01-05 13:48:39 -03:00
gdkchan
3de3202394
Add basic error logging to the GPU
2020-01-05 13:48:39 -03:00
Alex Barney
259d4febc7
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-05 13:48:39 -03:00
gdkchan
7b0465b008
Reimplement limited bindless textures support
2020-01-05 13:48:38 -03:00
gdkchan
ff31ac3529
Initialize GPU physical memory accessor from KProcess, to allow homebrew that never maps anything on the GPU to work
2020-01-05 13:48:38 -03:00
gdkchan
90c6a2eef6
Stop memory modification check when a invalid address is found
2020-01-05 13:48:38 -03:00
gdkchan
a0f5aa5d78
Fix exception on shader translator when adding goto temp variable
2020-01-05 13:48:38 -03:00
gdkchan
b97c24d3c5
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2020-01-05 13:48:38 -03:00
gdkchan
eaa3804894
Support texture rectangle targets (non-normalized coords)
2020-01-05 13:48:38 -03:00
gdkchan
adcb5bbe54
Partial support for shader memory barriers
2020-01-05 13:48:38 -03:00
gdkchan
95d7686a81
Copy 16 bytes at a time for layout conversion, if possible
2020-01-05 13:48:38 -03:00
gdkchan
808a8fb3ca
Remove some usings that are not needed
2020-01-05 13:48:38 -03:00
gdkchan
ab60879d64
Correct non-constant offset rewrite for texelFetch
2020-01-05 13:48:38 -03:00
gdkchan
c0941fcd92
Support non-constant texture offsets on non-NVIDIA gpus
2020-01-05 13:48:38 -03:00
gdkchan
c286508354
Use correct shared memory size (in words, not bytes)
2020-01-05 13:48:38 -03:00
gdkchan
c8b49ecf0f
Ensure a valid shared memory size is used
2020-01-05 13:48:38 -03:00
gdkchan
494b758937
Use dispatch params shared memory size when available
2020-01-05 13:48:38 -03:00
gdkchan
ae9ed388b1
Use maximum shared memory size supported by hardware
2020-01-05 13:48:38 -03:00
gdkchan
d428170695
Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw
2020-01-05 13:48:38 -03:00
gdkchan
c9c6efbe4f
Support 3D ASTC textures (using 2D blocks)
2020-01-05 13:48:38 -03:00
gdkchan
223482b9a5
Support bindless texture gather shader instruction
2020-01-05 13:48:38 -03:00
gdkchan
a513794992
Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?)
2020-01-05 13:48:38 -03:00
gdkchan
a4acdedf73
Fix wrong maximum id on sampler pool in some cases
2020-01-05 13:48:38 -03:00
gdkchan
a2bf9e084b
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-05 13:48:38 -03:00
gdkchan
a67686b4c0
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2020-01-05 13:48:38 -03:00
gdk
554aa5f16d
Add a pass to turn global memory access into storage access, and do all storage related transformations on IR
2020-01-05 13:48:38 -03:00
gdk
9c486bd1ef
Fix texture 0 not being bound for compute
2020-01-05 13:48:38 -03:00
gdk
f679a0398f
Partial support for branch with CC, and fix a edge case of branch out of loop on shaders
2020-01-05 13:48:38 -03:00
gdk
716e0d8657
Simplified F2I shader instruction codegen
2020-01-05 13:48:38 -03:00
gdk
c83530d744
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2020-01-05 13:48:38 -03:00
gdk
3c6df2d218
Fix shader code comparison method
2020-01-05 13:48:38 -03:00
gdk
8523b3fb17
Optimize RangeList by not doing an allocation on every call to the Find methods
2020-01-05 13:48:38 -03:00
gdk
09f972faa3
Add PSET shader instruction
2020-01-05 13:48:38 -03:00
gdk
e920960d96
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-05 13:48:38 -03:00
gdk
eb76e048cc
Simplify shader uniform buffer access codegen
2020-01-05 13:48:37 -03:00
gdk
13aaba88f7
Improved and simplified window texture presentation
2020-01-05 13:48:37 -03:00
gdk
1ccc370c4f
Small optimizations on texture and sampler pool invalidation
2020-01-05 13:48:37 -03:00
gdk
a5847e6c48
Correct ordering of compute buffer bind
2020-01-05 13:48:37 -03:00
gdk
31f8d9b412
Share texture pool cache between graphics and compute
2020-01-05 13:48:37 -03:00
gdk
3800b07f01
Separate sub-channel state
2020-01-05 13:48:37 -03:00
gdk
fcb98959f2
Remove TranslatorConfig struct
2020-01-05 13:48:37 -03:00