summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoonas Kylmälä <joonas.kylmala@iki.fi>2018-08-27 13:32:27 -0400
committerJoonas Kylmälä <joonas.kylmala@iki.fi>2018-08-27 13:32:27 -0400
commit2e2f337f636d90841ab01fbc4f9f06dc884b4a1d (patch)
tree077dc68f25e193a56d377640f9af275b0a093a14
parentd0492704378754ae67a603b5edb71a8939fd50bb (diff)
parentc1827f654e32078421bc75e56d335c85c596e24c (diff)
downloadexternal_drm_gralloc-2e2f337f636d90841ab01fbc4f9f06dc884b4a1d.tar.gz
external_drm_gralloc-2e2f337f636d90841ab01fbc4f9f06dc884b4a1d.tar.bz2
external_drm_gralloc-2e2f337f636d90841ab01fbc4f9f06dc884b4a1d.zip
Merge remote-tracking branch 'androidx86/marshmallow-x86' into replicant-6.0replicant-6.0-aug-2018
-rw-r--r--gralloc_drm_pipe.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gralloc_drm_pipe.c b/gralloc_drm_pipe.c
index f18ecef..dda4705 100644
--- a/gralloc_drm_pipe.c
+++ b/gralloc_drm_pipe.c
@@ -98,6 +98,8 @@ static unsigned get_pipe_bind(int usage)
{
unsigned bind = PIPE_BIND_SHARED;
+ if (usage & (GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN))
+ bind |= PIPE_BIND_LINEAR;
if (usage & GRALLOC_USAGE_HW_TEXTURE)
bind |= PIPE_BIND_SAMPLER_VIEW;
if (usage & GRALLOC_USAGE_HW_RENDER)
@@ -156,8 +158,8 @@ static struct pipe_buffer *get_pipe_buffer_locked(struct pipe_manager *pm,
goto fail;
buf->winsys.type = DRM_API_HANDLE_TYPE_SHARED;
- if (!pm->screen->resource_get_handle(pm->screen,
- buf->resource, NULL, &buf->winsys, PIPE_HANDLE_USAGE_READ_WRITE))
+ if (!pm->screen->resource_get_handle(pm->screen, pm->context,
+ buf->resource, &buf->winsys, PIPE_HANDLE_USAGE_READ_WRITE))
goto fail;
}
@@ -167,8 +169,8 @@ static struct pipe_buffer *get_pipe_buffer_locked(struct pipe_manager *pm,
memset(&tmp, 0, sizeof(tmp));
tmp.type = DRM_API_HANDLE_TYPE_KMS;
- if (!pm->screen->resource_get_handle(pm->screen,
- buf->resource, NULL, &tmp, PIPE_HANDLE_USAGE_READ_WRITE))
+ if (!pm->screen->resource_get_handle(pm->screen, pm->context,
+ buf->resource, &tmp, PIPE_HANDLE_USAGE_READ_WRITE))
goto fail;
buf->base.fb_handle = tmp.handle;