1
0
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:
Philip Rebohle 2018-01-17 05:35:41 +01:00
parent 178a8c7c4b
commit 0f049edde6
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -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;