Fake MSAA Support Added To LLVMpipe, Yields OpenGL 3.0/3.2
Months ago there was work on advancing Gallium3D's LLVMpipe software-based driver with its OpenGL 3.x support, including work-in-progress patches, but nothing was merged at the time. With that said, it was a surprise to see fake MSAA support added tonight for Gallium3D and used by the LLVMpipe driver so it fakes OpenGL 3.0 compliance and forces the necessary extensions for handling OpenGL 3.2.
David Airlie back in November of last year proposed a "fake MSAA" patch to get the LLVMpipe driver able to expose OpenGL 3.0 compliance -- multi-sample anti-aliasing is one of the requirements of the revised specification. The work just exposes support for MSAA but without exposing any multi-sample levels. Most other LLVMpipe extensions were already implemented for getting this CPU-based driver through OpenGL 3.2. The extra extensions that get forced on are EXT_framebuffer_multisample, EXT_framebuffer_multisample_blit_scaled, and ARB_texture_multisample.
Finally, as of tonight the patch for getting this fake MSAA support into LLVMpipe for software rendering has finally been mainlined in Git. The patch by David Airlie is now present in the latest Mesa Git master code for the Mesa 10.2 release.
I've been meaning to benchmark the latest LLVMpipe driver code against the latest upstream LLVM SVN code so now it looks like possibly an interesting time to do so. You can see some older LLVMpipe results from comparing LLVMpipe to nine graphics cards for some reference numbers -- those numbers came after LLVMpipe performance improvements that were committed last year.
David Airlie back in November of last year proposed a "fake MSAA" patch to get the LLVMpipe driver able to expose OpenGL 3.0 compliance -- multi-sample anti-aliasing is one of the requirements of the revised specification. The work just exposes support for MSAA but without exposing any multi-sample levels. Most other LLVMpipe extensions were already implemented for getting this CPU-based driver through OpenGL 3.2. The extra extensions that get forced on are EXT_framebuffer_multisample, EXT_framebuffer_multisample_blit_scaled, and ARB_texture_multisample.
Finally, as of tonight the patch for getting this fake MSAA support into LLVMpipe for software rendering has finally been mainlined in Git. The patch by David Airlie is now present in the latest Mesa Git master code for the Mesa 10.2 release.
I've been meaning to benchmark the latest LLVMpipe driver code against the latest upstream LLVM SVN code so now it looks like possibly an interesting time to do so. You can see some older LLVMpipe results from comparing LLVMpipe to nine graphics cards for some reference numbers -- those numbers came after LLVMpipe performance improvements that were committed last year.
11 Comments