[igt-dev] [PATCH i-g-t 2/3] lib/igt_fb: Use render copy/blit for tiled formats on platforms w/o HW detiling
Dixit, Ashutosh
ashutosh.dixit at intel.com
Wed Jan 22 06:02:06 UTC 2020
On Mon, 20 Jan 2020 14:03:19 -0800, Imre Deak wrote:
>
> On platforms without HW detiling use render copy or blitting to convert
> between a tiled and a linear framebuffer.
>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
> lib/igt_fb.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index c81b9de8..b5b1750e 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -1975,17 +1975,27 @@ static bool blitter_ok(const struct igt_fb *fb)
> return true;
> }
>
> +static bool hw_can_detile(const struct igt_fb *fb)
> +{
> + if (fb->modifier == DRM_FORMAT_MOD_NONE)
> + return true;
The problem with doing this afais is that the code will next try to
mmap_gtt() (i.e. do a linear copy via the aperture) which will also fail
(see igt_get_cairo_surface()). So we may need to use the blitter even for
linear copies (DRM_FORMAT_MOD_NONE).
May want to look at this:
https://patchwork.freedesktop.org/patch/345926/?series=71083&rev=2
More information about the igt-dev
mailing list