Module: Mesa Branch: master Commit: f0e80e123c343f0c1e1163c72ead0d05ec117b0f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0e80e123c343f0c1e1163c72ead0d05ec117b0f
Author: Pierre Moreau <[email protected]> Date: Sat May 6 17:55:43 2017 +0200 nv50/ir: Extend ImmediateValue::applyLog2 to 64-bit integers Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> --- src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp index c987da9908..49425b98b9 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp @@ -423,7 +423,10 @@ ImmediateValue::isNegative() const bool ImmediateValue::isPow2() const { - return util_is_power_of_two_or_zero(reg.data.u32); + if (reg.type == TYPE_U64 || reg.type == TYPE_S64) + return util_is_power_of_two_or_zero64(reg.data.u64); + else + return util_is_power_of_two_or_zero(reg.data.u32); } void @@ -440,6 +443,12 @@ ImmediateValue::applyLog2() case TYPE_U32: reg.data.u32 = util_logbase2(reg.data.u32); break; + case TYPE_S64: + assert(!this->isNegative()); + // fall through + case TYPE_U64: + reg.data.u64 = util_logbase2_64(reg.data.u64); + break; case TYPE_F32: reg.data.f32 = log2f(reg.data.f32); break; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
