amdgpu: Add 10-bit color formats.
Should be fine for rendering and texturing. AMDGPU only exposes this on the primary plane though, not on the overlay or cursor. I strongly suspect the HW could also do this on the overlay but I lack a proper testcase for now. BUG=b:159011420 TEST=Run tast.video.Play.vp9_2_sw on Zork Change-Id: Ie3a5356576a960985aac0ba16665425f45bd1541 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/2272566 Tested-by: Bas Nieuwenhuizen <basni@chromium.org> Reviewed-by: Miguel Casas <mcasas@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
This commit is contained in:
parent
ae6f34c87c
commit
b16076b583
1 changed files with 15 additions and 3 deletions
18
amdgpu.c
18
amdgpu.c
|
|
@ -47,9 +47,11 @@ struct amdgpu_linear_vma_priv {
|
||||||
uint32_t map_flags;
|
uint32_t map_flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
const static uint32_t render_target_formats[] = { DRM_FORMAT_ABGR8888, DRM_FORMAT_ARGB8888,
|
const static uint32_t render_target_formats[] = {
|
||||||
DRM_FORMAT_RGB565, DRM_FORMAT_XBGR8888,
|
DRM_FORMAT_ABGR8888, DRM_FORMAT_ARGB8888, DRM_FORMAT_RGB565,
|
||||||
DRM_FORMAT_XRGB8888 };
|
DRM_FORMAT_XBGR8888, DRM_FORMAT_XRGB8888, DRM_FORMAT_ABGR2101010,
|
||||||
|
DRM_FORMAT_ARGB2101010, DRM_FORMAT_XBGR2101010, DRM_FORMAT_XRGB2101010,
|
||||||
|
};
|
||||||
|
|
||||||
const static uint32_t texture_source_formats[] = { DRM_FORMAT_GR88, DRM_FORMAT_R8,
|
const static uint32_t texture_source_formats[] = { DRM_FORMAT_GR88, DRM_FORMAT_R8,
|
||||||
DRM_FORMAT_NV21, DRM_FORMAT_NV12,
|
DRM_FORMAT_NV21, DRM_FORMAT_NV12,
|
||||||
|
|
@ -364,6 +366,11 @@ static int amdgpu_init(struct driver *drv)
|
||||||
drv_modify_combination(drv, DRM_FORMAT_ABGR8888, &metadata, BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_ABGR8888, &metadata, BO_USE_SCANOUT);
|
||||||
drv_modify_combination(drv, DRM_FORMAT_XBGR8888, &metadata, BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_XBGR8888, &metadata, BO_USE_SCANOUT);
|
||||||
|
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_ABGR2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_ARGB2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_XBGR2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_XRGB2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
|
||||||
drv_modify_combination(drv, DRM_FORMAT_NV21, &metadata, BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_NV21, &metadata, BO_USE_SCANOUT);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -395,6 +402,11 @@ static int amdgpu_init(struct driver *drv)
|
||||||
drv_modify_combination(drv, DRM_FORMAT_XRGB8888, &metadata, BO_USE_CURSOR | BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_XRGB8888, &metadata, BO_USE_CURSOR | BO_USE_SCANOUT);
|
||||||
drv_modify_combination(drv, DRM_FORMAT_ABGR8888, &metadata, BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_ABGR8888, &metadata, BO_USE_SCANOUT);
|
||||||
drv_modify_combination(drv, DRM_FORMAT_XBGR8888, &metadata, BO_USE_SCANOUT);
|
drv_modify_combination(drv, DRM_FORMAT_XBGR8888, &metadata, BO_USE_SCANOUT);
|
||||||
|
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_ABGR2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_ARGB2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_XBGR2101010, &metadata, BO_USE_SCANOUT);
|
||||||
|
drv_modify_combination(drv, DRM_FORMAT_XRGB2101010, &metadata, BO_USE_SCANOUT);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue