Merge upstream-main into main
This includes changes I63a5352e, Ia34b7d3a, I2685813f and I07e60729 mediatek: Add MT8196 minigbm: Reduce allocation size for MT2T allocations minigbm: #define MINIGBM_HAS_GBM_BO_GET_MAP_INFO Add depth buffer support for virtgpu virgl Change-Id: I125c0b751f86b217a6ffbf7ec3fd2a1ddf848461
This commit is contained in:
commit
018f7ff8fa
16 changed files with 232 additions and 86 deletions
|
|
@ -52,6 +52,11 @@ static const uint32_t texture_source_formats[] = {
|
|||
DRM_FORMAT_ABGR2101010, DRM_FORMAT_ABGR16161616F
|
||||
};
|
||||
|
||||
static const uint32_t depth_stencil_formats[] = {
|
||||
DRM_FORMAT_DEPTH16, DRM_FORMAT_DEPTH24, DRM_FORMAT_DEPTH24_STENCIL8,
|
||||
DRM_FORMAT_DEPTH32, DRM_FORMAT_DEPTH32_STENCIL8
|
||||
};
|
||||
|
||||
extern struct virtgpu_param params[];
|
||||
|
||||
struct virgl_blob_metadata_cache {
|
||||
|
|
@ -108,6 +113,16 @@ static uint32_t translate_format(uint32_t drm_fourcc)
|
|||
case DRM_FORMAT_YVU420:
|
||||
case DRM_FORMAT_YVU420_ANDROID:
|
||||
return VIRGL_FORMAT_YV12;
|
||||
case DRM_FORMAT_DEPTH16:
|
||||
return VIRGL_FORMAT_Z16_UNORM;
|
||||
case DRM_FORMAT_DEPTH24:
|
||||
return VIRGL_FORMAT_Z24X8_UNORM;
|
||||
case DRM_FORMAT_DEPTH24_STENCIL8:
|
||||
return VIRGL_FORMAT_Z24_UNORM_S8_UINT;
|
||||
case DRM_FORMAT_DEPTH32:
|
||||
return VIRGL_FORMAT_Z32_FLOAT;
|
||||
case DRM_FORMAT_DEPTH32_STENCIL8:
|
||||
return VIRGL_FORMAT_Z32_FLOAT_S8X24_UINT;
|
||||
default:
|
||||
drv_loge("Unhandled format:%d\n", drm_fourcc);
|
||||
return 0;
|
||||
|
|
@ -639,6 +654,9 @@ static int virgl_init(struct driver *drv)
|
|||
virgl_add_combinations(drv, texture_source_formats,
|
||||
ARRAY_SIZE(texture_source_formats), &LINEAR_METADATA,
|
||||
BO_USE_TEXTURE_MASK);
|
||||
virgl_add_combinations(drv, depth_stencil_formats,
|
||||
ARRAY_SIZE(depth_stencil_formats), &LINEAR_METADATA,
|
||||
BO_USE_RENDER_MASK | BO_USE_TEXTURE_MASK);
|
||||
/* NV12 with scanout must flow through virgl_add_combination, so that the native
|
||||
* support is checked and scanout use_flag can be conditionally stripped. */
|
||||
virgl_add_combination(drv, DRM_FORMAT_NV12, &LINEAR_METADATA,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue