gbm: remove "struct gbm_drm_bo" abstraction
The struct is a simple wraper around gbm_bo and brings no actual benefit. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Rob Herring <robh@kernel.org>
This commit is contained in:

committed by
Emil Velikov

parent
b5ab59ce37
commit
2204ea6464
@@ -547,7 +547,7 @@ swrast_put_image2(__DRIdrawable *driDrawable,
|
|||||||
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
internal_stride = bo->base.base.stride;
|
internal_stride = bo->base.stride;
|
||||||
|
|
||||||
for (i = 0; i < height; i++) {
|
for (i = 0; i < height; i++) {
|
||||||
memcpy(bo->map + (x + i) * internal_stride + y,
|
memcpy(bo->map + (x + i) * internal_stride + y,
|
||||||
@@ -577,7 +577,7 @@ swrast_get_image(__DRIdrawable *driDrawable,
|
|||||||
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
internal_stride = bo->base.base.stride;
|
internal_stride = bo->base.stride;
|
||||||
stride = width * 4;
|
stride = width * 4;
|
||||||
|
|
||||||
for (i = 0; i < height; i++) {
|
for (i = 0; i < height; i++) {
|
||||||
|
@@ -959,19 +959,19 @@ gbm_dri_bo_import(struct gbm_device *gbm,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bo->base.base.gbm = gbm;
|
bo->base.gbm = gbm;
|
||||||
bo->base.base.format = gbm_format;
|
bo->base.format = gbm_format;
|
||||||
|
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
|
||||||
(int*)&bo->base.base.width);
|
(int*)&bo->base.width);
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
|
||||||
(int*)&bo->base.base.height);
|
(int*)&bo->base.height);
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
|
||||||
(int*)&bo->base.base.stride);
|
(int*)&bo->base.stride);
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
|
||||||
&bo->base.base.handle.s32);
|
&bo->base.handle.s32);
|
||||||
|
|
||||||
return &bo->base.base;
|
return &bo->base;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
@@ -1038,19 +1038,19 @@ create_dumb(struct gbm_device *gbm,
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto free_bo;
|
goto free_bo;
|
||||||
|
|
||||||
bo->base.base.gbm = gbm;
|
bo->base.gbm = gbm;
|
||||||
bo->base.base.width = width;
|
bo->base.width = width;
|
||||||
bo->base.base.height = height;
|
bo->base.height = height;
|
||||||
bo->base.base.stride = create_arg.pitch;
|
bo->base.stride = create_arg.pitch;
|
||||||
bo->base.base.format = format;
|
bo->base.format = format;
|
||||||
bo->base.base.handle.u32 = create_arg.handle;
|
bo->base.handle.u32 = create_arg.handle;
|
||||||
bo->handle = create_arg.handle;
|
bo->handle = create_arg.handle;
|
||||||
bo->size = create_arg.size;
|
bo->size = create_arg.size;
|
||||||
|
|
||||||
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
if (gbm_dri_bo_map_dumb(bo) == NULL)
|
||||||
goto destroy_dumb;
|
goto destroy_dumb;
|
||||||
|
|
||||||
return &bo->base.base;
|
return &bo->base;
|
||||||
|
|
||||||
destroy_dumb:
|
destroy_dumb:
|
||||||
memset(&destroy_arg, 0, sizeof destroy_arg);
|
memset(&destroy_arg, 0, sizeof destroy_arg);
|
||||||
@@ -1086,10 +1086,10 @@ gbm_dri_bo_create(struct gbm_device *gbm,
|
|||||||
if (bo == NULL)
|
if (bo == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
bo->base.base.gbm = gbm;
|
bo->base.gbm = gbm;
|
||||||
bo->base.base.width = width;
|
bo->base.width = width;
|
||||||
bo->base.base.height = height;
|
bo->base.height = height;
|
||||||
bo->base.base.format = format;
|
bo->base.format = format;
|
||||||
|
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case GBM_FORMAT_R8:
|
case GBM_FORMAT_R8:
|
||||||
@@ -1165,7 +1165,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
|
|||||||
|
|
||||||
if (bo->image) {
|
if (bo->image) {
|
||||||
/* The client passed in a list of invalid modifiers */
|
/* The client passed in a list of invalid modifiers */
|
||||||
assert(gbm_dri_bo_get_modifier(&bo->base.base) != DRM_FORMAT_MOD_INVALID);
|
assert(gbm_dri_bo_get_modifier(&bo->base) != DRM_FORMAT_MOD_INVALID);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
bo->image = dri->image->createImage(dri->screen, width, height,
|
bo->image = dri->image->createImage(dri->screen, width, height,
|
||||||
@@ -1176,11 +1176,11 @@ gbm_dri_bo_create(struct gbm_device *gbm,
|
|||||||
goto failed;
|
goto failed;
|
||||||
|
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
|
||||||
&bo->base.base.handle.s32);
|
&bo->base.handle.s32);
|
||||||
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
|
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
|
||||||
(int *) &bo->base.base.stride);
|
(int *) &bo->base.stride);
|
||||||
|
|
||||||
return &bo->base.base;
|
return &bo->base;
|
||||||
|
|
||||||
failed:
|
failed:
|
||||||
free(bo);
|
free(bo);
|
||||||
@@ -1198,8 +1198,8 @@ gbm_dri_bo_map(struct gbm_bo *_bo,
|
|||||||
|
|
||||||
/* If it's a dumb buffer, we already have a mapping */
|
/* If it's a dumb buffer, we already have a mapping */
|
||||||
if (bo->map) {
|
if (bo->map) {
|
||||||
*map_data = (char *)bo->map + (bo->base.base.stride * y) + (x * 4);
|
*map_data = (char *)bo->map + (bo->base.stride * y) + (x * 4);
|
||||||
*stride = bo->base.base.stride;
|
*stride = bo->base.stride;
|
||||||
return *map_data;
|
return *map_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -102,7 +102,7 @@ struct gbm_dri_device {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct gbm_dri_bo {
|
struct gbm_dri_bo {
|
||||||
struct gbm_drm_bo base;
|
struct gbm_bo base;
|
||||||
|
|
||||||
__DRIimage *image;
|
__DRIimage *image;
|
||||||
|
|
||||||
@@ -150,12 +150,12 @@ gbm_dri_bo_map_dumb(struct gbm_dri_bo *bo)
|
|||||||
memset(&map_arg, 0, sizeof(map_arg));
|
memset(&map_arg, 0, sizeof(map_arg));
|
||||||
map_arg.handle = bo->handle;
|
map_arg.handle = bo->handle;
|
||||||
|
|
||||||
ret = drmIoctl(bo->base.base.gbm->fd, DRM_IOCTL_MODE_MAP_DUMB, &map_arg);
|
ret = drmIoctl(bo->base.gbm->fd, DRM_IOCTL_MODE_MAP_DUMB, &map_arg);
|
||||||
if (ret)
|
if (ret)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
bo->map = mmap(0, bo->size, PROT_WRITE,
|
bo->map = mmap(0, bo->size, PROT_WRITE,
|
||||||
MAP_SHARED, bo->base.base.gbm->fd, map_arg.offset);
|
MAP_SHARED, bo->base.gbm->fd, map_arg.offset);
|
||||||
if (bo->map == MAP_FAILED) {
|
if (bo->map == MAP_FAILED) {
|
||||||
bo->map = NULL;
|
bo->map = NULL;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@@ -41,8 +41,4 @@ struct gbm_drm_device {
|
|||||||
char *driver_name;
|
char *driver_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct gbm_drm_bo {
|
|
||||||
struct gbm_bo base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user