[cairo] [PATCH 2/2] gl: Remove GL fixed-function matrix usage.
Alexandros Frantzis
alexandros.frantzis at linaro.org
Tue Feb 8 02:50:48 PST 2011
On Wed, Feb 02, 2011 at 09:07:56AM +0000, Chris Wilson wrote:
> On Wed, 2 Feb 2011 04:00:01 +0200, Alexandros Frantzis <alexandros.frantzis at linaro.org> wrote:
> > in order to get a better view of the situation, I added some simple
> > instrumentation to cairo-gl. The results for sufficiently long runs of
> > various benchmark are:
> >
> > vertices/update
> > Vertices CPU xforms Uniform updates (xforms/update)
> > firefox-talos-gfx 365825262 121941756 2262973 160 (53)
> > gnome-system-monitor 126700506 42233504 47897 2645 (881)
> > evolution 7236340 2412114 86182 83 (28)
> > poppler 15121080 5040360 253440 60 (20)
> >
> > Where:
> > Vertices: How many vertices where emitted
> > CPU xforms: the number of point transforms on the CPU with Eric's patch
> > (always ~3xVertices)
> > Uniform updates: the number of ModelViewProjection uniform updates
> > with my branch
> > vertices/update: Ratio of vertices per uniform update
> > xforms/update: Ratio of CPU transforms per uniform update
>
> Before I dive in, does your MVP branch include the matrix uniform updates
> for computing the src/mask tcoords from the single dst vertex?
>
> This debate will only get interesting when we have vertex shaders. Then we
> really can compare the CPU/GPU tradeoff (and quality of driver
> implementation). There are important secondary effects from reducing the
> amount of vertex data being pushed out from cairo, which should give
> additional benefit from vertex shaders and moving the burden to the
> driver/GPU.
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
>
I think it would be better not to block on this decision. Both
approaches are solid, each with its own merits. I suggest that we choose
any one of them and revisit this issue when we have added GLES2.0
support. This will allow us to run benchmarks on a different class of
devices, where perhaps the differences (if any) between the two
approaches will be more evident.
I am going to send a "Replace built-in shader variables" patchset to the
mailing list shortly. It is currently based on my approach but I am
happy to rebase it on Eric's patch if that is preferred.
Thanks,
Alexandros
More information about the cairo
mailing list