[Intel-gfx] Guidance on speed for various GL operations with Intel HW
pcjc2 at cam.ac.uk
Thu Feb 19 18:42:32 CET 2009
I'm writing a GL frontend for the gEDA/PCB electronic CAD software for
circuit board design, and since both my laptops so far have had Intel
GPUs (by deliberate choice), I'm trying to target the code such that it
will work quickly on these cards (945 and GM45).
PCB designs are typically made up of several layers, with various line /
polygon / arc primitives on each layer. I want to make each rendered
layer translucent, but sub-composite certain groups of primitives within
I've started to do this using the stencil buffer (setting a bit when any
graphics are drawn, then using it as a mask to avoid rendering further
translucent geometry on that pixel for this given layer).
I then clear the stencil buffer between emission of triangle primitives
for each layer.
The other usage I'm making of stencil buffers, is that we draw polygons
with holes cut out of them. The GLU tessellator gets really bogged down
if you hand it the whole thing to chew on, so I found it is faster to
use bit in the stencil buffer to mask out where the holes are before
filling the whole outer contour with triangles.
Qualitatively, this seems slower now with all this use of stencil
buffers for "sub-compositing", whereas before I was just using it for
polygon drawing. For each polygon, I now do a bit-masked clear of the
stencil buffer, is that likely to be slow?
Is there any model of performance to be expected from the various Intel
GPU pipelines? Any operations which are known to trigger fallbacks, or
slower rendering? I'm also using XOR operations in GL to draw the
crosshair - is there any penalty in that?
This is with Mesa 7.3, 2.6.28+patches kernel, 2.6.0 2D driver, GEM + UXA
+ DRI2 etc..
I'd also be curious if anyone had historic data for older Intel drivers.
Electrical Engineering Division,
University of Cambridge,
9, JJ Thomson Avenue,
Tel: +44 (0)7729 980173 - (No signal in the lab!)
More information about the Intel-gfx