From: Daniel Vetter <daniel@ffwll.ch>
To: "Enrico Weigelt, metux IT consult" <enrico.weigelt@gr13.net>
Cc: dri devel <dri-devel@lists.freedesktop.org>,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: RFC: hardware accelerated bitblt using dma engine
Date: Fri, 5 Aug 2016 09:47:23 +0200 [thread overview]
Message-ID: <20160805074723.GX6232@phenom.ffwll.local> (raw)
In-Reply-To: <57A3CCE7.8070509@gr13.net>
On Fri, Aug 05, 2016 at 01:16:55AM +0200, Enrico Weigelt, metux IT consult wrote:
> On 04.08.2016 09:50, Daniel Vetter wrote:
>
> Hi,
>
> > One problem with 2d blitters is that there's no common userspace
> > interface, but many: Xrender, hwc, old X drawing api, various attempts by
> > khronos to standardize something, cairo, ...
>
> We're talking about userland APIs, not kernel->userland interfaces.
> For userland APIs, I'm right now primarily interested in cairo
> (using it for my tiny widget toolkit) ... but I'm also thinking about
> setting X ontop of someting cairo-alike some day - or making gallium
> that layer.
>
> > It's probably worse than video decoding even, and definitely not like
> > on the 3d side where there's GL (and now vulkan) and that's it.
>
> On video side we have v4l for the kernel interface and gst as userland
> framework ... looks like a good compromise to me.
>
> > So you you'll end up with tons of glue code everywhere anyway.
>
> Actually, I'd like to get the glue code smaller. Putting both cairo
> and X onto the common driver base (something that's somewhere between
> xorg video drivers and cairo surface backends) seems a good way to go,
> even though there'll be a lot of work to do for that.
>
> > Adding yet another kernel uapi doesn't help, but forcing it to be generic
> > will make sure it's inefficient. Which means someone else then will
> > create another one.
>
> hmm, I'm not yet convinced that it necessarily will be inefficient.
>
> To clarify the scope: I'm talking only about _dedicated_ units, which
> are completely orthogonal to complex gpus (basicly, just specialized
> dma controllers).
>
> I personally don't care so much whether it's in DRM, V4L or whatever.
> DRM just seemed to be a good place to me.
>
> By the way: as the number of such controllers increases, for dozens
> of different things, eg. IO, crypto, etc., and in many cases they're
> able to directly access the same memory, I got the feeling that we
> should generalize gems even further, so that they could be any kind
> of buffer that may be passed to any kind of device. (hmm, reminds me
> on some ancient mainframe concepts).
>
> > If the blitter is always attached to the display block just add a few gem
> > based ioctls there (like with desktop gpus) for submitting blit workloads.
> > Otherwise new driver I guess.
>
> hmm, can I use gems outside DRM ?
> eg. would it be possible to write an storage controller driver that
> directly accesses an some gem (eg. let the controller write out an
> gem object) ?
Of course. In drm you can export/import gem buffers from to dma-buf. See
https://dri.freedesktop.org/docs/drm/gpu/drm-mm.html#prime-buffer-sharing
Cheers, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-08-05 7:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-02 13:21 RFC: hardware accelerated bitblt using dma engine Enrico Weigelt, metux IT consult
2016-08-02 14:04 ` Daniel Vetter
2016-08-02 21:43 ` Enrico Weigelt, metux IT consult
2016-08-02 23:12 ` Rob Clark
2016-08-03 3:33 ` Enrico Weigelt, metux IT consult
2016-08-03 3:47 ` Dave Airlie
2016-08-03 4:39 ` Enrico Weigelt, metux IT consult
2016-08-03 9:24 ` Marek Szyprowski
2016-08-03 11:47 ` Daniel Vetter
2016-08-03 23:32 ` Enrico Weigelt, metux IT consult
2016-08-04 7:50 ` Daniel Vetter
2016-08-04 10:09 ` Daniel Stone
2016-08-04 23:16 ` Enrico Weigelt, metux IT consult
2016-08-05 4:37 ` Enrico Weigelt, metux IT consult
2016-08-05 7:49 ` Daniel Vetter
2016-08-05 7:47 ` Daniel Vetter [this message]
2016-08-03 23:19 ` Enrico Weigelt, metux IT consult
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=20160805074723.GX6232@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=enrico.weigelt@gr13.net \
--cc=m.szyprowski@samsung.com \
/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