> This reply is at kindegarden level.. What exactly do you think is missing from XRender to have good support for gradients, line drawing and text rendering?
Elliptical gradients, font compositing with gamma-correction, seamless polygon joining, rotated fonts and images, pixel-perfect matching, etc.
That's a list from a guy who makes a Flash renderer, btw.
> If you've made the correct "burn of offerings" so that your videocard support well the correct fooGL, how is that different from XRender situation?
---><----
That's the amount of care videocard manufacturers now devote to XRender support. I.e. none at all - nobody needs this shit on phones or new computers (Windows doesn't care about 2D accel as well).
However, good OpenGL/EGL compatibility is necessary, because basically all videocard users need it. So manufacturers have incentives to make something that at least works some of the time.
Have you noticed that developers (OEM's and reverse engineering guys) don't even bother to create X 2D drivers for chips like Mali or Reno?
Posted Mar 17, 2013 10:31 UTC (Sun) by Serge (guest, #84957)
[Link]
> Elliptical gradients, font compositing with gamma-correction, seamless polygon joining, rotated fonts and images, pixel-perfect matching, etc.
These are supported in XRender. But even if they were not, it's always possible to extend it. For example older XRender version (more than 10 years ago) have not supported gradinets, gradients were added later.
But that's not important because Wayland has nothing like XRender, so in that part its worse than Xorg anyway.
> However, good OpenGL/EGL compatibility is necessary, because basically all videocard users need it.
You mix hardware and drivers support. Do you know why SNA works faster than EXA on the same hardware?
XRender is better, because it can be heavily optimized in drivers for the particular adapter. XRender is also better for users, because they don't have to manually check and implement all the GL quirks. Do you think that OpenGL/ES is just either supported or not? Some feature that you have used to on your video adapter can be missing on another one. Check "OpenGL extensions" section in `glxinfo` output. For XRender that can be done once in drivers, without it, i.e. in Wayland, you have to do that in all your programs yourself.
Wayland makes things easier for wayland developers, while X makes things easier for the rest of developers. Feel the difference. :)
LCA: The ways of Wayland
Posted Mar 18, 2013 0:17 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
[Link]
> These are supported in XRender. But even if they were not, it's always possible to extend it. For example older XRender version (more than 10 years ago) have not supported gradinets, gradients were added later.
Hah. It's funny that in one paragraph you talk about how optional extensions are great and then in the next paragraph you blame OpenGL for optional extensions.
> But that's not important because Wayland has nothing like XRender, so in that part its worse than Xorg anyway.
Nope. Wayland simply doesn't need it.
> You mix hardware and drivers support.
No I don't. An uber-great architecture is useless if there's no hardware for it.
> Do you know why SNA works faster than EXA on the same hardware?
SNA does not work anywhere except for i965 hardware. So it's kinda irrelevant. Besides, it's only used to implement XRender.
>Do you think that OpenGL/ES is just either supported or not?
Now? Pretty much yes.
>Some feature that you have used to on your video adapter can be missing on another one.
That used to be true 5 years ago. Now OpenGL standards mandate the required extension sets, so one can just check for the implemented OpenGL/EGL level and use functionality from that set.
BTW, how can I check that a certain feature of XRender is accelerated? For example, vmware svga driver supports accelerated compositing but not trapezeoid rendering.
LCA: The ways of Wayland
Posted Mar 20, 2013 15:00 UTC (Wed) by Serge (guest, #84957)
[Link]
> It's funny that in one paragraph you talk about how optional extensions are great and then in the next paragraph you blame OpenGL for optional extensions.
I'm not blaming OpenGL, I'm just telling that it's not easier to use than XRender.
> SNA does not work anywhere except for i965 hardware. So it's kinda irrelevant. Besides, it's only used to implement XRender.
You're wrong here. Check http://www.x.org/wiki/IntelGraphicsDriver at least. But I wasn't asking where it works, I was asking why it works faster on the same hardware. Hint: because it uses hardware-specific optimisations for 2D rendering, impossible outside of the driver, impossible in Wayland.
> Nope. Wayland simply doesn't need it.
That universal excuse "I don't need it"... Wayland doesn't need anything. It just makes optimised 2D interface impossible, and it does not care that almost everything in modern interface is 2D.
> That used to be true 5 years ago. Now OpenGL standards mandate the required extension sets
And new extensions appear... So the problem is still there.
> BTW, how can I check that a certain feature of XRender is accelerated?
You don't need to check that. That's the beauty of XRender. You only need to check that it's supported. And it is supported for 10+ years.
Acceleration is up to the driver. To make sure if it's really accelerated you have to benchmark it. That applies to both GL and XRender. Because on some drivers/hardware some "accelerated" features actually work slower than software rendering.
LCA: The ways of Wayland
Posted Mar 20, 2013 15:07 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
[Link]
> I'm not blaming OpenGL, I'm just telling that it's not easier to use than XRender.
Is it? OpenGL now has very nice wrappers that can abstract gritty details.
> You're wrong here. Check http://www.x.org/wiki/IntelGraphicsDriver at least. But I wasn't asking where it works, I was asking why it works faster on the same hardware. Hint: because it uses hardware-specific optimisations for 2D rendering, impossible outside of the driver, impossible in Wayland.
That's incorrect. You can use whatever rendering API you want, the only requirement is that you use a surface that can be composited by Wayland.
Nobody stops you from using driver-specific rendering methods.
I've actually checked the SNA source code and it looks like it's using the regular GEM and command submission system of the kernel driver. So you definitely can use something like it for 2D rendering with Wayland. You probably can even use the current SNA with Wayland.
>That universal excuse "I don't need it"... Wayland doesn't need anything. It just makes optimised 2D interface impossible, and it does not care that almost everything in modern interface is 2D.
Incorrect on both counts.
> You don't need to check that. That's the beauty of XRender. You only need to check that it's supported. And it is supported for 10+ years.
Yeah, sure. That's why many XRender-based apps are about as fast as molasses.
LCA: The ways of Wayland
Posted Mar 20, 2013 16:51 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
[Link]
> You're wrong here. Check http://www.x.org/wiki/IntelGraphicsDriver at least. But I wasn't asking where it works, I was asking why it works faster on the same hardware. Hint: because it uses hardware-specific optimisations for 2D rendering, impossible outside of the driver, impossible in Wayland.
Actually, running SNA on _Wayland_ is not only possible, but it works RIGHT NOW.
Posted Mar 20, 2013 17:14 UTC (Wed) by renox (subscriber, #23785)
[Link]
One point Cyberax :-)
I wonder why Serge is so hell bent in finding imaginary drawbacks of Wayland even though it's not difficult to find real "drawbacks" aka trade-off in Wayland.
The latest one I've read in Wayland mailing list: some weird screen have different subpixel ordering depending on the pixel position(!!), so as Wayland clients doesn't know where their window are going to be displayed, they cannot do subpixel aware rendering on these screen..
I hope that these kind of screen are rare, bleah.
LCA: The ways of Wayland
Posted Mar 20, 2013 17:23 UTC (Wed) by renox (subscriber, #23785)
[Link]
To be complete: someone has a plan to add an extension fix this, so this may change, sorry Serge ;-)
LCA: The ways of Wayland
Posted Mar 20, 2013 18:39 UTC (Wed) by chris.wilson (subscriber, #42619)
[Link]
Claiming that will be the same speed is stretching the truth by about a factor of 2.
LCA: The ways of Wayland
Posted Mar 20, 2013 18:48 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
[Link]
Well, yes. There's an additional roundtrip (from the X Server to the Wayland compositor). However, there are no reasons why it's not possible to do completely locally (perhaps using a better API like OpenVG).