diff options
author | Jerome Glisse <[email protected]> | 2010-08-10 11:52:00 -0400 |
---|---|---|
committer | Jerome Glisse <[email protected]> | 2010-08-10 11:53:05 -0400 |
commit | 72f8edfc0bb8613ac7c0decfd4199e83c8d8a737 (patch) | |
tree | 5af14600ec63bb0ccbc7d12ae2c49fbe51d74216 /src/gallium/drivers/r600/r600_asm.c | |
parent | 247b253d326819e9c62801d741b3740a27aeaf8a (diff) |
r600g: avoid reemiting literal, avoid scheduling empty cs
Signed-off-by: Jerome Glisse <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 16c98504ad9..ae818bf19b7 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -179,12 +179,13 @@ int r600_bc_add_literal(struct r600_bc *bc, const u32 *value) return -EINVAL; } alu = LIST_ENTRY(struct r600_bc_alu, bc->cf_last->alu.prev, list); - if (!alu->last || !alu->nliteral) { + if (!alu->last || !alu->nliteral || alu->literal_added) { return 0; } memcpy(alu->value, value, 4 * 4); bc->cf_last->ndw += alu->nliteral; bc->ndw += alu->nliteral; + alu->literal_added = 1; return 0; } |