mesa/src/compiler
Lionel Landwerlin 5717f13dff nir/lower_shader_calls: add a pass to sort/pack values on the stack
The previous pass shrinking values stored on the stack might have left
some gaps on the stack (a vec4 turned into a vec3 for instance).

This pass reorders variables on the stack, by component bit size and
by ssa value number. The component size is useful to pack smaller
values together. The ssa value number is also important because if we
have 2 calls spilling the same values, then we can avoid reemiting the
spillings if the values are stored in the same location.

v2: Remove unused sorting function (Konstantin)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556>
2022-10-26 12:53:25 +00:00
..
clc clc: add 32-bit target 2022-10-15 02:23:03 +00:00
glsl glsl: move lower instructions logic inside that pass 2022-10-19 03:52:21 +00:00
isaspec isaspec: Move isa_decode(..) declaration 2022-09-03 19:26:04 +00:00
nir nir/lower_shader_calls: add a pass to sort/pack values on the stack 2022-10-26 12:53:25 +00:00
spirv spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler 2022-10-01 03:59:20 +00:00
builtin_type_macros.h glsl: add vec5 glsl types 2022-01-18 16:10:35 +08:00
glsl_types.cpp glsl/types: fix dword slots calc for float16 matricies. 2022-10-23 01:43:44 +00:00
glsl_types.h compiler/types: Add a texture type 2021-10-16 05:49:34 +00:00
meson.build spirv: Use a single binary for gtests 2021-10-20 17:55:36 +00:00
nir_gl_types.h nir: remove gl.h include from nir headers. 2022-01-19 21:54:58 +00:00
nir_types.cpp nir: Add a pass to lower mediump temps and shared mem. 2022-09-01 22:39:39 +00:00
nir_types.h nir: Add a pass to lower mediump temps and shared mem. 2022-09-01 22:39:39 +00:00
shader_enums.c nir+ir3: Rename load_size_ir3 to load_center_rhw_ir3. 2022-07-11 16:56:05 +00:00
shader_enums.h gallium: use gl shader types as the basis for the gallium ones 2022-08-04 08:17:39 +00:00
shader_info.h nir, anv, hasvk, radv: pull uses_wide_subgroup_intrinsics into shader_info 2022-09-20 10:19:21 +00:00