}
static bool si_upload_descriptors(struct si_context *sctx,
- struct si_descriptors *desc,
- struct r600_atom * atom)
+ struct si_descriptors *desc)
{
unsigned slot_size = desc->element_dw_size * 4;
unsigned first_slot_offset = desc->first_active_slot * slot_size;
/* The shader pointer should point to slot 0. */
desc->buffer_offset -= first_slot_offset;
- if (atom)
- si_mark_atom_dirty(sctx, atom);
-
+ si_mark_atom_dirty(sctx, &sctx->shader_pointers.atom);
return true;
}
/* Re-upload the whole array of bindless descriptors into a new buffer.
*/
- if (!si_upload_descriptors(sctx, desc, &sctx->shader_pointers.atom))
+ if (!si_upload_descriptors(sctx, desc))
return 0;
/* Make sure to re-emit the shader pointers for all stages. */
while (dirty) {
unsigned i = u_bit_scan(&dirty);
- if (!si_upload_descriptors(sctx, &sctx->descriptors[i],
- &sctx->shader_pointers.atom))
+ if (!si_upload_descriptors(sctx, &sctx->descriptors[i]))
return false;
}