mesa/src/compiler
Neil Roberts 56846a2b68 nir/schedule: Add an option for a fallback scheduling algorithm
The current scheduling algorithm favors parallelism a bit too
aggressively and sometimes generates shaders that fail register
allocation. This happens even if the threshold is set to zero to force
it to always use the CSR instruction choosing algorithm.

This patch adds an option to use an even more aggressive fallback that
just always picks the instruction with the shortest maximum delay in the
hope that that will generate the least register pressure. The intention
is to use this as a last resort after register allocation fails in order
to at least have a working shader.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5953>
2020-07-24 12:26:26 +02:00
..
glsl mesa: do not use bitfields for advanced-blend state 2020-07-17 06:19:16 +00:00
nir nir/schedule: Add an option for a fallback scheduling algorithm 2020-07-24 12:26:26 +02:00
spirv spirv: Rework our handling of images and samplers 2020-07-23 22:43:21 -05:00
Android.glsl.gen.mk Android: Fixes for Q and R 2020-07-15 20:49:24 +00:00
Android.glsl.mk
Android.mk
Android.nir.gen.mk
Android.nir.mk
builtin_type_macros.h
glsl_types.cpp nir: add int16 and uint16 type helpers 2020-06-02 20:01:18 +00:00
glsl_types.h glsl: don't lower builtins to mediump that don't allow it 2020-07-07 22:02:06 -04:00
Makefile.sources nir/scheduler: Move nir_scheduler to its own header 2020-07-24 09:21:11 +02:00
meson.build meson: use gnu_symbol_visibility argument 2020-06-01 18:59:18 +00:00
nir_types.cpp nir: add glsl_get_ifc_packing() helper 2020-06-03 02:22:23 +00:00
nir_types.h nir: add glsl_get_ifc_packing() helper 2020-06-03 02:22:23 +00:00
SConscript
SConscript.glsl
SConscript.nir
SConscript.spirv
shader_enums.c compiler: Add a system value for the line coord 2020-07-06 21:59:15 +00:00
shader_enums.h mesa: do not use bitfields for advanced-blend state 2020-07-17 06:19:16 +00:00
shader_info.h spirv: Add support for SPV_EXT_shader_atomic_float 2020-07-21 05:01:34 +00:00