gdkchan
d125fce3e8
Allow shader language and target API to be specified on the shader translator ( #2402 )
2021-07-06 21:20:06 +02:00
gdkchan
b34c0a47b4
Fix constant buffer array size when indexing is used and other buffer descriptor and resolution scale regressions ( #2298 )
...
* Fix constant buffer array size when indexing is used
* Change default QueryConstantBufferUse value
* Fix more regressions
* Ensure proper order
2021-05-20 15:12:15 -03:00
gdkchan
49745cfa37
Move shader resource descriptor creation out of the backend ( #2290 )
...
* Move shader resource descriptor creation out of the backend
* Remove now unused code, and other nits
* Shader cache version bump
* Nits
* Set format for bindless image load/store
* Fix buffer write flag
2021-05-19 23:15:26 +02:00
gdkchan
4770cfa920
Only enable clip distance if written to on shader ( #2217 )
...
* Only enable clip distance if written to on shader
* Signal InstanceId use through FeatureFlags
* Shader cache version bump
2021-04-20 12:33:54 +02:00
gdkchan
053dcfdb05
Use multiple dest operands for shader call instructions ( #1975 )
...
* Use multiple dest operands for shader call instructions
* Passing opNode is no longer needed
2021-02-01 11:13:38 +11:00
gdkchan
4b7c7dab9e
Support multiple destination operands on shader IR and shuffle predicates ( #1964 )
...
* Support multiple destination operands on shader IR and shuffle predicates
* Cache version change
2021-01-28 10:59:47 +11:00
gdkchan
e453ba69f4
Add support for shader atomic min/max (S32) ( #1948 )
2021-01-26 17:38:33 +11:00
gdkchan
934a78005e
Simplify logic for bindless texture handling ( #1667 )
...
* Simplify logic for bindless texture handling
* Nits
2020-11-09 19:35:04 -03:00
gdkchan
49f970d5bd
Implement CAL and RET shader instructions ( #1618 )
...
* Add support for CAL and RET shader instructions
* Remove unused stuff
* Fix a bug that could cause the wrong values to be passed to a function
* Avoid repopulating function id dictionary every time
* PR feedback
* Fix vertex shader A/B merge
2020-10-25 17:00:44 -03:00
gdkchan
2dcc6333f8
Fix image binding format ( #1625 )
...
* Fix image binding format
* XML doc
2020-10-20 19:03:20 -03:00
gdkchan
b066cfc1a3
Add support for shader constant buffer slot indexing ( #1608 )
...
* Add support for shader constant buffer slot indexing
* Fix typo
2020-10-12 21:40:50 -03:00
gdkchan
5795bb1528
Support separate textures and samplers ( #1216 )
...
* Support separate textures and samplers
* Add missing bindless flag, fix SNORM format on buffer textures
* Add missing separation
* Add comments about the new handles
2020-05-27 16:07:10 +02:00
gdkchan
03711dd7b5
Implement SULD shader instruction ( #1117 )
...
* Implement SULD shader instruction
* Some nits
2020-04-22 09:35:28 +10:00
gdkchan
e93ca84b14
Better IPA shader instruction implementation ( #1082 )
...
* Fix varying interpolation on fragment shader
* Some nits
* Alignment
2020-04-03 11:20:47 +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
a718b60d06
Fix exception on shader translator when adding goto temp variable
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
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
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
f6e96551bf
Fix regression on load/store local (wrong type)
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
8cba252b23
Add per-source type memory change tracking, simplified state change tracking, other fixes
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