radv: fix interp at sample code.
authorDave Airlie <airlied@redhat.com>
Mon, 3 Apr 2017 03:43:15 +0000 (04:43 +0100)
committerDave Airlie <airlied@redhat.com>
Mon, 3 Apr 2017 19:55:21 +0000 (05:55 +1000)
Interp at sample needs to use the center, since the sample
positions it retrieves are relative to the center.

This fixes a bunch of CTS tests with multisample_interpolation.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c

index dfe2732f78dd208938f0616865008afea5898b38..6fd2a0c4f62d500766c86bae501a023f05c86027 100644 (file)
@@ -3556,12 +3556,10 @@ static LLVMValueRef visit_interp(struct nir_to_llvm_context *ctx,
                location = INTERP_CENTROID;
                break;
        case nir_intrinsic_interp_var_at_sample:
-               location = INTERP_SAMPLE;
-               src0 = get_src(ctx, instr->src[0]);
-               break;
        case nir_intrinsic_interp_var_at_offset:
                location = INTERP_CENTER;
                src0 = get_src(ctx, instr->src[0]);
+               break;
        default:
                break;
        }