summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/exception.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-07-26 04:24:26 -0300
committerGravatar ReinUsesLisp2021-07-26 04:58:02 -0300
commit66a0cedba39cabba30c756626d7b58bd0e519d8e (patch)
tree909321c59c4d184391eea2031c0dd8aee61e6b5c /src/shader_recompiler/exception.h
parentshader: Use TryInstRecursive on XMAD multiply folding (diff)
downloadyuzu-66a0cedba39cabba30c756626d7b58bd0e519d8e.tar.gz
yuzu-66a0cedba39cabba30c756626d7b58bd0e519d8e.tar.xz
yuzu-66a0cedba39cabba30c756626d7b58bd0e519d8e.zip
shader: Fold integer FMA from Nvidia's pattern
Fold shaders doing "a * b + c" on integers from the pattern generated by Nvidia's GL compiler. On a somewhat complex compute shader it reduces the code size by 16 instructions from 2 matches on Turing GPUs. On Intel as extracted from KHR_pipeline_executable_properties: Before the optimization: ``` Instruction Count: 2057 Basic Block Count: 45 Scratch Memory Size: 14752 Spill Count: 232 Fill Count: 261 SEND Count: 610 Cycle Count: 11325 ``` After the optimization: ``` Instruction Count: 2046 Basic Block Count: 44 Scratch Memory Size: 13728 Spill Count: 219 Fill Count: 268 SEND Count: 604 Cycle Count: 11367 ```
Diffstat (limited to 'src/shader_recompiler/exception.h')
0 files changed, 0 insertions, 0 deletions