gdkchan
cf8dcede68
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2019-12-24 22:56:17 -03:00
gdkchan
8f87711269
Support texture rectangle targets (non-normalized coords)
2019-12-24 22:56:17 -03:00
gdkchan
b8d3bd6eb3
Partial support for shader memory barriers
2019-12-24 22:56:17 -03:00
gdkchan
0445ef090c
Copy 16 bytes at a time for layout conversion, if possible
2019-12-24 22:56:17 -03:00
gdkchan
12fc90f6b1
Remove some usings that are not needed
2019-12-24 22:56:17 -03:00
gdkchan
16df05f85a
Correct non-constant offset rewrite for texelFetch
2019-12-24 22:56:17 -03:00
gdkchan
63323d1c17
Support non-constant texture offsets on non-NVIDIA gpus
2019-12-24 22:56:17 -03:00
gdkchan
fe7cf8ffa3
Use correct shared memory size (in words, not bytes)
2019-12-24 22:56:17 -03:00
gdkchan
0166fa07ea
Ensure a valid shared memory size is used
2019-12-24 22:56:17 -03:00
gdkchan
7de8939741
Use dispatch params shared memory size when available
2019-12-24 22:56:17 -03:00
gdkchan
96fd2c06ad
Use maximum shared memory size supported by hardware
2019-12-24 22:56:17 -03:00
gdkchan
2c5bf576e2
Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw
2019-12-24 22:56:17 -03:00
gdkchan
f7b23103d2
Support 3D ASTC textures (using 2D blocks)
2019-12-24 22:56:17 -03:00
gdkchan
d7538a9135
Support bindless texture gather shader instruction
2019-12-24 22:56:17 -03:00
gdkchan
df70792606
Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?)
2019-12-24 22:56:17 -03:00
gdkchan
c14d751be1
Fix wrong maximum id on sampler pool in some cases
2019-12-24 22:56:17 -03:00
gdkchan
b2d95c3eb6
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.
2019-12-24 22:56:17 -03:00
gdkchan
5f6d1d3098
Initial support for the guest OpenGL driver (NVIDIA and Nouveau)
2019-12-24 22:56:17 -03:00
gdk
6b6146581d
Add a pass to turn global memory access into storage access, and do all storage related transformations on IR
2019-12-24 22:56:17 -03:00
gdk
063f7a8d04
Fix texture 0 not being bound for compute
2019-12-24 22:56:17 -03:00
gdk
685e053be0
Partial support for branch with CC, and fix a edge case of branch out of loop on shaders
2019-12-24 22:56:17 -03:00
gdk
54ed24c08f
Simplified F2I shader instruction codegen
2019-12-24 22:56:16 -03:00
gdk
db25c50f53
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2019-12-24 22:56:16 -03:00
gdk
e891575510
Fix shader code comparison method
2019-12-24 22:56:16 -03:00
gdk
24bcfb16f5
Optimize RangeList by not doing an allocation on every call to the Find methods
2019-12-24 22:56:16 -03:00
gdk
2f8580a732
Add PSET shader instruction
2019-12-24 22:56:16 -03:00
gdk
d316b30f1d
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2019-12-24 22:56:16 -03:00
gdk
84fccb5eae
Simplify shader uniform buffer access codegen
2019-12-24 22:56:16 -03:00
gdk
15bfdb4da2
Improved and simplified window texture presentation
2019-12-24 22:56:16 -03:00
gdk
2e02abb10c
Small optimizations on texture and sampler pool invalidation
2019-12-24 22:56:16 -03:00
gdk
20fde5daea
Correct ordering of compute buffer bind
2019-12-24 22:56:16 -03:00
gdk
99386b9920
Share texture pool cache between graphics and compute
2019-12-24 22:56:16 -03:00
gdk
0f6751ae1f
Separate sub-channel state
2019-12-24 22:56:16 -03:00
gdk
9ee4127fde
Remove TranslatorConfig struct
2019-12-24 22:56:16 -03:00
gdk
c825379eb0
Add R2P shader instruction
2019-12-24 22:56:16 -03:00
gdk
9dce083a4b
Make the shader translator more error resilient (part 2)
2019-12-24 22:56:16 -03:00
gdk
01e276bfaa
Make the shader translator more error resilient
2019-12-24 22:56:16 -03:00
gdk
ca1c51229f
Add missing check for BRX, do not add a out of bounds block to the queue
2019-12-24 22:56:16 -03:00
gdk
dcbaa05c36
Invalidate shaders when they are modified
2019-12-24 22:56:16 -03:00
gdk
cb228edf8b
Add partial support for the BRX shader instruction
2019-12-24 22:56:16 -03:00
gdk
999574bfdb
Fix image units bindings and shader dump in the presence of NOPs
2019-12-24 22:56:16 -03:00
gdk
f08dc9718b
Revert "Check for ASTC support on the list of supported compressed formats"
...
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2019-12-24 22:56:16 -03:00
gdk
309e30805d
Check for ASTC support on the list of supported compressed formats
2019-12-24 22:56:16 -03:00
gdk
7743e8809c
Fix regression on load/store local (wrong type)
2019-12-24 22:56:16 -03:00
gdk
259211d7f6
Do not throw for invalid ASTC compressed textures
2019-12-24 22:56:16 -03:00
gdk
a3a98e9b64
Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled
2019-12-24 22:56:16 -03:00
gdk
80de5bc78b
Use a more efficient range list on the buffer manager
2019-12-24 22:56:16 -03:00
gdk
73493cdf7e
Remove some unused constants and other code
2019-12-24 22:56:16 -03:00
gdk
4f34b09885
Add partial support for array of samplers, and add pass to identify them from bindless texture accesses
2019-12-24 22:56:16 -03:00
gdk
74cf6b38ed
Support window resizing
2019-12-24 22:56:16 -03:00