[Mesa-dev] Mixing of hardware and software renderers

Erik Faye-Lund kusmabite at gmail.com
Thu May 8 03:15:52 PDT 2014


On Tue, May 6, 2014 at 6:51 AM, Patrick McMunn <doctorwhoguy at gmail.com> wrote:
> I'm using some older hardware - an ATI Radeon 9200 - which can only handle
> up to OpenGL 1.2. I was wondering if it's possible to use the hardware
> renderer generally and have the driver hand off the handling of functions
> which my video card can't handle (such as functions from a higher OpenGL
> version) to the software render and then the software render hand control
> back to the hardware renderer once it's finished. If this isn't currently
> possible, is this perhaps a feature which might appear in the future?

To add to what others have said, this is not only currently not
possible, but also incredible difficult to do in a standard-compliant
way, because you need to have a software rasterizer that bitwise
matches the result of the GPU. One example where this is needed is
rasterization. If your software rasterizer doesn't provide the exact
same result as the hardware rasterizer, you'll end up with gaps or
overdraw between two adjecent polygons that ended up being using
hardware and software rasterizing. To add to this, OpenGL allows slack
in the rasterization result, and different GPUs rasterize differently.
Matching these things is far from trivial, and requires knowledge
about the hardware implementation that is usually not documented, even
in the vendors' internal documentation. And do note that rasterization
is just one example from a huge array of features that needs to match.

So no, it's just not a feasible task.


More information about the mesa-dev mailing list