[cairo] Cairo backend which utilizes GPU

kammal kamalneet at gmail.com
Wed Jul 2 23:30:01 PDT 2008


On Thu, Jul 3, 2008 at 10:57 AM, KwangYul Seo <kwangyul.seo at gmail.com>
wrote:

> Hello.
>
> Thanks for your opinion, kammal. You mentioned that OpenVG on top of OpenGL
> ES 1.1 is not very interesting. What do you mean by this? You mean the
> performance of OpenVG on top of OpenGL ES 1.1 is not so good?


I think it is a big and unnecessary development effort, and not of much use
in the cairo scheme of things. OpenVG is big, specially 1.1, and has
features that cairo already implements. You may end up copying the
tessellation code from cairo. And the code for text from somewhere.. And if
you insist on implementing full OpenVG, I think some things may not be
doable over GLES 1.1, without costly, painful hacks..e.g. DARKEN, LIGHTEN
blending modes?
And cairo->VG->GLES seems to be a long path.. I think a GLES backend for
cairo may take less time to develop, than OpenVG over GLES. And should be at
least a little faster at runtime than cairo->VG->GLES.
Anyway, a couple of GLES extensions may make life easier: FBO, and
non-power-of-two textures..

I think the only option I have at this moment is to use OpenVG
> implementation on top of OpenGL ES 1.1 because currently OpenVG hardwares
> are rare in the market. If the performance is not so impressive, I may need
> to find another solutions.


That's true. There aren't many options for OpenVG at the moment.

>
> By the way, what is the most general approach to use accelerated 2D vector
> graphics in mobile devices?


iPhone! anyone else has "accelerated 2D vector graphics in mobile devices"?
How about cairo->X->KAA ?

>
>
> Regards,
> Kwang Yul Seo
>
>
>
> On Thu, Jul 3, 2008 at 9:59 AM, kammal <kamalneet at gmail.com> wrote:
>
>> On Wed, Jul 2, 2008 at 12:04 PM, KwangYul Seo <kwangyul.seo at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I want to use cairo in embedded systems with OpenGL ES support. I know
>>> currently there are two cairo backends which uses GPU for graphics
>>> acceleration.
>>>
>>> 1) Glitz (OpenGL backend)
>>> 2) OpenVG (which is usually implemented in OpenGL)
>>>
>>> Can I use Glitz for this purpose? I am a bit worried because glitz seems
>>> to be out of date now. What is the minimum requirements of OpenGL to use
>>> glitz? Does it need specific GL extensions?
>>
>>
>> We found it difficult to port glitz to OpenGL ES 1.1. It is dependent on
>> some functions e.g. glMapBuffer, which are not present in OpenGL ES. The
>> code is not so simple, perhaps because it has to work with the diversity of
>> GL implementations on desktop. That is an amazing feat, but perhaps not the
>> best solution for embedded...
>> I don't remember exactly, but it should need either FBO, or pbuffers with
>> bind-to-texture support (otherwise rendering trapezoids should be very
>> slow). Don't know how well it works with egl's pbuffers..
>>
>> OpenVG is a very good choice, *if* we have hardware+drivers that run
>> OpenVG fast. And having a full OpenVG on top of OpenGL ES 1.1 is not very
>> interesting.
>>
>>
>>> What is the current status of OpenVG backend? Is it an officially
>>> supported backend? I found AmanithVG implements OpenVG with OpenGL ES 1.1
>>> and 2.0.
>>
>>
>>>
>>> Are there other options to use cairo in embedded systems with
>>> accleration?
>>
>>
>> If you use X, you can add Render acceleration in xserver, and just use the
>> xrender backend.
>>
>> ~kammal
>>
>>>
>>>
>>> Regards,
>>> Kwang Yul Seo
>>>
>>>
>>> _______________________________________________
>>> cairo mailing list
>>> cairo at cairographics.org
>>> http://lists.cairographics.org/mailman/listinfo/cairo
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cairographics.org/archives/cairo/attachments/20080703/d269444c/attachment.html 


More information about the cairo mailing list