gallium/freedreno: move cast to avoid integer overflow
Previously, the bitshift would be performed on a simple int (32 bits on most systems), overflow, and then be cast to 64 bits. CovID: 1362461 Signed-off-by: Eric Engestrom <eric@engestrom.ch> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
committed by
Rob Clark
parent
3563c4d161
commit
a63bac9271
@@ -402,10 +402,10 @@ add_src_reg(struct fd2_compile_context *ctx, struct ir2_instruction *alu,
|
||||
swiz[3] = swiz_vals[src->SwizzleW];
|
||||
swiz[4] = '\0';
|
||||
|
||||
if ((ctx->need_sync & (uint64_t)(1 << num)) &&
|
||||
if ((ctx->need_sync & ((uint64_t)1 << num)) &&
|
||||
!(flags & IR2_REG_CONST)) {
|
||||
alu->sync = true;
|
||||
ctx->need_sync &= ~(uint64_t)(1 << num);
|
||||
ctx->need_sync &= ~((uint64_t)1 << num);
|
||||
}
|
||||
|
||||
return ir2_reg_create(alu, num, swiz, flags);
|
||||
|
||||
Reference in New Issue
Block a user