Deep Color support

Wolfgang Draxinger wdraxinger.maillist at draxit.de
Sun Apr 27 16:42:43 PDT 2014


On Sun, 27 Apr 2014 18:25:45 +0300
Pekka Paalanen <ppaalanen at gmail.com>
wrote:

> Sorry?
> ... 
> Huh?

See below for an example and link to a demonstrator

> For FBO, you can create the storage with e.g. glTexImage2D, or some
> of the renderbuffer functions.

Storage is one thing. Being able to actually use it the other one. See
below.

> If you don't want to work with a window system, then don't. Create
> a context with whatever EGLSurface you can, and then just always
> use an FBO, leaving the EGLSurface unused.

Oh, if it just were so simple (at least in X11).

> I guess I just don't understand what "switching X11 servers" means
> here.

It means, that if you have multiple X11 servers running on the same
machine, each configured to use the same GPU, only the OpenGL programs
using the X11 server/display that currently holds the VT can use the
GPU.

This even stretches to FBOs. Here's a small demonstrator I just put
together from stuff scattered around my homedirectory (quick and dirty –
also has a non-growing memory leak, but I don't care).
http://dl.wolfgang-draxinger.net/test_fbo.cpp

Start two X11 servers (open a second X11 session or use `startx -- :10`
`startx -- :11` or similar). On one session run the test_fbo program.
Then switch to the other X server and repeatedly use

`display -size 512x512 -depth 8 RGB:/tmp/fbodump.rgb`

to look at the dumped contents of the FBO. You'll notice that the
contents of the dump will not change if the X server that test_fbo is
using is not holding the VT.

Then switch to the VT with the X server that test_fbo is using and look
at the FBO dump again repeatedly. You'll see it changing.


Regards,

Wolfgang




More information about the wayland-devel mailing list