Skip to content

vkd3d-shader/spirv: Do not reallocate the SPIR-V program.

Giovanni Mascellani requested to merge giomasce/vkd3d:vesuvio into master

I ran the compilation of ~1000 DXBC-TPF shaders randomly taken from my collection and measured the performance using callgrind and the kcachegrind "cycle count" estimation.

BEFORE:

  • 1,846,641,596 cycles
  • 1,845,635,336 cycles
  • 1,841,335,225 cycles

AFTER:

  • 1,764,035,136 cycles
  • 1,767,948,767 cycles
  • 1,773,927,734 cycles

So callgrind would esitemate a 3.6% improvement at least.

The counterpoint is that the caller might get an allocation that is potentially bigger than necessary. I would expect that allocation to be rather short-lived anyway, so that's probably not a problem.

Merge request reports

Loading