nir: Fix count when we didn't lower load_uniforms but did shift load_ubos.

The fixed commit was really nice in mostly fixing num_ubos to reflect the
shader after lowering, but for
dEQP-GLES31.functional.compute.basic.ubo_to_ssbo_single_invocation there
are no default uniforms and so we skipped the increment, even though we
shifted the block index up.

Fixes: 4777ee1a62 ("nir: Always create UBO variable when lowering uniforms to ubo")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4992>
This commit is contained in:
Eric Anholt 2020-05-11 11:53:22 -07:00 committed by Marge Bot
parent 0f2e44d55b
commit 4553fc66a5

View file

@ -110,6 +110,7 @@ nir_lower_uniforms_to_ubo(nir_shader *shader, int multiplier)
var->data.binding++;
}
}
shader->info.num_ubos++;
if (shader->num_uniforms > 0) {
const struct glsl_type *type = glsl_array_type(glsl_vec4_type(),
@ -126,7 +127,6 @@ nir_lower_uniforms_to_ubo(nir_shader *shader, int multiplier)
ubo->interface_type =
glsl_interface_type(&field, 1, GLSL_INTERFACE_PACKING_STD430,
false, "__ubo0_interface");
shader->info.num_ubos++;
}
}