vkd3d-shader/spirv: Do not reallocate the SPIR-V program.
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.