Getting to a GL based X server
Ian Romanick
idr at us.ibm.com
Thu May 26 16:00:57 PDT 2005
Dave Airlie wrote:
>>Which, last I checked, corresponded roughly to: KAA, fixed function 3D engine,
>>3D with shader hotness.
>>
>>Remind me why on earth I would want to use fb to do core X and Render to a
>>texture, then use a software GL engine to interpolate that across the screen.
>
> You're a masochist maybe? I'll state here ane now that accelerating
> Mesa to do what we want will never get us anything close to the KAA
> stuff (even KAA with little or none hardware acceleration..), there
> are too many layers of indirection between the top of the OpenGL stack
> and the framebuffer, it works fine with hardware, software rendering
> is sucky.... XAA is better than this....
Herein lies one of the *strengths* of the GL model. If there is some
feature that we want to accelerate, but there is no "fast path", we can
add an extension that will give us the fast path. For example, the
EXT_framebuffer_object working-group is working on an extension that
will enable low-overhead scaled blits between framebuffer objects. It's
a simple extension that adds a fast path for a common operation.
Since "we" control Mesa, which will be the only sort of GL available for
these really old cards, we can easilly add extensions like this as we
need. If some IHV starts shipping it too, that's great. If not, it
doesn't matter.
So, here's my question: what are the common, 2D operations that aren't
easilly accelerated by GL on 2D cards but are accelerated by the
hardware? It should be easy enough to craft fast paths for the common
clear, fill, and line-draw operations. Screen-to-screen and
off-screen-to-screen blits will be simple enough with the aforementioned
extension. Is there anything else "big" that I'm missing?
More information about the xorg
mailing list