vkd3d/libs/vkd3d-shader
Giovanni Mascellani 9777c8bc65 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 estimate 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.
2024-09-20 17:14:49 +02:00
..
checksum.c vkd3d-shader: Use a hash to build the filename when dumping shaders. 2024-08-29 19:14:27 +02:00
d3d_asm.c vkd3d-shader/d3d-asm: Tweak some GS declaration names. 2024-09-16 13:58:57 +02:00
d3dbc.c vkd3d-shader/d3dbc: Introduce enum vkd3d_sm1_rastout_register. 2024-09-19 14:38:03 +02:00
dxbc.c vkd3d-shader: Use a hash to build the filename when dumping shaders. 2024-08-29 19:14:27 +02:00
dxil.c vkd3d-shader/ir: Record the control flow type in the program. 2024-09-12 18:31:32 +02:00
fx.c vkd3d-shader/hlsl: Process GeometryShader as a valid stateblock lhs. 2024-09-14 16:02:43 +02:00
glsl.c vkd3d-shader/glsl: Implement VKD3DSIH_AND. 2024-09-19 14:35:24 +02:00
hlsl_codegen.c vkd3d-shader/d3dbc: Remove ctx and entry_func args in d3dbc_compile(). 2024-09-14 16:39:24 +02:00
hlsl_constant_ops.c vkd3d-shader/hlsl: Fold logic AND and logic OR identities. 2024-09-03 15:11:16 +02:00
hlsl.c vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref. 2024-09-14 16:39:17 +02:00
hlsl.h vkd3d-shader/d3dbc: Remove ctx and entry_func args in d3dbc_compile(). 2024-09-14 16:39:24 +02:00
hlsl.l vkd3d-shader/hlsl: Parse ConstructGSWithSO(). 2024-09-14 16:09:08 +02:00
hlsl.y vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref. 2024-09-14 16:39:17 +02:00
ir.c vkd3d-shader/ir: Allow failure in shader_signature_find_element_for_reg(). 2024-09-20 17:01:29 +02:00
libvkd3d-shader.pc.in build: Build libvkd3d-shader as public library. 2018-11-02 11:19:00 +01:00
msl.c vkd3d-shader/msl: Implement VKD3DSIH_RET. 2024-09-18 15:02:57 +02:00
preproc.h vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.h. 2024-08-05 15:57:56 +02:00
preproc.l vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.l. 2024-08-05 15:57:56 +02:00
preproc.y vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.y. 2024-08-05 15:57:56 +02:00
spirv.c vkd3d-shader/spirv: Do not reallocate the SPIR-V program. 2024-09-20 17:14:49 +02:00
tpf.c vkd3d-shader/ir: Allow failure in shader_signature_find_element_for_reg(). 2024-09-20 17:01:29 +02:00
vkd3d_shader_main.c vkd3d-shader/glsl: Implement support for VKD3DSPR_CONSTBUFFER registers. 2024-09-19 14:29:46 +02:00
vkd3d_shader_private.h vkd3d-shader/ir: Allow failure in shader_signature_find_element_for_reg(). 2024-09-20 17:01:29 +02:00
vkd3d_shader.map vkd3d-shader: Implement scanning combined resource/sampler information. 2023-11-13 23:19:23 +01:00