diff options
author | Christoph Bumiller <[email protected]> | 2010-12-09 14:43:11 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2010-12-09 14:43:11 +0100 |
commit | 14a09095d30f926c7d6869784d61cc59e6bd0578 (patch) | |
tree | 49cb832dadbc54a54e171176b688e2a2d502dd6d /src/gallium | |
parent | 2bb377ee02cc956cb3328b6f13320ac709987dd0 (diff) |
nvc0: fix immediate arg for SHL/SHR
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_pc_emit.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_pc_emit.c b/src/gallium/drivers/nvc0/nvc0_pc_emit.c index 4edbdb22e5c..6735f93fd3c 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc_emit.c +++ b/src/gallium/drivers/nvc0/nvc0_pc_emit.c @@ -153,10 +153,15 @@ set_immd_u32(struct nv_pc *pc, uint32_t u32) { if ((pc->emit[0] & 0xf) == 0x2) { set_immd_u32_l(pc, u32); + } else + if ((pc->emit[0] & 0xf) == 0x3) { + assert(!(pc->emit[1] & 0xc000)); + pc->emit[1] |= 0xc000; + assert(!(u32 & 0xfff00000)); + set_immd_u32_l(pc, u32); } else { assert(!(pc->emit[1] & 0xc000)); pc->emit[1] |= 0xc000; - assert(!(u32 & 0xfff)); set_immd_u32_l(pc, u32 >> 12); } |