On 05/29/2014 02:20 PM, Matt Turner wrote: > On Wed, May 28, 2014 at 6:35 PM, Ian Romanick <i...@freedesktop.org> wrote: >> From: Ian Romanick <ian.d.roman...@intel.com> >> >> After compilation (and before linking) we can eliminate quite a few >> built-in variables. Basically, any uniform or constant (e.g., >> gl_MaxVertexTextureImageUnits) that isn't used (with one exception) can >> be eliminated. System values, vertex shader inputs (with one >> exception), and fragment shader outputs that are not used and not >> re-declared in the shader text can also be removed. >> >> gl_ModelViewProjectMatrix and gl_Vertex are used by the built-in >> function ftransform. There are some complications with eliminating >> these variables (see the comment in the patch), so they are not >> eliminated. >> >> Reduces the peak ir_variable memory usage in a trimmed apitrace of dota2 >> by 3.5MB on 64-bit. > > What was the total memory usage of ir_variable? It's been hard for me > to make sense of reductions without percentages.
Before: IR MEM: variable usage / name / total: 4118280 644100 4762380 After: IR MEM: variable usage / name / total: 1473408 256871 1730279 Before the change, the ir_memory_usage visitor added up 4762380 bytes of memory allocated for ir_variable, ir_variable::name, and ir_variable::state_slots. After the change it added up 1730279 bytes. So... 63.7% reduction? _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev