Re: acceleration

"Patrick Shirkey" <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Wed, October 3, 2012 10:03 am, Henry (Yu) Song - SISA wrote:
> Hi, Patrix
>
> The answer to your question is YES, cairo runs on Opengl and Opengl es 2.0
> (no gles 1 though).  I might be able to help you more if you can give me
> more info on your gl driver.  Is it open source intel, radeon, nouveau
> driver? it is ATI fglrx driver or NVidia unified driver?  Are you running
> on embedded device with Opengl es  2, what is the embedded GPU/driver?
>

The machine I am developing on is running the nouveau driver and the
device is

 NVIDIA Corporation G96 [Quadro FX 580]

I have tested the cairo_gl_surface example code on this machine and it
loads the gears example and various clutter examples too.

I porting an app from that other os to Linux and I would like to be able
to reuse the existing opengl code so it looks like cairo_gl_surface is the
way to go for that task as I have been told clutter only has support for
gles.

My options at the moment are:

1: Port the cairo_gl_surface example from c to python3
2: Port the existing opengl to gles and load in clutter
3: Reimplement the existing opengl code as clutter/cogl

I would prefer to do 1 but at the moment the only code I can get to run in
python is the clutter examples so I have to make a decision.



Patrick



> They are all different.
>
> Henry
> ________________________________________
> From: [email protected]
> [[email protected]] on behalf of
> Patrick Shirkey [[email protected]]
> Sent: Tuesday, October 02, 2012 4:25 PM
> To: [email protected]
> Subject: Re: [cairo] acceleration
>
> On Wed, October 3, 2012 9:10 am, Henry (Yu) Song - SISA wrote:
>> I am not sure your question.  acceleration in gl driver? or acceleration
>> using gl-backend vs. image-backend in cairo?
>>
>
> According to wikipedia cairo "uses acceleration when available". So as
> that is rather vague I need to prove or disprove that cairo will use the
> GPU for 2d acceleration for the image-backend. My experience with cairo on
> gtk2 suggests that the computations are handled by the cpu unless
> explicitly requested to use cairo_gl_surface.
>
>
>> if you want to use gl backend, create cairo_gl_surface instead of using
>> cairo_image_surface.  Again, the performance of cairo_gl_surface vs.
>> cairo_image_surface depends on your gl driver quality as Chris said.
>>
>
> Thanks, does cairo_gl_surface work with all opengl or only opengl es ?
>
>
>> Henry
>> ________________________________________
>> From: [email protected]
>> [[email protected]] on behalf of
>> Patrick Shirkey [[email protected]]
>> Sent: Tuesday, October 02, 2012 3:46 PM
>> To: [email protected]
>> Subject: Re: [cairo] acceleration
>>
>> On Tue, October 2, 2012 9:39 pm, Chris Wilson wrote:
>>> On Tue, 2 Oct 2012 21:25:43 +1000 (EST), "Patrick Shirkey"
>>> <[email protected]> wrote:
>>>>
>>>> On Tue, October 2, 2012 9:16 pm, Chris Wilson wrote:
>>>> > On Tue, 2 Oct 2012 15:35:38 +1000 (EST), "Patrick Shirkey"
>>>> > <[email protected]> wrote:
>>>> >> Hi,
>>>> >>
>>>> >> Is there a simple test to know if cairo is using acceleration or is
>>>> it
>>>> >> just a matter of running a desktop with glx?
>>>> >
>>>> > Cairo dodges the complicated question of how to setup the rendering
>>>> > pipeline leaving that to the application/toolkit. So in order for
>>>> cairo
>>>> > to use GL, the application must create a set of output Windows
>>>> > compatible with GL and pass those and the context to cairo to use.
>>>> The
>>>> > degree of acceleration then depends upon the quality of the driver
>>>> and
>>>> > the style of rendering. In short, do not expect to switching to
>>>> cairo-gl
>>>> > to be an easy task to get fast rendering.
>>>>
>>
>>
>> In terms of 2d acceleration how would I know if cario is using the GPU
>> or
>> CPU?
>>
>>
>>
>>
>>>> Thanks Chris.
>>>>
>>>> Is the recommended approached to use cogl directly, cairo or clutter?
>>>
>>> Use the appropriate tool to hand :)
>>>
>>> Clutter is excellent for controlling animations and emergent behaviour.
>>> Cairo offers a simple means for describing a page layout (or parts
>>> there
>>> of).
>>> Cogl aims to make using OpenGL simpler and more portable, with a few
>>> additional smarts.
>>>
>>>> FYI, I am using python3 with gtk3 and so far the only code I have been
>>>> able to make work with this combination are the clutter examples.
>>>>
>>>> I have some existing opengl. I am looking at either porting it to
>>>> cogl/clutter or if there is a way to load it directly with cairo that
>>>> I
>>>> have yet to come across.
>>>
>>> If you are starting from OpenGL, probably easier to go to clutter+cogl.
>>> Cairo comes into its own for having a higher level description of paths
>>> and shapes, but if you already are well versed in translating into
>>> OpenGL, then you probably do not need Cairo and will probably be better
>>> to avoid the impedance mismatch between the PDF rendering model and
>>> OpenGL. However, if Cairo makes your design and maintenance easier,
>>> have
>>> fun!
>>> -Chris
>>>
>>> --
>>> Chris Wilson, Intel Open Source Technology Centre
>>>
>>
>>
>> --
>> Patrick Shirkey
>> Boost Hardware Ltd
>> --
>> cairo mailing list
>> [email protected]
>> http://lists.cairographics.org/mailman/listinfo/cairo
>>
>
>
> --
> Patrick Shirkey
> Boost Hardware Ltd
> --
> cairo mailing list
> [email protected]
> http://lists.cairographics.org/mailman/listinfo/cairo
>


--
Patrick Shirkey
Boost Hardware Ltd
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.