[PATCH weston 2/4] gles2: update texture only if needed

Pekka Paalanen ppaalanen at gmail.com
Wed Nov 7 06:19:13 PST 2012


On Wed, 7 Nov 2012 13:27:50 +0000
Sundararaj Prabhu-B36876 <B36876 at freescale.com> wrote:

> Wondering whether the extension EGL_KHR_image_pixmap can be used instead of glTex(Sub)Image2D.
> This would reduce much of the CPU copying. Do you see any problems? 

Hi,

do you mean creating an EGLImage from a Dispmanx resource, and so
eventually a GL texture? That would be ideal for switching between
Dispmanx elements and GLESv2, if it works. It would allow removing one
or two buffers per surface, saving lots of memory. However considering
the current limitations in writing to Dispmanx resources, the data
upload itself might be only slightly faster. But I can't imagine any
serious negative effects. Maybe you might lose linear texture
filtering; mipmaps are not even wanted.

The problem is, I don't know what a native pixmap is on RPi, or is it
implemented.

It looks like the native pixmap type would be a uint32_t[2], but I
don't know what to do with that.

So yeah, if we had a buffer, that could be used as a texture and put
into an overlay (element) as needed without copies, it would be a major
win in memory usage, and we would not need to maintain a texture buffer
and an overlay buffer separately. Also, the compositor would be able to
release the client's buffer sooner, which means the client could do
with only one buffer, too, instead of double-buffering towards the
compositor.


Thanks,
pq


More information about the wayland-devel mailing list