Commit graph

30 commits

Author SHA1 Message Date
gdkchan
bd010a2288 Implement SULD shader instruction (#1117)
* Implement SULD shader instruction

* Some nits
2020-04-22 09:35:28 +10:00
gdkchan
1c133eb18b Better IPA shader instruction implementation (#1082)
* Fix varying interpolation on fragment shader

* Some nits

* Alignment
2020-04-03 11:20:47 +11:00
gdkchan
3832cff250 Remove output interpolation qualifier (#1070) 2020-04-02 12:24:55 +11:00
riperiperi
abe2404325 Index constant buffer vec4s using ternary expressions. (#1015)
* Index constant buffer vec4s using ternary expressions.

* Remove indexed path.

We determined that it had negligible impact.

* Revert "Remove indexed path."

This reverts commit 25ec4eddfa441e802bd957dfaabc83b23c6bae38.

* Revert "Revert "Remove indexed path.""

This reverts commit 7cd52fecb529dcb9e1a574533bd38531319f1268.
2020-03-29 13:24:54 -03:00
gdkchan
abd7fe1b87 Implement textureQueryLevels (#1007) 2020-03-23 08:31:31 +11:00
gdkchan
64538f5cba Improve shader sampler type selection (#989) 2020-03-15 11:24:45 +11:00
gdkchan
04f7a7955a 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
039518404d 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
bc38064351 Address PR feedback 2020-01-09 02:13:00 +01:00
gdkchan
d42edddefd Some code cleanup 2020-01-09 02:13:00 +01:00
gdkchan
f7277e76e3 Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
gdkchan
0dedc2bf7e Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
gdkchan
7bfde41ea4 Partial support for shader memory barriers 2020-01-09 02:13:00 +01:00
gdkchan
84e5a32fd3 Support non-constant texture offsets on non-NVIDIA gpus 2020-01-09 02:13:00 +01:00
gdkchan
8cd2823869 Use dispatch params shared memory size when available 2020-01-09 02:13:00 +01:00
gdkchan
46a6580c8b Use maximum shared memory size supported by hardware 2020-01-09 02:13:00 +01:00
gdkchan
ab20360779 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
12f573e342 Fix wrong maximum id on sampler pool in some cases 2020-01-09 02:13:00 +01:00
gdkchan
d5e8fc5c08 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
85a00d4d76 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
77e2ab39cf Simplified F2I shader instruction codegen 2020-01-09 02:13:00 +01:00
gdk
5acd231ba9 Revert "Simplify shader uniform buffer access codegen"
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdk
c558897292 Simplify shader uniform buffer access codegen 2020-01-09 02:13:00 +01:00
gdk
dfb16f19d8 Remove TranslatorConfig struct 2020-01-09 02:13:00 +01:00
gdk
f7cec66ce0 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
bd0a16ecbf 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
dd8a838a81 Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes 2020-01-09 02:13:00 +01:00
gdk
ce10d3c6ff 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
c9abf08686 Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
gdk
fb2200c09b Initial work 2020-01-09 02:13:00 +01:00