[meta-freescale] QtMultimedia on i.MX6
Thomas Senyk
thomas.senyk at pelagicore.com
Tue Jul 16 01:15:40 PDT 2013
On Monday, 15 July, 2013 11:18:34 Robert Winkler wrote:
> On Fri, Jul 12, 2013 at 1:56 AM, Thomas Senyk
>
> <thomas.senyk at pelagicore.com>wrote:
> > On Thursday, 11 July, 2013 12:58:34 Robert Winkler wrote:
> > > On Wed, Jul 10, 2013 at 6:30 AM, Philip Craig <phil at blackmoth.com.au>
> >
> > wrote:
> > > > On Wed, Jul 10, 2013 at 8:41 PM, Thomas Senyk
> > > >
> > > > <thomas.senyk at pelagicore.com> wrote:
> > > > > On Wednesday, 10 July, 2013 20:32:05 Philip Craig wrote:
> > > > >> I'm not sure why it needs to be imx6 specific. Doesn't the opengl
> >
> > API
> >
> > > > make
> > > >
> > > > >> it so that it doesn't need to be specific? The Qt eglfs platform is
> > > >
> > > > using
> > > >
> > > > >> the vivante opengl libraries. As I understand it, the parts that
> >
> > need
> >
> > > > to be
> > > >
> > > > >> imx6 specific are confined to the eglfs platform plugin.
> > > > >>
> > > > >> qt-gstreamer is at
> >
> > http://cgit.freedesktop.org/gstreamer/qt-gstreamer
> >
> > > > > No. There is no vendor-independent way to map cpu/vpu based memory
> >
> > into
> >
> > > > gpu
> > > >
> > > > > (/opengl) memory.
> > > > > Without 'mapping' one needs to copy/upload via glTexImage2D.
> > > > > This one single line(!) consumes >100% cpu of one iMX6 core for
> >
> > 1080p.
> >
> > > > > If you 'map' the cpu load is very easily <10%
> > >
> > > I was under the same impression as Philip that OpenGL does provide the
> > > functions glMapBuffer and glMapBufferRange. Standard OpenGL does
> > > provide
> > > both.
> > > Then I checked and OpenGL ES 2.0 does not have those functions but
> > > OpenGL
> > > ES 3.0 has the latter (
> >
> > https://www.khronos.org/opengles/sdk/docs/man3/xhtml/glMapBufferRange.xml
> > ).
> >
> > > So to clarify, if the i.MX 6 did support OpenGL ES 3 would that qualify
> >
> > as
> >
> > > a vendor-independent way to map memory? Sorry it's slightly unrelated
> >
> > I'm
> >
> > > just curious.
> >
> > Possibly ... partly! :)
> > You're still missing YUV support.
> > So you either have a hardware-converter (unlikely) or you got a
> > opengl-YUV-
> > extensions (which is part of the vivante api)
> >
> > So opengl es 3.0 + yuv-extension ... might be possible :)
> >
> > But then you're back to needing a extension ;) (at least it could be
> > vendor
> > independent)
> >
> >
> > When does the imx6 get opengl es 3.0 anyway?
> > I've read that the chip (gc2000) is opengl es3.0 capable ..?... so it's
> > just a
> > matter of drivers?
> > I've already seen opengl 3.0 features ... e.g. multisample-texture
> > support!
>
> I don't think it ever will. Where did you read that it is 3.0 capable?
> That'd be awesome but I've never seen it. I've only ever seen them say
> it supports ES 2.0.
>
> Actually the closest thing I can find right now is this page which lists
> several of there GPU's.
> http://www.vivantecorp.com/en/technology/3d.html
There is a '*' behind "ES 3.0" ... which indicates a footnote or something ..
can't find any ;)
>
> Unfortunately it doesn't say specifically which ones support 3.0 and I
> can't find a footnote to go with the *.
> I thought I read once that the GC4000 was the first/lowest to support 3.0.
http://www.khronos.org/news/permalink/vivante-shipping-gpu-cores-designed-to-support-the-latest-opengl-es-3.0-spe
quote: "...GC Cores starting with the GC800..."
No clue if this is in any way reliable ... it's khronos so it should, but it's
more of a 'somebody stated'-news then a 'that's how it is'-news.
>
> Also multisample buffers/rasterization/antialiasing and multitexturing are
> all supported
> in OpenGL ES 2.0.
Yes, but they are a extension in es2.0 and core feature of es3.0, that's what
I meant with es3.0 feature.
> I think that probably includes what you've seen. When I
> grep for multisample in the gpu packages/examples
> I see stuff about rendering to a texture which is probably this which says
> it's written to the 2.0 spec:
> http://www.khronos.org/registry/gles/extensions/EXT/EXT_multisampled_render_
> to_texture.txt
Yes, this wasn't present right from the beginning,
It come in with 4.0.0 .. or 1.1.0? .. or maybe earlier and I saw it to late :)
> > > > Thanks for the explanation. Just to be sure I understand you: there is
> > > > no standard way to allocate dma buffers, so the gpu cannot do the copy
> > > > itself? I see that gst-plugins-gl relies on gstbufmeta from the
> > > > gst-fsl-plugins package to determine the physical address of dma
> > > > buffers allocated by the vpu plugin or by the v4l2src.
> > > >
> > > > And yes, qt-gstreamer is using glTexImage2D. I guess that could be
> > > > patched, but then you may as well just patch QtMultimedia like you
> > > > were planning.
> > > > _______________________________________________
> > > > meta-freescale mailing list
> > > > meta-freescale at yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/meta-freescale
More information about the meta-freescale
mailing list