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
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
5a9dba0756
Sign-extend shader memory instruction offsets ( #934 )
2020-02-14 01:48:07 +01:00
7e4d986a73
Support compute uniform buffers emulated with global memory ( #924 )
2020-02-11 01:10:05 +01:00
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
a1a5341baf
Support flat interpolation qualifier on shaders ( #915 )
2020-02-02 10:18:58 +11:00
81cca88bcd
Fix shader output color buffer index when non-sequential render targets are used ( #895 )
2020-01-19 00:09:46 +01:00
b8e3909d80
Add a GetSpan method to the memory manager and use it on GPU ( #877 )
2020-01-13 10:27:50 +11:00
80707f9311
Add runtime identifiers to new projects
2020-01-09 02:13:00 +01:00
29a825b43b
Address PR feedback
...
Removes a useless null check
Aligns some values to improve readability
2020-01-09 02:13:00 +01:00
912e43e979
Remove some unused args on the shader translator
2020-01-09 02:13:00 +01:00
6407729a1d
Fix FADD32I check for Ra negation
2020-01-09 02:13:00 +01:00
18814d44b2
Address PR feedback
...
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09 02:13:00 +01:00
92703af555
Address PR feedback
2020-01-09 02:13:00 +01:00
9bfb373bdf
Remove more unused code
2020-01-09 02:13:00 +01:00
654e617fe7
Some code cleanup
2020-01-09 02:13:00 +01:00
947e14d3be
Reimplement limited bindless textures support
2020-01-09 02:13:00 +01:00
a718b60d06
Fix exception on shader translator when adding goto temp variable
2020-01-09 02:13:00 +01:00
82957fa96b
Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction
2020-01-09 02:13:00 +01:00
9d7a142a48
Support texture rectangle targets (non-normalized coords)
2020-01-09 02:13:00 +01:00
2eccc7023a
Partial support for shader memory barriers
2020-01-09 02:13:00 +01:00
cfe5fec0cf
Remove some usings that are not needed
2020-01-09 02:13:00 +01:00
171c3d54c6
Correct non-constant offset rewrite for texelFetch
2020-01-09 02:13:00 +01:00
f2c85c5d58
Support non-constant texture offsets on non-NVIDIA gpus
2020-01-09 02:13:00 +01:00
66d91cbc6c
Use dispatch params shared memory size when available
2020-01-09 02:13:00 +01:00
0d9672f3ae
Use maximum shared memory size supported by hardware
2020-01-09 02:13:00 +01:00
6b13c5b439
Support bindless texture gather shader instruction
2020-01-09 02:13:00 +01:00
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
17fb11ddb9
Fix wrong maximum id on sampler pool in some cases
2020-01-09 02:13:00 +01:00
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
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
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
99f236fcf0
Simplified F2I shader instruction codegen
2020-01-09 02:13:00 +01:00
b8528c6317
Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests
2020-01-09 02:13:00 +01:00
e0c95b18eb
Add PSET shader instruction
2020-01-09 02:13:00 +01:00
73e68edd09
Revert "Simplify shader uniform buffer access codegen"
...
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
1df78e7ad6
Simplify shader uniform buffer access codegen
2020-01-09 02:13:00 +01:00
3ca675223a
Remove TranslatorConfig struct
2020-01-09 02:13:00 +01:00
6a8ba6d600
Add R2P shader instruction
2020-01-09 02:13:00 +01:00
8eb773d81f
Make the shader translator more error resilient (part 2)
2020-01-09 02:13:00 +01:00
04102e5c9d
Make the shader translator more error resilient
2020-01-09 02:13:00 +01:00
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
f0a59f345c
Add partial support for the BRX shader instruction
2020-01-09 02:13:00 +01:00
f6e96551bf
Fix regression on load/store local (wrong type)
2020-01-09 02:13:00 +01:00
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
a31fced221
Remove some unused constants and other code
2020-01-09 02:13:00 +01:00
3ab5c23f49
Add partial support for array of samplers, and add pass to identify them from bindless texture accesses
2020-01-09 02:13:00 +01:00
278a4c317c
Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes
2020-01-09 02:13:00 +01:00
3bcc395253
Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures
2020-01-09 02:13:00 +01:00
d3fcab8511
Fix shader FMUL32I instruction saturation
2020-01-09 02:13:00 +01:00