yes, llvm was used this way by Apple in their opengl stack.
Announcement
Collapse
No announcement yet.
LLVMpipe's Geometry Processing Pipeline Kicks
Collapse
X
-
Originally posted by not.sure View PostWasn't LLVM also planned to be used to compile/optimize/generate shader code for specific GPUs? Or is that something entirely different?
Comment
-
There has been some talk about changing the current
Gallium IR -> GPU compiled code
to
Gallium IR -> LLVM -> Gallium IR -> GPU compiled code
which would avoid the need for modifying LLVM to work with VLIW architecture but allow the general optimizations to still be done. That would also instantly work for all hardware, instead of requiring new LLVM code for every new card.
Comment
-
Originally posted by wswartzendruber View PostWon't r300g utilize this for the parts of OpenGL 3 that require unimplemented functionality?
Originally posted by rohcQaH View PostopenGL-call -> geometry shaders -> vertex shaders -> pixel shaders -> final image
Originally posted by curaga View PostAre there plans to make llvmpipe the default software rasterizer?
Comment
-
-
Originally posted by rohcQaH View PostI haven't found much information about geometry shaders on the web except for dry technical specs. If you got any good links, please share.
The geometry shader simply consumes one primitive of some type (points, lines, triangles) and emits one or more primitives of another type. It allows for converting point sprites and wide lines to triangles (pretty useless in GL), or generating lines for celshading. Now the very important feature is that for each emitted primitive, you can choose a render target where it should go. This allows for rendering a scene to several textures each time from a different position and orientation in space using *one* draw call, making it possible to render to the whole cubemap or 3D texture in one pass. You have also a read-only access to a couple of surrounding primitives but it doesn't seem to be very useful (you cannot even compute smooth normals with it). There are many applications but most of them are rather non-obvious and generally geometry shaders aren't as useful as they have been claimed to be. Certainly it's the most useless shader stage and I think it's useless in general, ask any professional game engine developer, he will tell you....
Originally posted by wswartzendruber View PostSo a Gallium3D driver like r300g can straight-up disallow any software fallback?
Comment
Comment