glsl: support glsl linking in nir block linker

This added support for names and some extra validation that the
spirv linker does not require.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26534>
This commit is contained in:
Timothy Arceri 2023-08-24 10:33:40 +10:00 committed by Marge Bot
parent c468aa6059
commit 0c6272f97f
3 changed files with 789 additions and 133 deletions

File diff suppressed because it is too large Load diff

View file

@ -1184,7 +1184,7 @@ gl_nir_link_spirv(const struct gl_constants *consts,
}
}
if (!gl_nir_link_uniform_blocks(prog))
if (!gl_nir_link_uniform_blocks(consts, prog))
return false;
if (!gl_nir_link_uniforms(consts, prog, options->fill_parameters))

View file

@ -113,7 +113,8 @@ void gl_nir_link_check_atomic_counter_resources(const struct gl_constants *const
void gl_nir_link_assign_xfb_resources(const struct gl_constants *consts,
struct gl_shader_program *prog);
bool gl_nir_link_uniform_blocks(struct gl_shader_program *prog);
bool gl_nir_link_uniform_blocks(const struct gl_constants *consts,
struct gl_shader_program *prog);
bool
gl_nir_can_add_pointsize_to_program(const struct gl_constants *consts,