mesa/src/compiler
Caio Oliveira 0b5abf2512 spirv: Use value_id_bound to set initial memory allocated
Don't rely on the current default (which is 2048 bytes) buffer size for
blocks -- which ends up being too small for most shaders.  Since we
already rely on value_id_bound to allocate an array of vtn_value, use
that to estimate a better value.

In addition to space for the array, we approximate the extra size of
extra data structures with the size of vtn_ssa_value, and skip it to the
next size (double it) to cover the CFG related allocations.  This
results in only single system allocation necessary to back the temporary
data for the majority of the shaders.

Parsing code was slightly reordered so we can validate and read the
value_id_bound before the temporary allocator is created.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25279>
2024-01-02 16:07:06 +00:00
..
clc treewide: Replace the include of nir_types.h with glsl_types.h 2023-12-30 15:08:11 +00:00
glsl treewide: Replace the include of nir_types.h with glsl_types.h 2023-12-30 15:08:11 +00:00
isaspec isaspec: Add bool_inv type to print inverted bools 2023-12-16 14:34:18 +00:00
nir nir: Optimize fpow with small constant exponents 2024-01-02 11:16:14 +01:00
spirv spirv: Use value_id_bound to set initial memory allocated 2024-01-02 16:07:06 +00:00
builtin_types.py compiler/types: Use Python to generate code for builtin types 2023-09-16 15:17:01 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c compiler/types: Use a typedef for glsl_type 2023-12-22 07:53:25 -08:00
glsl_types.h compiler/types: Use a typedef for glsl_type 2023-12-22 07:53:25 -08:00
meson.build treewide: Replace the include of nir_types.h with glsl_types.h 2023-12-30 15:08:11 +00:00
shader_enums.c nir: add lowering from FS LAYER input to LAYER_ID sysval 2023-11-24 15:37:24 +00:00
shader_enums.h nir: add lowering from FS LAYER input to LAYER_ID sysval 2023-11-24 15:37:24 +00:00
shader_info.h nir/serialize: untangle printf serialization from a particular stage 2023-12-12 11:11:10 +00:00