mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 04:48:07 +02:00
Class represents an indexed "ideal" register class, where non-general classes only allow defs that choose that class in the def_size callback. nir_opt_preamble will try to assign specialized classes where possible, falling back to the general class once the special-purpose classes are exhausted. AGX will use this mechanism to promote bindless texture handles to bound texture registers where possible, falling back to pushing the handle as a uniform where not possible. Supporting multiple classes in nir_opt_preamble allows this multi-level hoisting to work in a single nir_opt_preamble call with proper global behaviour. Add this concept to nir_opt_preamble so we can use it in AGX later in this MR. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Job Noorman <job@noorman.info> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35949> |
||
|---|---|---|
| .. | ||
| clc | ||
| glsl | ||
| isaspec | ||
| libcl | ||
| nir | ||
| rust | ||
| spirv | ||
| builtin_types.py | ||
| builtin_types_c.py | ||
| builtin_types_h.py | ||
| glsl_types.c | ||
| glsl_types.h | ||
| meson.build | ||
| shader_enums.c | ||
| shader_enums.h | ||
| shader_info.h | ||