freenode/#clim - IRC Chatlog
Search
3:08:38
slyrus
I don't think that uses xrender, but that damn word gets used in so many contexts, I have no idea :)
3:15:41
beach
I think I am right. Alpha channels are mentioned in the documentation of CLX for the first time in the chapter on the XRENDER extension.
3:18:08
beach
Yes, the default CLX backend uses TrueType font rendering which uses the XRENDER extension.
3:19:31
beach
For some reason, when you show me URLs like that, they only lead me to the top-level directory and I don't know where to go next.
3:22:37
slyrus
here's the actual commit: https://github.com/slyrus/McCLIM/commit/7e3df868e0bde0b7d04676ad9b5f1af437121e43
3:24:25
beach
xlib:draw-lines is part of the core protocol, so you are not using the XRENDER extension, and with that technique, you won't get any transparency or anti-aliasing.
3:26:50
beach
Since XRENDER is an extension, one theory says that it is valuable to have a backend that only uses the core X11 protocol. This backend would not have any transparency or anti-aliasing, but it would work on every X11 server...
3:27:55
beach
That's additional work for us, and the probability of someone using a server without that extension is very small.
3:29:23
beach
As a consequence, if we make the decision that we don't care about X11 servers without the XRENDER backend (we took a step in that direction by making mcclim-truetype the default), then the basis for decision making changes...
3:30:01
slyrus
got it. so pros and cons to both sides, no clear decision on requiring XRENDER in the core CLX drawing stuff.
3:30:09
beach
We could not simplify things by expressing more drawing primitives as proper compositing primitives. It would give us a prettier result.
3:31:11
beach
X11 core protocol does not contain the XRENDER extension, because that extension is an extension so not in the core.
3:32:34
beach
So the main decision to make is whether to accept that the X11 servers we support in our "default" (not "core") CLX backend has the X11 XRENDER extension or not.
3:34:05
beach
Personally, I am now leaning towards assuming the XRENDER extension. I don't think anyone would want to use McCLIM with only the core X11 protocol available.
3:35:43
beach
Furthermore, gas2serra is working on getting the frame-buffer backend to work with reasonable performance. In that backend, we can do the rendering ourselves to an X11 "image" which is part of the X11 core protocol. We can have all the anti-aliasing we want because we have complete control over the rendering process.
4:03:39
slyrus
Ok, I like the idea of using XRENDER, and I think the frame-buffer backend is maybe a useful tool/experiment, but I don't think it should replace the traditional approach. Seems like it would negatively impact HW acceleration.
4:05:28
beach
We (the collective "we", not the royal "we") also have some documentation work to do if we want to establish the use of the XRENDER extension. The documentation of the X11 protocol extensions for XRENDER is totally incomprehensible, at least to me. And that is after several attempts to read and understand it.
4:08:16
beach
Presumably, the same person who wrote the documentation of the protocol extension also wrote the C xlib code to use it.
4:09:06
beach
But CLX goes to the protocol directly (which is a good thing in my book), and gilberth defined the CLX layer differently from the way the C xlib layer is defined.
5:44:00
beach
Sounds plausible. I don't think we can do that in general since it requires sharing memory between the Common Lisp system and those extensions.