[Mesa-dev] [PATCH] radeon/llvm: replaces fragment input with negative index with undef values
Tom Stellard
tom at stellard.net
Fri Nov 16 13:59:54 PST 2012
On Tue, Nov 13, 2012 at 10:13:04PM +0100, Vincent Lejeune wrote:
> ---
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
> lib/Target/AMDGPU/R600ISelLowering.cpp | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/lib/Target/AMDGPU/R600ISelLowering.cpp b/lib/Target/AMDGPU/R600ISelLowering.cpp
> index c837705..c6d9c4a 100644
> --- a/lib/Target/AMDGPU/R600ISelLowering.cpp
> +++ b/lib/Target/AMDGPU/R600ISelLowering.cpp
> @@ -450,7 +450,9 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
> return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass, Reg, VT);
> }
> case AMDGPUIntrinsic::R600_load_input_perspective: {
> - unsigned slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + int slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + if (slot < 0)
> + return DAG.getUNDEF(MVT::f32);
> SDValue FullVector = DAG.getNode(
> AMDGPUISD::INTERP,
> DL, MVT::v4f32,
> @@ -459,7 +461,9 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
> DL, VT, FullVector, DAG.getConstant(slot % 4, MVT::i32));
> }
> case AMDGPUIntrinsic::R600_load_input_linear: {
> - unsigned slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + int slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + if (slot < 0)
> + return DAG.getUNDEF(MVT::f32);
> SDValue FullVector = DAG.getNode(
> AMDGPUISD::INTERP,
> DL, MVT::v4f32,
> @@ -468,7 +472,9 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
> DL, VT, FullVector, DAG.getConstant(slot % 4, MVT::i32));
> }
> case AMDGPUIntrinsic::R600_load_input_constant: {
> - unsigned slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + int slot = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
> + if (slot < 0)
> + return DAG.getUNDEF(MVT::f32);
> SDValue FullVector = DAG.getNode(
> AMDGPUISD::INTERP_P0,
> DL, MVT::v4f32,
> --
> 1.7.11.7
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list