if surface size and plane size is less than zeo
Change-Id: I5fdc43790914ea45d052dabb480debe7f3716a4b
surf->info.height = info->height;
surf->info.format = info->format;
surf->info.bpp = info->bpp;
surf->info.height = info->height;
surf->info.format = info->format;
surf->info.bpp = info->bpp;
- surf->info.size = info->size;
surf->info.num_planes = info->num_planes;
/* get size, stride and offset */
for (i = 0; i < info->num_planes; i++)
{
surf->info.num_planes = info->num_planes;
/* get size, stride and offset */
for (i = 0; i < info->num_planes; i++)
{
- surf->info.planes[i].size = info->planes[i].size;
surf->info.planes[i].offset = info->planes[i].offset;
surf->info.planes[i].stride = info->planes[i].stride;
surf->info.planes[i].offset = info->planes[i].offset;
surf->info.planes[i].stride = info->planes[i].stride;
+
+ if (info->planes[i].size > 0)
+ surf->info.planes[i].size = info->planes[i].size;
+ else
+ surf->info.planes[i].size += surf->info.planes[i].stride * info->height;
+ }
+
+ if (info->size > 0)
+ {
+ surf->info.size = info->size;
+ }
+ else
+ {
+ surf->info.size = 0;
+ for (i = 0; i < info->num_planes; i++)
+ {
+ surf->info.size += surf->info.planes[i].size;
+ }
}
surf->flags = TBM_BO_DEFAULT;
}
surf->flags = TBM_BO_DEFAULT;