gallium/winsys: rename DRM_API_HANDLE_* to WINSYS_HANDLE_*
This just renames this as we want to add an shm handle which isn't really drm related. Originally by: Marc-André Lureau <marcandre.lureau@gmail.com> (airlied: I used this sed script instead) This was generated with: git grep -l 'DRM_API_' | xargs sed -i 's/DRM_API_/WINSYS_/g' Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -98,7 +98,7 @@ renderonly_create_kms_dumb_buffer_for_resource(struct pipe_resource *rsc,
|
||||
|
||||
/* fill in winsys handle */
|
||||
memset(out_handle, 0, sizeof(*out_handle));
|
||||
out_handle->type = DRM_API_HANDLE_TYPE_FD;
|
||||
out_handle->type = WINSYS_HANDLE_TYPE_FD;
|
||||
out_handle->stride = create_dumb.pitch;
|
||||
|
||||
err = drmPrimeHandleToFD(ro->kms_fd, create_dumb.handle, O_CLOEXEC,
|
||||
@@ -130,7 +130,7 @@ renderonly_create_gpu_import_for_resource(struct pipe_resource *rsc,
|
||||
boolean status;
|
||||
int fd, err;
|
||||
struct winsys_handle handle = {
|
||||
.type = DRM_API_HANDLE_TYPE_FD
|
||||
.type = WINSYS_HANDLE_TYPE_FD
|
||||
};
|
||||
|
||||
scanout = CALLOC_STRUCT(renderonly_scanout);
|
||||
|
||||
@@ -85,7 +85,7 @@ renderonly_get_handle(struct renderonly_scanout *scanout,
|
||||
if (!scanout)
|
||||
return FALSE;
|
||||
|
||||
assert(handle->type == DRM_API_HANDLE_TYPE_KMS);
|
||||
assert(handle->type == WINSYS_HANDLE_TYPE_KMS);
|
||||
handle->handle = scanout->handle;
|
||||
handle->stride = scanout->stride;
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ vl_dri2_screen_texture_from_drawable(struct vl_screen *vscreen, void *drawable)
|
||||
}
|
||||
|
||||
memset(&dri2_handle, 0, sizeof(dri2_handle));
|
||||
dri2_handle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
dri2_handle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
dri2_handle.handle = back_left->name;
|
||||
dri2_handle.stride = back_left->pitch;
|
||||
|
||||
|
||||
@@ -271,7 +271,7 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
|
||||
pixmap_buffer_texture = buffer->texture;
|
||||
}
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type= DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type= WINSYS_HANDLE_TYPE_FD;
|
||||
usage = PIPE_HANDLE_USAGE_EXPLICIT_FLUSH | PIPE_HANDLE_USAGE_READ;
|
||||
scrn->base.pscreen->resource_get_handle(scrn->base.pscreen, NULL,
|
||||
pixmap_buffer_texture, &whandle,
|
||||
@@ -492,7 +492,7 @@ dri3_get_front_buffer(struct vl_dri3_screen *scrn)
|
||||
goto free_reply;
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.handle = (unsigned)fds[0];
|
||||
whandle.stride = bp_reply->stride;
|
||||
memset(&templ, 0, sizeof(templ));
|
||||
|
||||
@@ -250,7 +250,7 @@ etna_resource_alloc(struct pipe_screen *pscreen, unsigned layout,
|
||||
if (!scanout)
|
||||
return NULL;
|
||||
|
||||
assert(handle.type == DRM_API_HANDLE_TYPE_FD);
|
||||
assert(handle.type == WINSYS_HANDLE_TYPE_FD);
|
||||
handle.modifier = modifier;
|
||||
rsc = etna_resource(pscreen->resource_from_handle(pscreen, templat,
|
||||
&handle,
|
||||
@@ -600,16 +600,16 @@ etna_resource_get_handle(struct pipe_screen *pscreen,
|
||||
handle->stride = rsc->levels[0].stride;
|
||||
handle->modifier = layout_to_modifier(rsc->layout);
|
||||
|
||||
if (handle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (handle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
return etna_bo_get_name(rsc->bo, &handle->handle) == 0;
|
||||
} else if (handle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (handle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
if (renderonly_get_handle(scanout, handle)) {
|
||||
return TRUE;
|
||||
} else {
|
||||
handle->handle = etna_bo_handle(rsc->bo);
|
||||
return TRUE;
|
||||
}
|
||||
} else if (handle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (handle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
handle->handle = etna_bo_dmabuf(rsc->bo);
|
||||
return TRUE;
|
||||
} else {
|
||||
|
||||
@@ -855,9 +855,9 @@ etna_screen_bo_from_handle(struct pipe_screen *pscreen,
|
||||
struct etna_screen *screen = etna_screen(pscreen);
|
||||
struct etna_bo *bo;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
bo = etna_bo_from_name(screen->dev, whandle->handle);
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
bo = etna_bo_from_dmabuf(screen->dev, whandle->handle);
|
||||
} else {
|
||||
DBG("Attempt to import unsupported handle type %d", whandle->type);
|
||||
|
||||
@@ -729,12 +729,12 @@ fd_screen_bo_get_handle(struct pipe_screen *pscreen,
|
||||
{
|
||||
whandle->stride = stride;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
return fd_bo_get_name(bo, &whandle->handle) == 0;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
whandle->handle = fd_bo_handle(bo);
|
||||
return TRUE;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
whandle->handle = fd_bo_dmabuf(bo);
|
||||
return TRUE;
|
||||
} else {
|
||||
@@ -749,11 +749,11 @@ fd_screen_bo_from_handle(struct pipe_screen *pscreen,
|
||||
struct fd_screen *screen = fd_screen(pscreen);
|
||||
struct fd_bo *bo;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
bo = fd_bo_from_name(screen->dev, whandle->handle);
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
bo = fd_bo_from_handle(screen->dev, whandle->handle, 0);
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
bo = fd_bo_from_dmabuf(screen->dev, whandle->handle);
|
||||
} else {
|
||||
DBG("Attempt to import unsupported handle type %d", whandle->type);
|
||||
|
||||
@@ -102,14 +102,14 @@ nouveau_screen_bo_from_handle(struct pipe_screen *pscreen,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (whandle->type != DRM_API_HANDLE_TYPE_SHARED &&
|
||||
whandle->type != DRM_API_HANDLE_TYPE_FD) {
|
||||
if (whandle->type != WINSYS_HANDLE_TYPE_SHARED &&
|
||||
whandle->type != WINSYS_HANDLE_TYPE_FD) {
|
||||
debug_printf("%s: attempt to import unsupported handle type %d\n",
|
||||
__FUNCTION__, whandle->type);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED)
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED)
|
||||
ret = nouveau_bo_name_ref(dev, whandle->handle, &bo);
|
||||
else
|
||||
ret = nouveau_bo_prime_handle_ref(dev, whandle->handle, &bo);
|
||||
@@ -133,12 +133,12 @@ nouveau_screen_bo_get_handle(struct pipe_screen *pscreen,
|
||||
{
|
||||
whandle->stride = stride;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
return nouveau_bo_name_get(bo, &whandle->handle) == 0;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
whandle->handle = bo->handle;
|
||||
return true;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
return nouveau_bo_set_prime(bo, (int *)&whandle->handle) == 0;
|
||||
} else {
|
||||
return false;
|
||||
|
||||
@@ -713,7 +713,7 @@ static boolean si_texture_get_handle(struct pipe_screen* screen,
|
||||
rtex->surface.tile_swizzle ||
|
||||
(rtex->buffer.flags & RADEON_FLAG_NO_INTERPROCESS_SHARING &&
|
||||
sscreen->info.has_local_buffers &&
|
||||
whandle->type != DRM_API_HANDLE_TYPE_KMS)) {
|
||||
whandle->type != WINSYS_HANDLE_TYPE_KMS)) {
|
||||
assert(!res->b.is_shared);
|
||||
si_reallocate_texture_inplace(sctx, rtex,
|
||||
PIPE_BIND_SHARED, false);
|
||||
|
||||
@@ -228,7 +228,7 @@ static int tegra_screen_import_resource(struct tegra_screen *screen,
|
||||
|
||||
memset(&handle, 0, sizeof(handle));
|
||||
handle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
handle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
handle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
|
||||
status = screen->gpu->resource_get_handle(screen->gpu, NULL, resource->gpu,
|
||||
&handle, usage);
|
||||
@@ -386,7 +386,7 @@ tegra_screen_resource_get_handle(struct pipe_screen *pscreen,
|
||||
* to pass buffers into Tegra DRM for display. In all other cases, return
|
||||
* the Nouveau handle, assuming they will be used for sharing in DRI2/3.
|
||||
*/
|
||||
if (handle->type == DRM_API_HANDLE_TYPE_KMS &&
|
||||
if (handle->type == WINSYS_HANDLE_TYPE_KMS &&
|
||||
presource->bind & PIPE_BIND_SCANOUT) {
|
||||
handle->modifier = resource->modifier;
|
||||
handle->handle = resource->handle;
|
||||
|
||||
@@ -324,12 +324,12 @@ v3d_resource_get_handle(struct pipe_screen *pscreen,
|
||||
bo->private = false;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
return v3d_bo_flink(bo, &whandle->handle);
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
whandle->handle = bo->handle;
|
||||
return TRUE;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
whandle->handle = v3d_bo_get_dmabuf(bo);
|
||||
return whandle->handle != -1;
|
||||
}
|
||||
@@ -715,11 +715,11 @@ v3d_resource_from_handle(struct pipe_screen *pscreen,
|
||||
}
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
rsc->bo = v3d_bo_open_name(screen,
|
||||
whandle->handle, whandle->stride);
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
rsc->bo = v3d_bo_open_dmabuf(screen,
|
||||
whandle->handle, whandle->stride);
|
||||
break;
|
||||
|
||||
@@ -403,7 +403,7 @@ vc4_resource_get_handle(struct pipe_screen *pscreen,
|
||||
whandle->modifier = DRM_FORMAT_MOD_LINEAR;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
if (screen->ro) {
|
||||
/* This could probably be supported, assuming that a
|
||||
* control node was used for pl111.
|
||||
@@ -413,12 +413,12 @@ vc4_resource_get_handle(struct pipe_screen *pscreen,
|
||||
}
|
||||
|
||||
return vc4_bo_flink(rsc->bo, &whandle->handle);
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
if (screen->ro && renderonly_get_handle(rsc->scanout, whandle))
|
||||
return TRUE;
|
||||
whandle->handle = rsc->bo->handle;
|
||||
return TRUE;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
/* FDs are cross-device, so we can export directly from vc4.
|
||||
*/
|
||||
whandle->handle = vc4_bo_get_dmabuf(rsc->bo);
|
||||
@@ -708,11 +708,11 @@ vc4_resource_from_handle(struct pipe_screen *pscreen,
|
||||
return NULL;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
rsc->bo = vc4_bo_open_name(screen,
|
||||
whandle->handle, whandle->stride);
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
rsc->bo = vc4_bo_open_dmabuf(screen,
|
||||
whandle->handle, whandle->stride);
|
||||
break;
|
||||
|
||||
@@ -191,7 +191,7 @@ struct pipe_screen {
|
||||
* another process by first creating a pipe texture and then calling
|
||||
* resource_get_handle.
|
||||
*
|
||||
* NOTE: in the case of DRM_API_HANDLE_TYPE_FD handles, the caller
|
||||
* NOTE: in the case of WINSYS_HANDLE_TYPE_FD handles, the caller
|
||||
* retains ownership of the FD. (This is consistent with
|
||||
* EGL_EXT_image_dma_buf_import)
|
||||
*
|
||||
@@ -238,7 +238,7 @@ struct pipe_screen {
|
||||
* the resource into a format compatible for sharing. The use case is
|
||||
* OpenGL-OpenCL interop. The context parameter is allowed to be NULL.
|
||||
*
|
||||
* NOTE: in the case of DRM_API_HANDLE_TYPE_FD handles, the caller
|
||||
* NOTE: in the case of WINSYS_HANDLE_TYPE_FD handles, the caller
|
||||
* takes ownership of the FD. (This is consistent with
|
||||
* EGL_MESA_image_dma_buf_export)
|
||||
*
|
||||
@@ -389,7 +389,7 @@ struct pipe_screen {
|
||||
* Then the underlying memory object is then exported through interfaces
|
||||
* compatible with EXT_external_resources.
|
||||
*
|
||||
* Note: For DRM_API_HANDLE_TYPE_FD handles, the caller retains ownership
|
||||
* Note: For WINSYS_HANDLE_TYPE_FD handles, the caller retains ownership
|
||||
* of the fd.
|
||||
*
|
||||
* \param handle A handle representing the memory object to import
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define DRM_API_HANDLE_TYPE_SHARED 0
|
||||
#define DRM_API_HANDLE_TYPE_KMS 1
|
||||
#define DRM_API_HANDLE_TYPE_FD 2
|
||||
#define WINSYS_HANDLE_TYPE_SHARED 0
|
||||
#define WINSYS_HANDLE_TYPE_KMS 1
|
||||
#define WINSYS_HANDLE_TYPE_FD 2
|
||||
|
||||
/**
|
||||
* For use with pipe_screen::{texture_from_handle|texture_get_handle}.
|
||||
|
||||
@@ -620,9 +620,9 @@ dri2_allocate_buffer(__DRIscreen *sPriv,
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
if (screen->can_share_buffer)
|
||||
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
else
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
|
||||
screen->base.screen->resource_get_handle(screen->base.screen, NULL,
|
||||
buffer->resource, &whandle,
|
||||
@@ -808,9 +808,9 @@ dri2_allocate_textures(struct dri_context *ctx,
|
||||
whandle.offset = 0;
|
||||
whandle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
if (screen->can_share_buffer)
|
||||
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
else
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
drawable->textures[statt] =
|
||||
screen->base.screen->resource_from_handle(screen->base.screen,
|
||||
&templ, &whandle,
|
||||
@@ -1068,7 +1068,7 @@ dri2_create_image_from_name(__DRIscreen *_screen,
|
||||
enum pipe_format pf;
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
whandle.handle = name;
|
||||
whandle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
|
||||
@@ -1127,7 +1127,7 @@ dri2_create_image_from_fd(__DRIscreen *_screen,
|
||||
goto exit;
|
||||
}
|
||||
|
||||
whandles[i].type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandles[i].type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandles[i].handle = (unsigned)fds[i];
|
||||
whandles[i].stride = (unsigned)strides[i];
|
||||
whandles[i].offset = (unsigned)offsets[i];
|
||||
@@ -1267,35 +1267,35 @@ dri2_query_image(__DRIimage *image, int attrib, int *value)
|
||||
|
||||
switch (attrib) {
|
||||
case __DRI_IMAGE_ATTRIB_STRIDE:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
return GL_FALSE;
|
||||
*value = whandle.stride;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_OFFSET:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
return GL_FALSE;
|
||||
*value = whandle.offset;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_HANDLE:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
return GL_FALSE;
|
||||
*value = whandle.handle;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_NAME:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
return GL_FALSE;
|
||||
*value = whandle.handle;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_FD:
|
||||
whandle.type= DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type= WINSYS_HANDLE_TYPE_FD;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
return GL_FALSE;
|
||||
@@ -1323,7 +1323,7 @@ dri2_query_image(__DRIimage *image, int attrib, int *value)
|
||||
*value = 1;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_MODIFIER_UPPER:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
whandle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
@@ -1333,7 +1333,7 @@ dri2_query_image(__DRIimage *image, int attrib, int *value)
|
||||
*value = (whandle.modifier >> 32) & 0xffffffff;
|
||||
return GL_TRUE;
|
||||
case __DRI_IMAGE_ATTRIB_MODIFIER_LOWER:
|
||||
whandle.type = DRM_API_HANDLE_TYPE_KMS;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_KMS;
|
||||
whandle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
if (!image->texture->screen->resource_get_handle(image->texture->screen,
|
||||
NULL, image->texture, &whandle, usage))
|
||||
@@ -1413,7 +1413,7 @@ dri2_from_names(__DRIscreen *screen, int width, int height, int format,
|
||||
return NULL;
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_SHARED;
|
||||
whandle.handle = names[0];
|
||||
whandle.stride = strides[0];
|
||||
whandle.offset = offsets[0];
|
||||
@@ -1945,7 +1945,7 @@ dri2_interop_export_object(__DRIcontext *_ctx,
|
||||
}
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
|
||||
success = screen->resource_get_handle(screen, st->pipe, res, &whandle,
|
||||
usage);
|
||||
|
||||
@@ -96,7 +96,7 @@ D3DWindowBuffer_create(struct NineSwapChain9 *This,
|
||||
HRESULT hr;
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
This->screen->resource_get_handle(This->screen, pipe, resource,
|
||||
&whandle,
|
||||
for_frontbuffer_reading ?
|
||||
|
||||
@@ -305,7 +305,7 @@ vlVaAcquireBufferHandle(VADriverContextP ctx, VABufferID buf_id,
|
||||
drv->pipe->flush(drv->pipe, NULL, 0);
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
|
||||
if (!screen->resource_get_handle(screen, drv->pipe,
|
||||
buf->derived_surface.resource,
|
||||
|
||||
@@ -568,7 +568,7 @@ surface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
|
||||
res_templ.usage = PIPE_USAGE_DEFAULT;
|
||||
|
||||
memset(&whandle, 0, sizeof(struct winsys_handle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.handle = memory_attribute->buffers[index];
|
||||
|
||||
// Create a resource for each plane.
|
||||
@@ -1050,7 +1050,7 @@ vlVaExportSurfaceHandle(VADriverContextP ctx,
|
||||
}
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
|
||||
if (!screen->resource_get_handle(screen, drv->pipe, resource,
|
||||
&whandle, usage)) {
|
||||
|
||||
@@ -805,7 +805,7 @@ VdpStatus vlVdpOutputSurfaceDMABuf(VdpOutputSurface surface,
|
||||
vlsurface->device->context->flush(vlsurface->device->context, NULL, 0);
|
||||
|
||||
memset(&whandle, 0, sizeof(struct winsys_handle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
|
||||
pscreen = vlsurface->surface->texture->screen;
|
||||
if (!pscreen->resource_get_handle(pscreen, vlsurface->device->context,
|
||||
|
||||
@@ -526,7 +526,7 @@ VdpStatus vlVdpVideoSurfaceDMABuf(VdpVideoSurface surface,
|
||||
}
|
||||
|
||||
memset(&whandle, 0, sizeof(struct winsys_handle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.layer = surf->u.tex.first_layer;
|
||||
|
||||
pscreen = surf->texture->screen;
|
||||
|
||||
@@ -311,12 +311,12 @@ handle_type(enum xa_handle_type type)
|
||||
{
|
||||
switch (type) {
|
||||
case xa_handle_type_kms:
|
||||
return DRM_API_HANDLE_TYPE_KMS;
|
||||
return WINSYS_HANDLE_TYPE_KMS;
|
||||
case xa_handle_type_fd:
|
||||
return DRM_API_HANDLE_TYPE_FD;
|
||||
return WINSYS_HANDLE_TYPE_FD;
|
||||
case xa_handle_type_shared:
|
||||
default:
|
||||
return DRM_API_HANDLE_TYPE_SHARED;
|
||||
return WINSYS_HANDLE_TYPE_SHARED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ xa_surface_from_handle(struct xa_tracker *xa,
|
||||
uint32_t handle, uint32_t stride)
|
||||
{
|
||||
return xa_surface_from_handle2(xa, width, height, depth, stype, xa_format,
|
||||
DRM_API_HANDLE_TYPE_SHARED, flags, handle,
|
||||
WINSYS_HANDLE_TYPE_SHARED, flags, handle,
|
||||
stride);
|
||||
}
|
||||
|
||||
|
||||
@@ -1277,10 +1277,10 @@ static struct pb_buffer *amdgpu_bo_from_handle(struct radeon_winsys *rws,
|
||||
}
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
type = amdgpu_bo_handle_type_gem_flink_name;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
type = amdgpu_bo_handle_type_dma_buf_fd;
|
||||
break;
|
||||
default:
|
||||
@@ -1365,13 +1365,13 @@ static bool amdgpu_bo_get_handle(struct pb_buffer *buffer,
|
||||
bo->u.real.use_reusable_pool = false;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
type = amdgpu_bo_handle_type_gem_flink_name;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
type = amdgpu_bo_handle_type_dma_buf_fd;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
type = amdgpu_bo_handle_type_kms;
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -98,7 +98,7 @@ i915_drm_buffer_from_handle(struct i915_winsys *iws,
|
||||
struct i915_drm_buffer *buf;
|
||||
uint32_t tile = 0, swizzle = 0;
|
||||
|
||||
if ((whandle->type != DRM_API_HANDLE_TYPE_SHARED) && (whandle->type != DRM_API_HANDLE_TYPE_FD))
|
||||
if ((whandle->type != WINSYS_HANDLE_TYPE_SHARED) && (whandle->type != WINSYS_HANDLE_TYPE_FD))
|
||||
return NULL;
|
||||
|
||||
if (whandle->offset != 0)
|
||||
@@ -110,9 +110,9 @@ i915_drm_buffer_from_handle(struct i915_winsys *iws,
|
||||
|
||||
buf->magic = 0xDEAD1337;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED)
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED)
|
||||
buf->bo = drm_intel_bo_gem_create_from_name(idws->gem_manager, "gallium3d_from_handle", whandle->handle);
|
||||
else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
int fd = (int) whandle->handle;
|
||||
buf->bo = drm_intel_bo_gem_create_from_prime(idws->gem_manager, fd, height * whandle->stride);
|
||||
}
|
||||
@@ -143,7 +143,7 @@ i915_drm_buffer_get_handle(struct i915_winsys *iws,
|
||||
{
|
||||
struct i915_drm_buffer *buf = i915_drm_buffer(buffer);
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
if (!buf->flinked) {
|
||||
if (drm_intel_bo_flink(buf->bo, &buf->flink))
|
||||
return FALSE;
|
||||
@@ -151,9 +151,9 @@ i915_drm_buffer_get_handle(struct i915_winsys *iws,
|
||||
}
|
||||
|
||||
whandle->handle = buf->flink;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
whandle->handle = buf->bo->handle;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
int fd;
|
||||
|
||||
if (drm_intel_bo_gem_export_to_prime(buf->bo, &fd))
|
||||
|
||||
@@ -1157,10 +1157,10 @@ static struct pb_buffer *radeon_winsys_bo_from_handle(struct radeon_winsys *rws,
|
||||
* The list of pairs is guarded by a mutex, of course. */
|
||||
mtx_lock(&ws->bo_handles_mutex);
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
/* First check if there already is an existing bo for the handle. */
|
||||
bo = util_hash_table_get(ws->bo_names, (void*)(uintptr_t)whandle->handle);
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
/* We must first get the GEM handle, as fds are unreliable keys */
|
||||
r = drmPrimeFDToHandle(ws->fd, whandle->handle, &handle);
|
||||
if (r)
|
||||
@@ -1184,7 +1184,7 @@ static struct pb_buffer *radeon_winsys_bo_from_handle(struct radeon_winsys *rws,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
struct drm_gem_open open_arg = {};
|
||||
memset(&open_arg, 0, sizeof(open_arg));
|
||||
/* Open the BO. */
|
||||
@@ -1196,7 +1196,7 @@ static struct pb_buffer *radeon_winsys_bo_from_handle(struct radeon_winsys *rws,
|
||||
handle = open_arg.handle;
|
||||
size = open_arg.size;
|
||||
bo->flink_name = whandle->handle;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
size = lseek(whandle->handle, 0, SEEK_END);
|
||||
/*
|
||||
* Could check errno to determine whether the kernel is new enough, but
|
||||
@@ -1301,7 +1301,7 @@ static bool radeon_winsys_bo_get_handle(struct pb_buffer *buffer,
|
||||
|
||||
bo->u.real.use_reusable_pool = false;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
if (!bo->flink_name) {
|
||||
flink.handle = bo->handle;
|
||||
|
||||
@@ -1316,9 +1316,9 @@ static bool radeon_winsys_bo_get_handle(struct pb_buffer *buffer,
|
||||
mtx_unlock(&ws->bo_handles_mutex);
|
||||
}
|
||||
whandle->handle = bo->flink_name;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
whandle->handle = bo->handle;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
if (drmPrimeHandleToFD(ws->fd, bo->handle, DRM_CLOEXEC, (int*)&whandle->handle))
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -234,11 +234,11 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
|
||||
}
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
handle = whandle->handle;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
ret = drmPrimeFDToHandle(vws->ioctl.drm_fd, whandle->handle,
|
||||
&handle);
|
||||
if (ret) {
|
||||
@@ -263,7 +263,7 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
|
||||
/*
|
||||
* Need to close the handle we got from prime.
|
||||
*/
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_FD)
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_FD)
|
||||
vmw_ioctl_surface_destroy(vws, handle);
|
||||
|
||||
if (ret) {
|
||||
@@ -340,11 +340,11 @@ vmw_drm_surface_get_handle(struct svga_winsys_screen *sws,
|
||||
whandle->offset = 0;
|
||||
|
||||
switch (whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
whandle->handle = vsrf->sid;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
ret = drmPrimeHandleToFD(vws->ioctl.drm_fd, vsrf->sid, DRM_CLOEXEC,
|
||||
(int *)&whandle->handle);
|
||||
if (ret) {
|
||||
|
||||
@@ -290,13 +290,13 @@ vmw_ioctl_surface_req(const struct vmw_winsys_screen *vws,
|
||||
int ret;
|
||||
|
||||
switch(whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_SHARED:
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_SHARED:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
*needs_unref = FALSE;
|
||||
req->handle_type = DRM_VMW_HANDLE_LEGACY;
|
||||
req->sid = whandle->handle;
|
||||
break;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
if (!vws->ioctl.have_drm_2_6) {
|
||||
uint32_t handle;
|
||||
|
||||
|
||||
@@ -385,11 +385,11 @@ kms_sw_displaytarget_from_handle(struct sw_winsys *ws,
|
||||
struct kms_sw_plane *kms_sw_pl;
|
||||
|
||||
|
||||
assert(whandle->type == DRM_API_HANDLE_TYPE_KMS ||
|
||||
whandle->type == DRM_API_HANDLE_TYPE_FD);
|
||||
assert(whandle->type == WINSYS_HANDLE_TYPE_KMS ||
|
||||
whandle->type == WINSYS_HANDLE_TYPE_FD);
|
||||
|
||||
switch(whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
kms_sw_pl = kms_sw_displaytarget_add_from_prime(kms_sw, whandle->handle,
|
||||
templ->format,
|
||||
templ->width0,
|
||||
@@ -399,7 +399,7 @@ kms_sw_displaytarget_from_handle(struct sw_winsys *ws,
|
||||
if (kms_sw_pl)
|
||||
*stride = kms_sw_pl->stride;
|
||||
return sw_displaytarget(kms_sw_pl);
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
kms_sw_dt = kms_sw_displaytarget_find_and_ref(kms_sw, whandle->handle);
|
||||
if (kms_sw_dt) {
|
||||
struct kms_sw_plane *plane;
|
||||
@@ -430,12 +430,12 @@ kms_sw_displaytarget_get_handle(struct sw_winsys *winsys,
|
||||
struct kms_sw_displaytarget *kms_sw_dt = plane->dt;
|
||||
|
||||
switch(whandle->type) {
|
||||
case DRM_API_HANDLE_TYPE_KMS:
|
||||
case WINSYS_HANDLE_TYPE_KMS:
|
||||
whandle->handle = kms_sw_dt->handle;
|
||||
whandle->stride = plane->stride;
|
||||
whandle->offset = plane->offset;
|
||||
return TRUE;
|
||||
case DRM_API_HANDLE_TYPE_FD:
|
||||
case WINSYS_HANDLE_TYPE_FD:
|
||||
if (!drmPrimeHandleToFD(kms_sw->fd, kms_sw_dt->handle,
|
||||
DRM_CLOEXEC, (int*)&whandle->handle)) {
|
||||
whandle->stride = plane->stride;
|
||||
|
||||
@@ -398,7 +398,7 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws,
|
||||
|
||||
mtx_lock(&qdws->bo_handles_mutex);
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
res = util_hash_table_get(qdws->bo_names, (void*)(uintptr_t)handle);
|
||||
if (res) {
|
||||
struct virgl_hw_res *r = NULL;
|
||||
@@ -407,7 +407,7 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws,
|
||||
}
|
||||
}
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
int r;
|
||||
r = drmPrimeFDToHandle(qdws->fd, whandle->handle, &handle);
|
||||
if (r) {
|
||||
@@ -428,7 +428,7 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws,
|
||||
if (!res)
|
||||
goto done;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
res->bo_handle = handle;
|
||||
} else {
|
||||
fprintf(stderr, "gem open handle %d\n", handle);
|
||||
@@ -478,7 +478,7 @@ static boolean virgl_drm_winsys_resource_get_handle(struct virgl_winsys *qws,
|
||||
if (!res)
|
||||
return FALSE;
|
||||
|
||||
if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
if (!res->flinked) {
|
||||
memset(&flink, 0, sizeof(flink));
|
||||
flink.handle = res->bo_handle;
|
||||
@@ -494,9 +494,9 @@ static boolean virgl_drm_winsys_resource_get_handle(struct virgl_winsys *qws,
|
||||
mtx_unlock(&qdws->bo_handles_mutex);
|
||||
}
|
||||
whandle->handle = res->flink;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_KMS) {
|
||||
whandle->handle = res->bo_handle;
|
||||
} else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
if (drmPrimeHandleToFD(qdws->fd, res->bo_handle, DRM_CLOEXEC, (int*)&whandle->handle))
|
||||
return FALSE;
|
||||
mtx_lock(&qdws->bo_handles_mutex);
|
||||
|
||||
@@ -65,7 +65,7 @@ st_import_memoryobj_fd(struct gl_context *ctx,
|
||||
struct pipe_screen *screen = pipe->screen;
|
||||
struct winsys_handle whandle;
|
||||
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.handle = fd;
|
||||
whandle.offset = 0;
|
||||
whandle.layer = 0;
|
||||
|
||||
@@ -127,7 +127,7 @@ st_vdpau_resource_from_description(struct gl_context *ctx,
|
||||
templ.usage = PIPE_USAGE_DEFAULT;
|
||||
|
||||
memset(&whandle, 0, sizeof(whandle));
|
||||
whandle.type = DRM_API_HANDLE_TYPE_FD;
|
||||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.handle = desc->handle;
|
||||
whandle.offset = desc->offset;
|
||||
whandle.stride = desc->stride;
|
||||
|
||||
Reference in New Issue
Block a user