glsl: Eliminate ir_variable::data.atomic.buffer_index
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 14 Jul 2014 22:48:36 +0000 (15:48 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 30 Aug 2014 06:27:59 +0000 (23:27 -0700)
commitc0cd5bedf66887e958e140c047afc5bc26160000
tree3ce0ea5f0270e2944760f0bed70f9a75baeef685
parent941269f89c147a606787a10e41959ede98da5df6
glsl: Eliminate ir_variable::data.atomic.buffer_index

Just use ir_variable::data.binding... because that's the where the
binding is stored for everything else that can use layout(binding=).

Valgrind massif results for a trimmed apitrace of dota2:

                  n        time(i)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
Before (32-bit): 50 40,564,927,443       69,185,408       63,683,871     5,501,537            0
After  (32-bit): 74 40,580,119,657       69,186,544       63,506,327     5,680,217            0

Before (64-bit): 59 36,822,048,449       96,526,888       89,113,000     7,413,888            0
After  (64-bit): 89 36,822,971,897       96,526,616       88,735,296     7,791,320            0

A real savings of 173KiB on 32-bit and 368KiB on 64-bit.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/link_atomics.cpp
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp