glsl: add some error checks to the nir uniform linker
These are optional for spirv but it shouldnt hurt to enable them. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3992> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3992>
This commit is contained in:
parent
61dc9354c0
commit
ad094433b4
|
@ -802,6 +802,22 @@ gl_nir_link_uniforms(struct gl_context *ctx,
|
|||
return false;
|
||||
}
|
||||
|
||||
if (state.num_shader_samplers >
|
||||
ctx->Const.Program[shader_type].MaxTextureImageUnits) {
|
||||
linker_error(prog, "Too many %s shader texture samplers\n",
|
||||
_mesa_shader_stage_to_string(shader_type));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (state.num_shader_images >
|
||||
ctx->Const.Program[shader_type].MaxImageUniforms) {
|
||||
linker_error(prog, "Too many %s shader image uniforms (%u > %u)\n",
|
||||
_mesa_shader_stage_to_string(shader_type),
|
||||
state.num_shader_images,
|
||||
ctx->Const.Program[shader_type].MaxImageUniforms);
|
||||
continue;
|
||||
}
|
||||
|
||||
sh->Program->SamplersUsed = state.shader_samplers_used;
|
||||
sh->shadow_samplers = state.shader_shadow_samplers;
|
||||
sh->Program->info.num_textures = state.num_shader_samplers;
|
||||
|
|
Loading…
Reference in New Issue