Reducing GLSL Compiler Memory Usage (or Fitting 5kg of Potatoes in a 2kg Bag)
Memory is cheap these days, but, alas, it is not free. In implementing the GLSL compiler in Mesa, we prioritized debugability and ease of implementation over other concerns. In late 2013 we discovered that some large applications would exhaust virtual address space on 32-bit architectures. Techniques and tools that were used to achieve significant improvements in memory usage. What do talloc, Valgrind, uniq, and Bloom filters have in common? Come find out.
Ian Romanick is the software architect for Intel's open-source OpenGL driver, and is currently Intel’s representative to the Khronos Board. Since 2001 he has been dedicated to OpenGL on Linux. He has been doing graphics programming for 23 years, having released his first Amiga demo in 1991. Ian holds a Bachelors Degree in Computer Science from Portland State University, and is just about finished with a Masters program there. He previoulsy taught graphics programming in the Visual and Game Programming department at the Art Institute of Portland for 7 years.