Commit 669d8766 authored by Marek Olšák's avatar Marek Olšák
Browse files

r600g: optimize r600_resource_va

Avoid calling get_radeon_bo and inline it.
parent 68e4c83f
......@@ -696,4 +696,12 @@ static INLINE unsigned r600_pack_float_12p4(float x)
x >= 4096 ? 0xffff : x * 16;
}
static INLINE uint64_t r600_resource_va(struct pipe_screen *screen, struct pipe_resource *resource)
{
struct r600_screen *rscreen = (struct r600_screen*)screen;
struct r600_resource *rresource = (struct r600_resource*)resource;
return rscreen->ws->buffer_get_virtual_address(rresource->cs_buf);
}
#endif
......@@ -62,14 +62,3 @@ void r600_init_context_resource_functions(struct r600_context *r600)
r600->context.transfer_destroy = u_transfer_destroy_vtbl;
r600->context.transfer_inline_write = u_default_transfer_inline_write;
}
uint64_t r600_resource_va(struct pipe_screen *screen, struct pipe_resource *resource)
{
struct r600_screen *rscreen = (struct r600_screen*)screen;
struct r600_resource *rresource = (struct r600_resource*)resource;
if (rresource->buf) {
return rscreen->ws->buffer_get_virtual_address(rresource->buf);
}
return 0;
}
......@@ -98,6 +98,4 @@ struct r600_context;
void r600_upload_const_buffer(struct r600_context *rctx, struct r600_resource **rbuffer, uint32_t *offset);
uint64_t r600_resource_va(struct pipe_screen *screen, struct pipe_resource *resource);
#endif
......@@ -898,11 +898,9 @@ static boolean radeon_winsys_bo_get_handle(struct pb_buffer *buffer,
return TRUE;
}
static uint64_t radeon_winsys_bo_va(struct pb_buffer *buffer)
static uint64_t radeon_winsys_bo_va(struct radeon_winsys_cs_handle *buf)
{
struct radeon_bo *bo = get_radeon_bo(buffer);
return bo->va;
return ((struct radeon_bo*)buf)->va;
}
void radeon_bomgr_init_functions(struct radeon_drm_winsys *ws)
......
......@@ -255,7 +255,7 @@ struct radeon_winsys {
* \param buf A winsys buffer object
* \return virtual address
*/
uint64_t (*buffer_get_virtual_address)(struct pb_buffer *buf);
uint64_t (*buffer_get_virtual_address)(struct radeon_winsys_cs_handle *buf);
/**************************************************************************
* Command submission.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment