From: Imre Deak <imre.deak@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 8/9] lib/igt_fb: Speed up format conversion for local memory
Date: Thu, 30 Jan 2020 14:04:09 +0200 [thread overview]
Message-ID: <20200130120409.GA20639@ideak-desk.fi.intel.com> (raw)
In-Reply-To: <158037984591.16598.12090164847858859078@skylake-alporthouse-com>
On Thu, Jan 30, 2020 at 10:24:05AM +0000, Chris Wilson wrote:
> Quoting Imre Deak (2020-01-29 18:16:00)
> > To speed up the conversion that needs to read from a dGFX local memory
> > use the same trick as what's used for GTT apertures and make a copy
> > first into system memory.
> >
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> > lib/igt_fb.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > index 30f3bfba..ef3fa2ed 100644
> > --- a/lib/igt_fb.c
> > +++ b/lib/igt_fb.c
> > @@ -3427,6 +3427,10 @@ static void create_cairo_surface__convert(int fd, struct igt_fb *fb)
> > if (use_enginecopy(fb) || use_blitter(fb) ||
> > igt_vc4_is_tiled(fb->modifier)) {
> > setup_linear_mapping(&blit->base);
> > +
> > + /* speed things up by working from a copy in system memory */
> > + cvt.src.slow_reads =
> > + is_i915_device(fd) && !gem_has_mappable_ggtt(fd);
>
> Any read from WC (including from GGTT) is greatly improved by using
> memcpy_from_wc, and it even works with X/Y-tiling through fences.
>
> slow_reads is a question of the mapping, at the time of use.
Yes, setting slow_reads above will lead to a memcpy_from_wc() of the
source to a system memory buf and the conversion will happen from the
latter. What's slow is the random access read during conversion from
local memory.
> -Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2020-01-30 12:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-29 18:15 [igt-dev] [PATCH i-g-t 1/9] lib/ioctl_wrappers: Query if device supports set/get legacy tiling Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 2/9] lib/igt_fb: Fix creating FBs on platforms w/o HW detiling Imre Deak
2020-01-30 10:11 ` Chris Wilson
2020-01-30 13:32 ` Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 3/9] lib/intel_batchbuffer: Add blitter copy using XY_SRC_COPY_BLT Imre Deak
2020-01-30 10:17 ` Chris Wilson
2020-01-30 10:26 ` Chris Wilson
2020-01-30 14:23 ` Imre Deak
2020-01-30 14:01 ` Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 4/9] lib/igt_fb: Switch from XY_FAST_COPY_BLT to XY_SRC_COPY_BLT Imre Deak
2020-01-30 10:19 ` Chris Wilson
2020-01-30 13:27 ` Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 5/9] lib/igt_fb: Add 64bpp support to the XY_SRC blit command Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 6/9] lib/igt_fb: Fall back from gtt map to coherent map on platforms w/o aperture Imre Deak
2020-01-30 10:22 ` Chris Wilson
2020-01-30 13:17 ` Imre Deak
2020-01-29 18:15 ` [igt-dev] [PATCH i-g-t 7/9] lib/igt_fb: Use render copy/blit on platforms w/o HW detiling Imre Deak
2020-01-29 18:16 ` [igt-dev] [PATCH i-g-t 8/9] lib/igt_fb: Speed up format conversion for local memory Imre Deak
2020-01-30 10:24 ` Chris Wilson
2020-01-30 12:04 ` Imre Deak [this message]
2020-01-30 12:12 ` Chris Wilson
2020-01-30 13:10 ` Imre Deak
2020-01-30 18:20 ` Imre Deak
2020-01-29 18:16 ` [igt-dev] [PATCH i-g-t 9/9] tests/kms_plane: Fix format/mod for reference FB Imre Deak
2020-01-29 18:24 ` Imre Deak
2020-01-29 19:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/ioctl_wrappers: Query if device supports set/get legacy tiling Patchwork
2020-01-30 10:10 ` [igt-dev] [PATCH i-g-t 1/9] " Chris Wilson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200130120409.GA20639@ideak-desk.fi.intel.com \
--to=imre.deak@intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox