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
gdk
eea2ae7599
Make the shader translator more error resilient (part 2)
2024-02-22 19:14:36 -05:00
gdk
2d807fd789
Make the shader translator more error resilient
2024-02-22 19:14:36 -05:00
gdk
987611fdf4
Add missing check for BRX, do not add a out of bounds block to the queue
2024-02-22 19:14:36 -05:00
gdk
74e3f3ee1c
Invalidate shaders when they are modified
2024-02-22 19:14:36 -05:00
gdk
0d1fb50a53
Add partial support for the BRX shader instruction
2024-02-22 19:14:36 -05:00
gdk
dde40abaf1
Fix image units bindings and shader dump in the presence of NOPs
2024-02-22 19:14:36 -05:00
gdk
774b7038e3
Revert "Check for ASTC support on the list of supported compressed formats"
...
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2024-02-22 19:14:36 -05:00
gdk
f1c48d4a1e
Check for ASTC support on the list of supported compressed formats
2024-02-22 19:14:36 -05:00
gdk
98cd25c3cc
Fix regression on load/store local (wrong type)
2024-02-22 19:14:36 -05:00
gdk
0811a6ca7c
Do not throw for invalid ASTC compressed textures
2024-02-22 19:14:35 -05:00
gdk
360df1e42f
Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled
2024-02-22 19:14:35 -05:00
gdk
c7dccda2fc
Use a more efficient range list on the buffer manager
2024-02-22 19:14:35 -05:00
gdk
fc8af96ad9
Remove some unused constants and other code
2024-02-22 19:14:35 -05:00
gdk
6ffc3baa91
Add partial support for array of samplers, and add pass to identify them from bindless texture accesses
2024-02-22 19:14:35 -05:00
gdk
55b1eaa6bd
Support window resizing
2024-02-22 19:14:35 -05:00
gdk
a16a9d9aba
Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes
2024-02-22 19:14:35 -05:00
gdk
34f3d30991
Support copy of slices to 3D textures, remove old 3D render target layered render support, do not delete textures with existing views created from them
2024-02-22 19:14:35 -05:00
gdk
120a62fe64
Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures
2024-02-22 19:14:35 -05:00
gdk
6849e2f949
Fix shader FMUL32I instruction saturation
2024-02-22 19:14:35 -05:00
gdk
5df3dea349
Flush buffers on copies
2024-02-22 19:14:35 -05:00
gdk
d7f753bf52
Add per-source type memory change tracking, simplified state change tracking, other fixes
2024-02-22 19:14:35 -05:00
gdk
1a3eef1528
Initial support for image stores, support texture sample on compute
2024-02-22 19:14:34 -05:00
gdk
e02d201596
Fix incorrect saturation on HADD2 and HMUL2 shader instructions
2024-02-22 19:14:34 -05:00
gdk
d91e352f1f
Fix BC6 Signed/Unsigned float texture formats
2024-02-22 19:14:34 -05:00
gdk
364b7a4ec2
Handle quad and quad strip primitive types using triangle fans
2024-02-22 19:14:34 -05:00
gdk
115687db97
Improved Min/Mip -> MinFilter enum conversion
2024-02-22 19:14:34 -05:00
gdk
8737d7d61f
Calculate width from stride on texture copies
2024-02-22 19:14:34 -05:00