gdkchan and GitHub
8bb64ac69c
Improve shader sampler type selection ( #989 )
2020-03-15 11:24:45 +11:00
gdkchan and GitHub
ff2bac9c90
Implement MME shadow RAM ( #987 )
2020-03-13 12:30:26 +11:00
gdkchan and GitHub
c26f3774bd
Implement VMULL, VMLSL, VRSHR, VQRSHRN, VQRSHRUN AArch32 instructions + other fixes ( #977 )
...
* Implement VMULL, VMLSL, VQRSHRN, VQRSHRUN AArch32 instructions plus other fixes
* Re-align opcode table
* Re-enable undefined, use subclasses to fix checks
* Add test and fix VRSHR instruction
* PR feedback
2020-03-11 11:49:27 +11:00
gdkchan and GitHub
89ccec197e
Implement VMOVL and VORR.I32 AArch32 SIMD instructions ( #960 )
...
* Implement VMOVL and VORR.I32 AArch32 SIMD instructions
* Rename <dt> to <size> on test description
* Rename Widen to Long and improve VMOVL implementation a bit
2020-03-10 16:17:30 +11:00
gdkchan and GitHub
61d79facd1
Optimize x64 loads and stores using complex addressing modes ( #972 )
...
* Optimize x64 loads and stores using complex addressing modes
* This was meant to be used for testing
2020-03-10 09:29:34 +11:00
gdkchan and GitHub
ab3b6ea6d4
A64 SIMD LDP and STP with size = 0b11 is undefined ( #971 )
2020-03-07 13:39:52 +11:00
gdkchan and GitHub
d9ed827696
Don't decode blocks starting outside mapped memory & undefined instead of throw on invalid sysreg coprocessor ( #964 )
...
* Don't decode blocks in invalid memory locations.
* Emit undefined instruction on invalid coprocessor
...rather than throwing.
* Call undefined instruction directly.
2020-03-04 16:25:27 -03:00
gdkchan and GitHub
dc97457bf0
Initial support for double precision shader instructions. ( #963 )
...
* Implement DADD, DFMA and DMUL shader instructions
* Rename FP to FP32
* Correct double immediate
* Classic mistake
2020-03-03 15:02:08 +01:00
7d1a294eae
Implement SMULWB, SMULWT, SMLAWB, SMLAWT (AArch32) ( #953 )
...
* Implement SMULWB, SMULWT, SMLAWB, SMLAWT, and add tests for some multiply instructions
* Improve test descriptions
* Rename SMULH to SMUL__
Co-authored-by: jduncanator <1518948+jduncanator@users.noreply.github.com >
2020-03-01 18:47:05 +11:00
gdkchan and GitHub
fb0939f9b6
Add SSAT, SSAT16, USAT and USAT16 ARM32 instructions ( #954 )
...
* Implement SMULWB, SMULWT, SMLAWB, SMLAWT, and add tests for some multiply instructions
* Improve test descriptions
* Rename SMULH to SMUL__
* Add SSAT, SSAT16, USAT and USAT16 ARM32 instructions
* Fix new tests
* Replace AND 0xFFFF with 16-bits zero extension (more efficient)
2020-03-01 07:51:55 +11:00
gdkchan and GitHub
b8ee5b15ab
Implement FACGE and FACGT (Scalar and Vector) AArch64 SIMD instructions ( #956 )
2020-03-01 07:51:17 +11:00
gdkchan and GitHub
6204f0e47a
Set Undefined instruction emitter for Undefined property on InstDescriptor ( #957 )
2020-02-29 12:12:15 +01:00
gdkchan and GitHub
e5f78fb1d4
Replace LinkedList by IntrusiveList to avoid allocations on JIT ( #931 )
...
* Replace LinkedList by IntrusiveList to avoid allocations on JIT
* Fix wrong replacements
2020-02-17 22:30:54 +01:00
gdkchan and GitHub
9e4f668f6c
Update bindless to indexed conversion code pattern match ( #938 )
...
* Update bindless to indexed conversion code pattern match
* Correct index shift
2020-02-14 11:29:58 +01:00
gdkchan and GitHub
5a9dba0756
Sign-extend shader memory instruction offsets ( #934 )
2020-02-14 01:48:07 +01:00
gdkchan and GitHub
7e4d986a73
Support compute uniform buffers emulated with global memory ( #924 )
2020-02-11 01:10:05 +01:00
gdkchan and GitHub
796e5d14b4
Use correct shader local memory size instead of a hardcoded size ( #914 )
...
* Use correct shader local size instead of a hardcoded size
* Remove unused uniform block
* Update XML doc
* Local memory size has 23 bits on maxwell
* Generate compute QMD struct from nv open doc header
* Remove dummy arrays when shared or local memory is not used, other improvements
2020-02-02 14:25:52 +11:00
gdkchan and GitHub
f373f870f7
Support configurable point size ( #916 )
2020-02-02 10:19:46 +11:00
gdkchan and GitHub
a1a5341baf
Support flat interpolation qualifier on shaders ( #915 )
2020-02-02 10:18:58 +11:00
gdkchan and GitHub
0202f150d4
Enable stencil texturing ( fixes #866 ) ( #910 )
2020-01-31 14:42:03 +11:00
gdkchan and GitHub
793f38b9aa
Discard higher 32-bits of IPC message magic and command number ( #911 )
2020-01-30 21:43:47 +01:00
gdkchan and Thog
532ccf929a
Ignore exit flag on branch delay slot ( #899 )
2020-01-22 02:11:43 +01:00
gdkchan and Thog
81cca88bcd
Fix shader output color buffer index when non-sequential render targets are used ( #895 )
2020-01-19 00:09:46 +01:00
gdkchan and Thog
595e7716d8
Support audio effect output status ( #890 )
...
* Support audio effect output status
* Remove extra line
2020-01-17 10:07:27 +01:00
gdkchan and Thog
a5e20a8fd1
Add sampler border color support on the GPU ( #893 )
2020-01-17 09:55:38 +01:00
gdkchan and jduncanator
b8e3909d80
Add a GetSpan method to the memory manager and use it on GPU ( #877 )
2020-01-13 10:27:50 +11:00
gdkchan and jduncanator
8b90924c1e
Support instanced draw of quads" ( #881 )
2020-01-13 09:14:50 +11:00
gdkchan and jduncanator
2bb39ff03e
Replace glFinish with barrier for WaitForIdle ( #878 )
2020-01-13 09:12:40 +11:00
gdkchan and Thog
80707f9311
Add runtime identifiers to new projects
2020-01-09 02:13:00 +01:00
gdkchan and Thog
29a825b43b
Address PR feedback
...
Removes a useless null check
Aligns some values to improve readability
2020-01-09 02:13:00 +01:00
gdkchan and Thog
912e43e979
Remove some unused args on the shader translator
2020-01-09 02:13:00 +01:00
gdkchan and Thog
6407729a1d
Fix FADD32I check for Ra negation
2020-01-09 02:13:00 +01:00
gdkchan and Thog
e3c919f086
Remove FFMPEG dependency from README
2020-01-09 02:13:00 +01:00
gdkchan and Thog
18814d44b2
Address PR feedback
...
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09 02:13:00 +01:00
gdkchan and Thog
383452f5cf
Fix some shader disposal issues
2020-01-09 02:13:00 +01:00
gdkchan and Thog
a11f6f5235
Fix some spelling mistakes
...
Thanks to LDj3SNuD for spotting these
2020-01-09 02:13:00 +01:00
gdkchan and Thog
23d8516763
Fix ShaderTools
2020-01-09 02:13:00 +01:00
gdkchan and Thog
92703af555
Address PR feedback
2020-01-09 02:13:00 +01:00
gdkchan and Thog
40ef18d759
Target .NET Core 3.0 for NVDEC project
2020-01-09 02:13:00 +01:00
gdkchan and Thog
0dbfe3c23e
Re-add NVDEC project (not integrated)
2020-01-09 02:13:00 +01:00
gdkchan and Thog
6e092c0558
More code cleanup
2020-01-09 02:13:00 +01:00
gdkchan and Thog
9bfb373bdf
Remove more unused code
2020-01-09 02:13:00 +01:00
gdkchan and Thog
59fdaa744b
GPU resource disposal
2020-01-09 02:13:00 +01:00
gdkchan and Thog
f7bcc884e4
Add XML documentation to Ryujinx.Graphics.Gpu
2020-01-09 02:13:00 +01:00
gdkchan and Thog
4a4e2f7c72
Add XML documentation to Ryujinx.Graphics.Gpu.Engine
2020-01-09 02:13:00 +01:00
gdkchan and Thog
d1c0a64e6a
Add XML documentation to Ryujinx.Graphics.Gpu.State
2020-01-09 02:13:00 +01:00
gdkchan and Thog
430faeb8ef
Add XML documentation to Ryujinx.Graphics.Gpu.Shader
2020-01-09 02:13:00 +01:00
gdkchan and Thog
e58b540c4e
Add XML documentation to Ryujinx.Graphics.Gpu.Memory
2020-01-09 02:13:00 +01:00
gdkchan and Thog
80ff2eab29
Change GPU errors to debug and reduce log messages
2020-01-09 02:13:00 +01:00
gdkchan and Thog
bacb278dc1
Fix typos pointed out by LDj3SNuD
2020-01-09 02:13:00 +01:00
gdkchan and Thog
c5b9088914
Remove some error logging to avoid log spam
2020-01-09 02:13:00 +01:00
gdkchan and Thog
ffaad0eaac
Fix missing S8 format on texture compatibility check
2020-01-09 02:13:00 +01:00
gdkchan and Thog
32764f9560
Add XML documentation to Ryujinx.Graphics.Gpu.Image
2020-01-09 02:13:00 +01:00
gdkchan and Thog
53bbc1311f
Fix AstcDecoder Success property never being set to true
2020-01-09 02:13:00 +01:00
gdkchan and Thog
654e617fe7
Some code cleanup
2020-01-09 02:13:00 +01:00
gdkchan and Thog
af8498d679
Add basic error logging to the GPU
2020-01-09 02:13:00 +01:00
gdkchan and Thog
947e14d3be
Reimplement limited bindless textures support
2020-01-09 02:13:00 +01:00
gdkchan and Thog
647d0962df
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 and Thog
6cf9a04d98
Stop memory modification check when a invalid address is found
2020-01-09 02:13:00 +01:00
gdkchan and Thog
a718b60d06
Fix exception on shader translator when adding goto temp variable
2020-01-09 02:13:00 +01:00
gdkchan and Thog
82957fa96b
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2020-01-09 02:13:00 +01:00
gdkchan and Thog
9d7a142a48
Support texture rectangle targets (non-normalized coords)
2020-01-09 02:13:00 +01:00
gdkchan and Thog
2eccc7023a
Partial support for shader memory barriers
2020-01-09 02:13:00 +01:00
gdkchan and Thog
1a550e810c
Copy 16 bytes at a time for layout conversion, if possible
2020-01-09 02:13:00 +01:00
gdkchan and Thog
cfe5fec0cf
Remove some usings that are not needed
2020-01-09 02:13:00 +01:00
gdkchan and Thog
171c3d54c6
Correct non-constant offset rewrite for texelFetch
2020-01-09 02:13:00 +01:00
gdkchan and Thog
f2c85c5d58
Support non-constant texture offsets on non-NVIDIA gpus
2020-01-09 02:13:00 +01:00
gdkchan and Thog
3323a3a042
Use correct shared memory size (in words, not bytes)
2020-01-09 02:13:00 +01:00
gdkchan and Thog
ad3bc2531b
Ensure a valid shared memory size is used
2020-01-09 02:13:00 +01:00
gdkchan and Thog
66d91cbc6c
Use dispatch params shared memory size when available
2020-01-09 02:13:00 +01:00
gdkchan and Thog
0d9672f3ae
Use maximum shared memory size supported by hardware
2020-01-09 02:13:00 +01:00
gdkchan and Thog
375ee0ba96
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 and Thog
23b8a86d35
Support 3D ASTC textures (using 2D blocks)
2020-01-09 02:13:00 +01:00
gdkchan and Thog
6b13c5b439
Support bindless texture gather shader instruction
2020-01-09 02:13:00 +01:00
gdkchan and Thog
7ce5584f9e
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 and Thog
17fb11ddb9
Fix wrong maximum id on sampler pool in some cases
2020-01-09 02:13:00 +01:00
gdkchan and Thog
cb171f6ebf
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 and Thog
e25b7c9848
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2020-01-09 02:13:00 +01:00
gdk and Thog
6a98c643ca
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 and Thog
396768f3b4
Fix texture 0 not being bound for compute
2020-01-09 02:13:00 +01:00
gdk and Thog
442485adb3
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 and Thog
99f236fcf0
Simplified F2I shader instruction codegen
2020-01-09 02:13:00 +01:00
gdk and Thog
b8528c6317
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2020-01-09 02:13:00 +01:00
gdk and Thog
65428f5842
Fix shader code comparison method
2020-01-09 02:13:00 +01:00
gdk and Thog
d0c7732fe2
Optimize RangeList by not doing an allocation on every call to the Find methods
2020-01-09 02:13:00 +01:00
gdk and Thog
e0c95b18eb
Add PSET shader instruction
2020-01-09 02:13:00 +01:00
gdk and Thog
73e68edd09
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdk and Thog
1df78e7ad6
Simplify shader uniform buffer access codegen
2020-01-09 02:13:00 +01:00
gdk and Thog
16d88c21fc
Improved and simplified window texture presentation
2020-01-09 02:13:00 +01:00
gdk and Thog
b2b2e04669
Small optimizations on texture and sampler pool invalidation
2020-01-09 02:13:00 +01:00
gdk and Thog
3ac023bb60
Correct ordering of compute buffer bind
2020-01-09 02:13:00 +01:00
gdk and Thog
79de8fd490
Share texture pool cache between graphics and compute
2020-01-09 02:13:00 +01:00
gdk and Thog
2437ccca0e
Separate sub-channel state
2020-01-09 02:13:00 +01:00
gdk and Thog
3ca675223a
Remove TranslatorConfig struct
2020-01-09 02:13:00 +01:00
gdk and Thog
6a8ba6d600
Add R2P shader instruction
2020-01-09 02:13:00 +01:00
gdk and Thog
8eb773d81f
Make the shader translator more error resilient (part 2)
2020-01-09 02:13:00 +01:00
gdk and Thog
04102e5c9d
Make the shader translator more error resilient
2020-01-09 02:13:00 +01:00
gdk and Thog
eea73bc421
Add missing check for BRX, do not add a out of bounds block to the queue
2020-01-09 02:13:00 +01:00
gdk and Thog
6e399061ce
Invalidate shaders when they are modified
2020-01-09 02:13:00 +01:00
gdk and Thog
f0a59f345c
Add partial support for the BRX shader instruction
2020-01-09 02:13:00 +01:00