anv/pipeline: Make the has_push_constants computation more accurate

The computation used to only look for uniforms that weren't samplers.  Now
it also filters out arrays of samplers.
This commit is contained in:
Jason Ekstrand 2015-10-21 21:45:49 -07:00
parent 0329a252bd
commit 8af2a09956

View file

@ -354,7 +354,11 @@ anv_pipeline_compile(struct anv_pipeline *pipeline,
bool have_push_constants = false;
nir_foreach_variable(var, &nir->uniforms) {
if (!glsl_type_is_sampler(var->type)) {
const struct glsl_type *type = var->type;
if (glsl_type_is_array(type))
type = glsl_get_array_element(type);
if (!glsl_type_is_sampler(type)) {
have_push_constants = true;
break;
}