3 ms·
Multiple times I've read about the better software renderer. If I read it correctly it's because of LLVM. What has LLVM to do with that? Why wasn't there a fast
by starquake 11y ago
Multiple times I've read about the better software renderer. If I read it correctly it's because of LLVM. What has LLVM to do with that? Why wasn't there a faster software renderer before there was LLVM? Is it easier to create a performant software renderer with LLVM? Could someone explain this to me or maybe provide a link for more information?
- dietrichepp 11y agoIn OpenGL, you take vertex attributes in some user-specified format, run them through a user-supplied program, and rasterize it with a user-supplied program to generate pixel data. These programs are specified in GLSL. You want to run them, you have to interpret or compile. No surprise the compiled version is faster. Even unpacking attributes is going to be faster with JIT.
- asherkin 11y agoThe "LLVM" bit is that it is using the IR JIT compiler that is part of the LLVM suite, which makes it relatively easy to build a high-performance native runtime for a custom language.
- deleted 11y ago[deleted]
- duaneb 11y agoThese days, GLSL does a LOT of heavy lifting. GLSL naturally benefits from JIT.
- marktangotango 11y agoEven pre vertex buffers the OpenGL rendering pipeline was highly customizable, even the difference between phong and gauraud shading has deep impact on the triangle rasterizer inner loop. So basically you have jit all the way down, to see maximum performance in software.
- pcwalton 11y agoLLVM features lots and lots of optimization passes. Simpler hand-written shader compilers typically don't.