struct brw_vue_prog_data *vue_prog_data = &vs_prog_data->base;
struct brw_stage_prog_data *prog_data = &vue_prog_data->base;
- nir_shader *nir = ish->nir;
+ nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
// XXX: alt mode
assign_common_binding_table_offsets(devinfo, nir, prog_data, 0);
nir_shader *nir;
if (ish) {
- nir = ish->nir;
+ nir = nir_shader_clone(mem_ctx, ish->nir);
assign_common_binding_table_offsets(devinfo, nir, prog_data, 0);
iris_setup_uniforms(compiler, mem_ctx, nir, prog_data);
struct brw_vue_prog_data *vue_prog_data = &tes_prog_data->base;
struct brw_stage_prog_data *prog_data = &vue_prog_data->base;
- nir_shader *nir = ish->nir;
+ nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
assign_common_binding_table_offsets(devinfo, nir, prog_data, 0);
struct brw_vue_prog_data *vue_prog_data = &gs_prog_data->base;
struct brw_stage_prog_data *prog_data = &vue_prog_data->base;
- nir_shader *nir = ish->nir;
+ nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
assign_common_binding_table_offsets(devinfo, nir, prog_data, 0);
rzalloc(mem_ctx, struct brw_wm_prog_data);
struct brw_stage_prog_data *prog_data = &fs_prog_data->base;
- nir_shader *nir = ish->nir;
+ nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
// XXX: alt mode
assign_common_binding_table_offsets(devinfo, nir, prog_data,
rzalloc(mem_ctx, struct brw_cs_prog_data);
struct brw_stage_prog_data *prog_data = &cs_prog_data->base;
- nir_shader *nir = ish->nir;
+ nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
cs_prog_data->binding_table.work_groups_start = 0;
assign_common_binding_table_offsets(devinfo, nir, prog_data, 1);