From 2c8674f5a90f236b9e07b759d49911d79921bc78 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 25 Apr 2016 11:47:21 -0400 Subject: [PATCH] freedreno: honor handle->offset Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_resource.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index 9aded3bb7fe..99affc492d1 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -43,6 +43,8 @@ #include +/* XXX this should go away, needed for 'struct winsys_handle' */ +#include "state_tracker/drm_driver.h" static bool pending(struct fd_resource *rsc, enum fd_resource_status status) @@ -637,8 +639,7 @@ fail: static struct pipe_resource * fd_resource_from_handle(struct pipe_screen *pscreen, const struct pipe_resource *tmpl, - struct winsys_handle *handle, - unsigned usage) + struct winsys_handle *handle, unsigned usage) { struct fd_resource *rsc = CALLOC_STRUCT(fd_resource); struct fd_resource_slice *slice = &rsc->slices[0]; @@ -669,6 +670,7 @@ fd_resource_from_handle(struct pipe_screen *pscreen, rsc->base.vtbl = &fd_resource_vtbl; rsc->cpp = util_format_get_blocksize(tmpl->format); slice->pitch /= rsc->cpp; + slice->offset = handle->offset; assert(rsc->cpp); -- 2.30.2