i965/fs: Do not set the size for zero-size uniforms
Zero sized uniforms can exist in the list, but they don't get get any space allocated in prog_data->params or in the param_size array, so the size should not be set for them. This was previously fixed in: commit:781dc7c0e1
. However, commit:259f7291de
removed the fix. Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
0516159613
commit
2581fe931a
|
@ -190,8 +190,8 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
|
|||
nir_setup_builtin_uniform(var);
|
||||
else
|
||||
nir_setup_uniform(var);
|
||||
|
||||
param_size[var->data.driver_location] = type_size_scalar(var->type);
|
||||
if(type_size_scalar(var->type) > 0)
|
||||
param_size[var->data.driver_location] = type_size_scalar(var->type);
|
||||
}
|
||||
} else {
|
||||
/* prog_to_nir only creates a single giant uniform variable so we can
|
||||
|
@ -202,7 +202,8 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
|
|||
&prog->Parameters->ParameterValues[p][i];
|
||||
}
|
||||
}
|
||||
param_size[0] = prog->Parameters->NumParameters * 4;
|
||||
if(prog->Parameters->NumParameters > 0)
|
||||
param_size[0] = prog->Parameters->NumParameters * 4;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue