mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
freedreno/drm: Add offset param for fd_bo_upload()
Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18258>
This commit is contained in:
parent
a9e79dd88a
commit
4703efd23f
5 changed files with 7 additions and 8 deletions
|
|
@ -487,14 +487,14 @@ fd_bo_map(struct fd_bo *bo)
|
|||
}
|
||||
|
||||
void
|
||||
fd_bo_upload(struct fd_bo *bo, void *src, unsigned len)
|
||||
fd_bo_upload(struct fd_bo *bo, void *src, unsigned off, unsigned len)
|
||||
{
|
||||
if (bo->funcs->upload) {
|
||||
bo->funcs->upload(bo, src, len);
|
||||
bo->funcs->upload(bo, src, off, len);
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy(bo_map(bo), src, len);
|
||||
memcpy((uint8_t *)bo_map(bo) + off, src, len);
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ uint32_t fd_bo_handle(struct fd_bo *bo);
|
|||
int fd_bo_dmabuf(struct fd_bo *bo);
|
||||
uint32_t fd_bo_size(struct fd_bo *bo);
|
||||
void *fd_bo_map(struct fd_bo *bo);
|
||||
void fd_bo_upload(struct fd_bo *bo, void *src, unsigned len);
|
||||
void fd_bo_upload(struct fd_bo *bo, void *src, unsigned off, unsigned len);
|
||||
bool fd_bo_prefer_upload(struct fd_bo *bo, unsigned len);
|
||||
int fd_bo_cpu_prep(struct fd_bo *bo, struct fd_pipe *pipe, uint32_t op);
|
||||
void fd_bo_cpu_fini(struct fd_bo *bo);
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ struct fd_bo_funcs {
|
|||
* Optional, copy data into bo, falls back to mmap+memcpy. If not
|
||||
* implemented, it must be possible to mmap all buffers
|
||||
*/
|
||||
void (*upload)(struct fd_bo *bo, void *src, unsigned len);
|
||||
void (*upload)(struct fd_bo *bo, void *src, unsigned off, unsigned len);
|
||||
|
||||
/**
|
||||
* Optional, if upload is supported, should upload be preferred?
|
||||
|
|
|
|||
|
|
@ -202,9 +202,8 @@ bo_upload(struct fd_bo *bo, unsigned off, void *src, unsigned len)
|
|||
}
|
||||
|
||||
static void
|
||||
virtio_bo_upload(struct fd_bo *bo, void *src, unsigned len)
|
||||
virtio_bo_upload(struct fd_bo *bo, void *src, unsigned off, unsigned len)
|
||||
{
|
||||
unsigned off = 0;
|
||||
while (len > 0) {
|
||||
unsigned sz = MIN2(len, 0x1000);
|
||||
bo_upload(bo, off, src, sz);
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ upload_shader_variant(struct ir3_shader_variant *v)
|
|||
/* Always include shaders in kernel crash dumps. */
|
||||
fd_bo_mark_for_dump(v->bo);
|
||||
|
||||
fd_bo_upload(v->bo, v->bin, v->info.size);
|
||||
fd_bo_upload(v->bo, v->bin, 0, v->info.size);
|
||||
}
|
||||
|
||||
struct ir3_shader_variant *
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue