For patches 1-4: Reviewed-by: Marek Olšák <[email protected]>
Marek On Tue, Mar 8, 2016 at 1:21 PM, Christian König <[email protected]> wrote: > From: Christian König <[email protected]> > > We are going to need this for EGL_EXT_image_dma_buf_import. > > Signed-off-by: Christian König <[email protected]> > --- > src/gallium/include/state_tracker/drm_driver.h | 5 +++++ > src/gallium/state_trackers/dri/dri2.c | 2 ++ > src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 1 + > src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 1 + > src/gallium/winsys/svga/drm/vmw_screen_dri.c | 1 + > src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c | 3 +++ > 6 files changed, 13 insertions(+) > > diff --git a/src/gallium/include/state_tracker/drm_driver.h > b/src/gallium/include/state_tracker/drm_driver.h > index 959a762..d81da89 100644 > --- a/src/gallium/include/state_tracker/drm_driver.h > +++ b/src/gallium/include/state_tracker/drm_driver.h > @@ -35,6 +35,11 @@ struct winsys_handle > * Output for texture_get_handle. > */ > unsigned stride; > + /** > + * Input to texture_from_handle. > + * Output for texture_get_handle. > + */ > + unsigned offset; > }; > > > diff --git a/src/gallium/state_trackers/dri/dri2.c > b/src/gallium/state_trackers/dri/dri2.c > index a11a6cb..4349775 100644 > --- a/src/gallium/state_trackers/dri/dri2.c > +++ b/src/gallium/state_trackers/dri/dri2.c > @@ -533,6 +533,7 @@ dri2_allocate_textures(struct dri_context *ctx, > templ.bind = bind; > whandle.handle = buf->name; > whandle.stride = buf->pitch; > + whandle.offset = 0; > if (screen->can_share_buffer) > whandle.type = DRM_API_HANDLE_TYPE_SHARED; > else > @@ -754,6 +755,7 @@ dri2_create_image_from_winsys(__DRIscreen *_screen, > templ.array_size = 1; > > whandle->stride = pitch * util_format_get_blocksize(pf); > + whandle->offset = 0; > > img->texture = > screen->base.screen->resource_from_handle(screen->base.screen, > &templ, whandle); > diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c > b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c > index 59a801b..41996f3 100644 > --- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c > +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c > @@ -650,6 +650,7 @@ static boolean amdgpu_bo_get_handle(struct pb_buffer > *buffer, > return FALSE; > > whandle->stride = stride; > + whandle->offset = 0; > bo->is_shared = true; > return TRUE; > } > diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c > b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c > index 7e9ed0c..3df0a35 100644 > --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c > +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c > @@ -1049,6 +1049,7 @@ static boolean radeon_winsys_bo_get_handle(struct > pb_buffer *buffer, > } > > whandle->stride = stride; > + whandle->offset = 0; > return TRUE; > } > > diff --git a/src/gallium/winsys/svga/drm/vmw_screen_dri.c > b/src/gallium/winsys/svga/drm/vmw_screen_dri.c > index 01bb0e2..baa22a9 100644 > --- a/src/gallium/winsys/svga/drm/vmw_screen_dri.c > +++ b/src/gallium/winsys/svga/drm/vmw_screen_dri.c > @@ -357,6 +357,7 @@ vmw_drm_surface_get_handle(struct svga_winsys_screen *sws, > vsrf = vmw_svga_winsys_surface(surface); > whandle->handle = vsrf->sid; > whandle->stride = stride; > + whandle->offset = 0; > > switch (whandle->type) { > case DRM_API_HANDLE_TYPE_SHARED: > diff --git a/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c > b/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c > index 1e85971..9aaee88 100644 > --- a/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c > +++ b/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c > @@ -309,17 +309,20 @@ kms_sw_displaytarget_get_handle(struct sw_winsys > *winsys, > case DRM_API_HANDLE_TYPE_KMS: > whandle->handle = kms_sw_dt->handle; > whandle->stride = kms_sw_dt->stride; > + whandle->offset = 0; > return TRUE; > case DRM_API_HANDLE_TYPE_FD: > if (!drmPrimeHandleToFD(kms_sw->fd, kms_sw_dt->handle, > DRM_CLOEXEC, (int*)&whandle->handle)) { > whandle->stride = kms_sw_dt->stride; > + whandle->offset = 0; > return TRUE; > } > /* fallthrough */ > default: > whandle->handle = 0; > whandle->stride = 0; > + whandle->offset = 0; > return FALSE; > } > } > -- > 2.5.0 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
