mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-03 22:24:13 +01:00
[dxbc] Fixed shift operations
This commit is contained in:
parent
178a8c7c4b
commit
0f049edde6
@ -1610,8 +1610,11 @@ namespace dxvk {
|
|||||||
// (dst0) The destination register
|
// (dst0) The destination register
|
||||||
// (src0) The register to shift
|
// (src0) The register to shift
|
||||||
// (src1) The shift amount (scalar)
|
// (src1) The shift amount (scalar)
|
||||||
const DxbcRegisterValue shiftReg = emitRegisterLoad(ins.src[0], ins.dst[0].mask);
|
DxbcRegisterValue shiftReg = emitRegisterLoad(ins.src[0], ins.dst[0].mask);
|
||||||
const DxbcRegisterValue countReg = emitRegisterLoad(ins.src[1], ins.dst[0].mask);
|
DxbcRegisterValue countReg = emitRegisterLoad(ins.src[1], ins.dst[0].mask);
|
||||||
|
|
||||||
|
if (countReg.type.ccount == 1)
|
||||||
|
countReg = emitRegisterExtend(countReg, shiftReg.type.ccount);
|
||||||
|
|
||||||
DxbcRegisterValue result;
|
DxbcRegisterValue result;
|
||||||
result.type.ctype = ins.dst[0].dataType;
|
result.type.ctype = ins.dst[0].dataType;
|
||||||
|
Loading…
Reference in New Issue
Block a user