mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
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>
This commit is contained in:
parent
c0cd5bedf6
commit
8eeca7a56c
1 changed files with 9 additions and 5 deletions
|
|
@ -688,6 +688,15 @@ public:
|
|||
*/
|
||||
unsigned must_be_shader_input:1;
|
||||
|
||||
/**
|
||||
* Output index for dual source blending.
|
||||
*
|
||||
* \note
|
||||
* The GLSL spec only allows the values 0 or 1 for the index in \b dual
|
||||
* source blending.
|
||||
*/
|
||||
unsigned index:1;
|
||||
|
||||
/**
|
||||
* \brief Layout qualifier for gl_FragDepth.
|
||||
*
|
||||
|
|
@ -721,11 +730,6 @@ public:
|
|||
*/
|
||||
unsigned stream;
|
||||
|
||||
/**
|
||||
* output index for dual source blending.
|
||||
*/
|
||||
int index;
|
||||
|
||||
/**
|
||||
* Initial binding point for a sampler, atomic, or UBO.
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue