r300g: expose radeon_bo_wait to the driver
This commit is contained in:
parent
06d4339716
commit
581be86342
|
@ -87,6 +87,9 @@ struct r300_winsys_screen {
|
|||
struct r300_winsys_buffer **pdst,
|
||||
struct r300_winsys_buffer *src);
|
||||
|
||||
void (*buffer_wait)(struct r300_winsys_screen *rws,
|
||||
struct r300_winsys_buffer *buf);
|
||||
|
||||
/* Add a pipe_resource to the list of buffer objects to validate. */
|
||||
boolean (*add_buffer)(struct r300_winsys_screen *winsys,
|
||||
struct r300_winsys_buffer *buf,
|
||||
|
|
|
@ -88,4 +88,7 @@ boolean radeon_drm_bufmgr_get_handle(struct pb_buffer *_buf,
|
|||
|
||||
boolean radeon_drm_bufmgr_is_buffer_referenced(struct pb_buffer *_buf,
|
||||
enum r300_reference_domain domain);
|
||||
|
||||
void radeon_drm_bufmgr_wait(struct pb_buffer *_buf);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -419,3 +419,10 @@ void radeon_drm_bufmgr_flush_maps(struct pb_manager *_mgr)
|
|||
|
||||
make_empty_list(&mgr->buffer_map_list);
|
||||
}
|
||||
|
||||
void radeon_drm_bufmgr_wait(struct pb_buffer *_buf)
|
||||
{
|
||||
struct radeon_drm_buffer *buf = get_drm_buffer(_buf);
|
||||
|
||||
radeon_bo_wait(buf->bo);
|
||||
}
|
||||
|
|
|
@ -98,6 +98,13 @@ static void radeon_r300_winsys_buffer_unmap(struct r300_winsys_screen *ws,
|
|||
pb_unmap(_buf);
|
||||
}
|
||||
|
||||
static void radeon_r300_winsys_buffer_wait(struct r300_winsys_screen *ws,
|
||||
struct r300_winsys_buffer *buf)
|
||||
{
|
||||
struct pb_buffer *_buf = radeon_pb_buffer(buf);
|
||||
radeon_drm_bufmgr_wait(_buf);
|
||||
}
|
||||
|
||||
static void radeon_r300_winsys_buffer_reference(struct r300_winsys_screen *rws,
|
||||
struct r300_winsys_buffer **pdst,
|
||||
struct r300_winsys_buffer *src)
|
||||
|
@ -343,6 +350,7 @@ radeon_setup_winsys(int fd, struct radeon_libdrm_winsys* ws)
|
|||
ws->base.buffer_get_tiling = radeon_r300_winsys_buffer_get_tiling;
|
||||
ws->base.buffer_map = radeon_r300_winsys_buffer_map;
|
||||
ws->base.buffer_unmap = radeon_r300_winsys_buffer_unmap;
|
||||
ws->base.buffer_wait = radeon_r300_winsys_buffer_wait;
|
||||
ws->base.buffer_reference = radeon_r300_winsys_buffer_reference;
|
||||
ws->base.buffer_from_handle = radeon_r300_winsys_buffer_from_handle;
|
||||
ws->base.buffer_get_handle = radeon_r300_winsys_buffer_get_handle;
|
||||
|
|
Loading…
Reference in New Issue