gdkchan
8bb64ac69c
Improve shader sampler type selection ( #989 )
2020-03-15 11:24:45 +11:00
gdkchan
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
gdkchan
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
92703af555
Address PR feedback
2020-01-09 02:13:00 +01:00
gdkchan
654e617fe7
Some code cleanup
2020-01-09 02:13:00 +01:00
gdkchan
947e14d3be
Reimplement limited bindless textures support
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
f2c85c5d58
Support non-constant texture offsets on non-NVIDIA gpus
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
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
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
99f236fcf0
Simplified F2I shader instruction codegen
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
3ca675223a
Remove TranslatorConfig struct
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
gdk
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
gdk
278a4c317c
Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes
2020-01-09 02:13:00 +01:00
gdk
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
gdk
1b7d955195
Initial support for image stores, support texture sample on compute
2020-01-09 02:13:00 +01:00
gdk
1876b346fe
Initial work
2020-01-09 02:13:00 +01:00