gdkchan
947e14d3be
Reimplement limited bindless textures support
2020-01-09 02:13:00 +01:00
gdkchan
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
6cf9a04d98
Stop memory modification check when a invalid address is found
2020-01-09 02:13:00 +01:00
gdkchan
a718b60d06
Fix exception on shader translator when adding goto temp variable
2020-01-09 02:13:00 +01:00
gdkchan
82957fa96b
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2020-01-09 02:13:00 +01:00
gdkchan
9d7a142a48
Support texture rectangle targets (non-normalized coords)
2020-01-09 02:13:00 +01:00
gdkchan
2eccc7023a
Partial support for shader memory barriers
2020-01-09 02:13:00 +01:00
gdkchan
1a550e810c
Copy 16 bytes at a time for layout conversion, if possible
2020-01-09 02:13:00 +01:00
gdkchan
cfe5fec0cf
Remove some usings that are not needed
2020-01-09 02:13:00 +01:00
gdkchan
171c3d54c6
Correct non-constant offset rewrite for texelFetch
2020-01-09 02:13:00 +01:00
gdkchan
f2c85c5d58
Support non-constant texture offsets on non-NVIDIA gpus
2020-01-09 02:13:00 +01:00
gdkchan
3323a3a042
Use correct shared memory size (in words, not bytes)
2020-01-09 02:13:00 +01:00
gdkchan
ad3bc2531b
Ensure a valid shared memory size is used
2020-01-09 02:13:00 +01:00
gdkchan
66d91cbc6c
Use dispatch params shared memory size when available
2020-01-09 02:13:00 +01:00
gdkchan
0d9672f3ae
Use maximum shared memory size supported by hardware
2020-01-09 02:13:00 +01:00
gdkchan
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
23b8a86d35
Support 3D ASTC textures (using 2D blocks)
2020-01-09 02:13:00 +01:00
gdkchan
6b13c5b439
Support bindless texture gather shader instruction
2020-01-09 02:13:00 +01:00
gdkchan
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
17fb11ddb9
Fix wrong maximum id on sampler pool in some cases
2020-01-09 02:13:00 +01:00
gdkchan
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
e25b7c9848
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2020-01-09 02:13:00 +01:00
gdk
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
396768f3b4
Fix texture 0 not being bound for compute
2020-01-09 02:13:00 +01:00
gdk
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
99f236fcf0
Simplified F2I shader instruction codegen
2020-01-09 02:13:00 +01:00
gdk
b8528c6317
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2020-01-09 02:13:00 +01:00
gdk
65428f5842
Fix shader code comparison method
2020-01-09 02:13:00 +01:00
gdk
d0c7732fe2
Optimize RangeList by not doing an allocation on every call to the Find methods
2020-01-09 02:13:00 +01:00
gdk
e0c95b18eb
Add PSET shader instruction
2020-01-09 02:13:00 +01:00
gdk
73e68edd09
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdk
1df78e7ad6
Simplify shader uniform buffer access codegen
2020-01-09 02:13:00 +01:00
gdk
16d88c21fc
Improved and simplified window texture presentation
2020-01-09 02:13:00 +01:00
gdk
b2b2e04669
Small optimizations on texture and sampler pool invalidation
2020-01-09 02:13:00 +01:00
gdk
3ac023bb60
Correct ordering of compute buffer bind
2020-01-09 02:13:00 +01:00
gdk
79de8fd490
Share texture pool cache between graphics and compute
2020-01-09 02:13:00 +01:00
gdk
2437ccca0e
Separate sub-channel state
2020-01-09 02:13:00 +01:00
gdk
3ca675223a
Remove TranslatorConfig struct
2020-01-09 02:13:00 +01:00
gdk
6a8ba6d600
Add R2P shader instruction
2020-01-09 02:13:00 +01:00
gdk
8eb773d81f
Make the shader translator more error resilient (part 2)
2020-01-09 02:13:00 +01:00
gdk
04102e5c9d
Make the shader translator more error resilient
2020-01-09 02:13:00 +01:00
gdk
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
6e399061ce
Invalidate shaders when they are modified
2020-01-09 02:13:00 +01:00
gdk
f0a59f345c
Add partial support for the BRX shader instruction
2020-01-09 02:13:00 +01:00
gdk
d274328c31
Fix image units bindings and shader dump in the presence of NOPs
2020-01-09 02:13:00 +01:00
gdk
d620aa7d1b
Revert "Check for ASTC support on the list of supported compressed formats"
...
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2020-01-09 02:13:00 +01:00
gdk
cd47600e57
Check for ASTC support on the list of supported compressed formats
2020-01-09 02:13:00 +01:00
gdk
f6e96551bf
Fix regression on load/store local (wrong type)
2020-01-09 02:13:00 +01:00
gdk
fd196b3d19
Do not throw for invalid ASTC compressed textures
2020-01-09 02:13:00 +01:00
gdk
769c02235f
Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled
2020-01-09 02:13:00 +01:00