-static struct v3d_bo *
-v3d_upload_ubo(struct v3d_context *v3d,
- struct v3d_compiled_shader *shader,
- const uint32_t *gallium_uniforms)
-{
- if (!shader->prog_data.base->ubo_size)
- return NULL;
-
- struct v3d_bo *ubo = v3d_bo_alloc(v3d->screen,
- shader->prog_data.base->ubo_size,
- "ubo");
- void *data = v3d_bo_map(ubo);
- for (uint32_t i = 0; i < shader->prog_data.base->num_ubo_ranges; i++) {
- memcpy(data + shader->prog_data.base->ubo_ranges[i].dst_offset,
- ((const void *)gallium_uniforms +
- shader->prog_data.base->ubo_ranges[i].src_offset),
- shader->prog_data.base->ubo_ranges[i].size);
- }
-
- return ubo;
-}
-