diff options
author | Dave Airlie <airlied@gmail.com> | 2013-09-25 09:52:54 +1000 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2013-09-25 09:52:54 +1000 |
commit | 14eeb5d4b83977901959e4b6d8ae8f974d4a150f (patch) | |
tree | fee6893c9b824f916a76390eaa06a321a9e69252 | |
parent | 76257d399a9d390f45991e483a418cad7f01b497 (diff) |
add y0topvirgl-wip
-rw-r--r-- | drivers/gpu/drm/virgl/virgl_fb.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/virgl/virgl_hw.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/virgl/virgl_ioctl.c | 1 | ||||
-rw-r--r-- | include/uapi/drm/virgl_drm.h | 1 |
4 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/virgl/virgl_fb.c b/drivers/gpu/drm/virgl/virgl_fb.c index 2e5127db4c58..2181f8c61668 100644 --- a/drivers/gpu/drm/virgl/virgl_fb.c +++ b/drivers/gpu/drm/virgl/virgl_fb.c @@ -206,6 +206,7 @@ int virgl_create_3d_fb_res(struct virgl_device *qdev, int width, int height, uin cmd_p->u.res_create.width = width; cmd_p->u.res_create.height = height; cmd_p->u.res_create.depth = 1; + cmd_p->u.res_create.flags = VIRGL_RESOURCE_Y_0_TOP; virgl_queue_cmd_buf(qdev, vbuf); *handle = res_id; return 0; diff --git a/drivers/gpu/drm/virgl/virgl_hw.h b/drivers/gpu/drm/virgl/virgl_hw.h index a6088323a1a4..63d1453e9b52 100644 --- a/drivers/gpu/drm/virgl/virgl_hw.h +++ b/drivers/gpu/drm/virgl/virgl_hw.h @@ -63,6 +63,7 @@ struct virgl_set_scanout { struct virgl_box box; }; +#define VIRGL_RESOURCE_Y_0_TOP (1 << 0) struct virgl_resource_create { uint32_t handle; uint32_t target; @@ -75,6 +76,7 @@ struct virgl_resource_create { uint32_t last_level; uint32_t nr_samples; uint32_t nr_sg_entries; + uint32_t flags; }; struct virgl_resource_unref { diff --git a/drivers/gpu/drm/virgl/virgl_ioctl.c b/drivers/gpu/drm/virgl/virgl_ioctl.c index 7178ab1517dd..004edfa25349 100644 --- a/drivers/gpu/drm/virgl/virgl_ioctl.c +++ b/drivers/gpu/drm/virgl/virgl_ioctl.c @@ -188,6 +188,7 @@ static int virgl_resource_create_ioctl(struct drm_device *dev, void *data, cmd_p->u.res_create.last_level = rc->last_level; cmd_p->u.res_create.nr_samples = rc->nr_samples; cmd_p->u.res_create.nr_sg_entries = qobj->sgt ? qobj->sgt->nents : 0; + cmd_p->u.res_create.flags = rc->flags; ret = virgl_fence_emit(qdev, cmd_p, &fence); diff --git a/include/uapi/drm/virgl_drm.h b/include/uapi/drm/virgl_drm.h index 723a4a86a356..57419500249d 100644 --- a/include/uapi/drm/virgl_drm.h +++ b/include/uapi/drm/virgl_drm.h @@ -72,6 +72,7 @@ struct drm_virgl_getparam { }; /* NO_BO flags? NO resource flag? */ +/* resource flag for y_0_top */ struct drm_virgl_resource_create { uint32_t target; uint32_t format; |