uint64_t mod;
size_t num_planes;
uint32_t resolved_format;
+ uint32_t bytes_per_pixel;
struct bo *bo;
struct cros_gralloc_handle *hnd;
hnd->format = drv_bo_get_format(bo);
hnd->use_flags[0] = static_cast<uint32_t>(descriptor->use_flags >> 32);
hnd->use_flags[1] = static_cast<uint32_t>(descriptor->use_flags);
- hnd->pixel_stride = drv_bo_get_stride_in_pixels(bo);
+ bytes_per_pixel = drv_bytes_per_pixel_from_format(hnd->format, 0);
+ hnd->pixel_stride = DIV_ROUND_UP(hnd->strides[0], bytes_per_pixel);
hnd->magic = cros_gralloc_magic;
hnd->droid_format = descriptor->droid_format;
hnd->usage = descriptor->producer_usage;
uint32_t drv_bo_get_format(struct bo *bo);
-uint32_t drv_bo_get_stride_in_pixels(struct bo *bo);
+uint32_t drv_bytes_per_pixel_from_format(uint32_t format, size_t plane);
uint32_t drv_stride_from_format(uint32_t format, uint32_t width, size_t plane);
return layout->bytes_per_pixel[plane];
}
-uint32_t drv_bo_get_stride_in_pixels(struct bo *bo)
-{
- uint32_t bytes_per_pixel = drv_bytes_per_pixel_from_format(bo->format, 0);
- return DIV_ROUND_UP(bo->strides[0], bytes_per_pixel);
-}
-
/*
* This function returns the stride for a given format, width and plane.
*/
#include "drv.h"
#include "helpers_array.h"
-uint32_t drv_width_from_format(uint32_t format, uint32_t width, size_t plane);
uint32_t drv_height_from_format(uint32_t format, uint32_t height, size_t plane);
uint32_t drv_size_from_format(uint32_t format, uint32_t stride, uint32_t height, size_t plane);
int drv_bo_from_format(struct bo *bo, uint32_t stride, uint32_t aligned_height, uint32_t format);
-uint32_t drv_bytes_per_pixel_from_format(uint32_t format, size_t plane);
int drv_dumb_bo_create(struct bo *bo, uint32_t width, uint32_t height, uint32_t format,
uint64_t use_flags);
int drv_dumb_bo_destroy(struct bo *bo);