<itoral>
apinheiro[m]1: turns out that integer add/sub instructions can be emitted as either add or mul, so we can use that to improve merges at qpu scheduling time
<itoral>
I thought that was not going to make a big difference becase integer arithmetic in shaders isn't nearly as common as float arithmetic, but.
<itoral>
but it seems more useful than I thought:
<itoral>
total instructions in shared programs: 13730763 -> 13695308 (-0.26%)
<itoral>
instructions in affected programs: 3397144 -> 3361689 (-1.04%)
<itoral>
HURT: 1535
<itoral>
helped: 13155
<itoral>
13K shaders helped is a lot
<apinheiro[m]1>
yes, seems nice
<apinheiro[m]1>
itoral: btw, this brings back the how much updated our shader-db are
<apinheiro[m]1>
I mean that it was done some years ago using as base some years ago apps/games
<apinheiro[m]1>
although I guess that is the best we have (and probably that we could have)
<itoral>
I think it is good enough... there are some UE4 shaders from the samples we have for example
<itoral>
and when you override the GL/GLSL version I think we have over 100K shaders
<apinheiro[m]1>
ah ok
<itoral>
(including vc, vs_bin and fs)
<apinheiro[m]1>
btw, now that we are talking about the ue4 shaders
<apinheiro[m]1>
from the pipeline cache work, to test it I made a on-disk cache hack
<apinheiro[m]1>
and I found curious the size for the different apps we use as reference:
<apinheiro[m]1>
(those sizes running the gfx captures for those apps):