glsl: Use a single bit for the dual-source blend index
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 14 Jul 2014 22:48:37 +0000 (15:48 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 30 Aug 2014 06:28:26 +0000 (23:28 -0700)
commit8eeca7a56cf1ef47b6f86cc5a0397a532a7c2932
tree8e863952cb68d909c1491a82b24da8e6857feb2b
parentc0cd5bedf66887e958e140c047afc5bc26160000
glsl: Use a single bit for the dual-source blend index

The only values allowed are 0 and 1, and the value is checked before
assigning.

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): 74 40,580,119,657       69,186,544       63,506,327     5,680,217            0
After  (32-bit): 76 40,572,916,873       68,831,248       63,328,783     5,502,465            0

Before (64-bit): 89 36,822,971,897       96,526,616       88,735,296     7,791,320            0
After  (64-bit): 60 36,822,640,058       96,526,824       88,735,296     7,791,528            0

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

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ir.h