drv: add support to query backend for max texture size

BUG=b:194426249
TEST=launch Cuttlefish w/ 2D mode
TEST=launch Cuttlefish w/ 3D mode

Change-Id: Iee5f7b88a73b9e5b8cf89de1d8b67308a696083f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3194813
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
This commit is contained in:
Jason Macnak 2021-09-29 11:10:06 -07:00 committed by Commit Bot
parent 84236dd5a2
commit 336fd05c8a
3 changed files with 11 additions and 0 deletions

8
drv.c
View file

@ -772,3 +772,11 @@ int drv_resource_info(struct bo *bo, uint32_t strides[DRV_MAX_PLANES],
return 0;
}
uint32_t drv_get_max_texture_2d_size(struct driver *drv)
{
if (drv->backend->get_max_texture_2d_size)
return drv->backend->get_max_texture_2d_size(drv);
return UINT32_MAX;
}

2
drv.h
View file

@ -195,6 +195,8 @@ uint32_t drv_num_buffers_per_bo(struct bo *bo);
int drv_resource_info(struct bo *bo, uint32_t strides[DRV_MAX_PLANES],
uint32_t offsets[DRV_MAX_PLANES], uint64_t *format_modifier);
uint32_t drv_get_max_texture_2d_size(struct driver *drv);
#define drv_log(format, ...) \
do { \
drv_log_prefix("minigbm", __FILE__, __LINE__, format, ##__VA_ARGS__); \

View file

@ -96,6 +96,7 @@ struct backend {
size_t (*num_planes_from_modifier)(struct driver *drv, uint32_t format, uint64_t modifier);
int (*resource_info)(struct bo *bo, uint32_t strides[DRV_MAX_PLANES],
uint32_t offsets[DRV_MAX_PLANES], uint64_t *format_modifier);
uint32_t (*get_max_texture_2d_size)(struct driver *drv);
};
// clang-format off