diff options
author | Ian Romanick <idr@us.ibm.com> | 2008-03-21 11:15:49 -0700 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2008-03-21 15:57:01 -0700 |
commit | 600499cf888fee9a91ff3106beca939ea0c7b2bd (patch) | |
tree | d517fc8e8bdf97b6ba6a781f21981ec72360679c /src/gallium/drivers/cell/spu/spu_tri.c | |
parent | f140062b72ee2df05020d86abdc47336262494f9 (diff) |
cell: Change code-gen for CONST_COLOR blend factor
Previously the constant color blend factor was compiled into the
generated code. This meant that the code had to be regenerated each
time the constant color was changed. This doesn't fit with the model
used in Gallium.
As-is, the code could be better. The constant color is loaded for
every quad processed, even if it is not used. Also, if a lot of (1-x)
blend factors are used, 1.0 will be loaded and reloaded into registers
many times.
Diffstat (limited to 'src/gallium/drivers/cell/spu/spu_tri.c')
-rw-r--r-- | src/gallium/drivers/cell/spu/spu_tri.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/cell/spu/spu_tri.c b/src/gallium/drivers/cell/spu/spu_tri.c index c4272d6e93..e6a1ce01df 100644 --- a/src/gallium/drivers/cell/spu/spu_tri.c +++ b/src/gallium/drivers/cell/spu/spu_tri.c @@ -356,6 +356,8 @@ emit_quad( int x, int y, mask_t mask ) const struct spu_blend_results result = (*spu.blend)(soa_frag[0], soa_frag[1], soa_frag[2], soa_frag[3], soa_pix[0], soa_pix[1], soa_pix[2], soa_pix[3], + spu.const_blend_color[0], spu.const_blend_color[1], + spu.const_blend_color[2], spu.const_blend_color[3], (qword) mask); |