intel/fs: Implement nir_intrinsic_load_fs_input_interp_deltas

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Jason Ekstrand
2019-04-11 14:55:40 -05:00
parent 8e7d066682
commit 2b79a9e5a5
2 changed files with 14 additions and 1 deletions
+12
View File
@@ -3651,6 +3651,18 @@ fs_visitor::nir_emit_fs_intrinsic(const fs_builder &bld,
break;
}
case nir_intrinsic_load_fs_input_interp_deltas: {
assert(stage == MESA_SHADER_FRAGMENT);
assert(nir_src_as_uint(instr->src[0]) == 0);
fs_reg interp = interp_reg(nir_intrinsic_base(instr),
nir_intrinsic_component(instr));
dest.type = BRW_REGISTER_TYPE_F;
bld.MOV(offset(dest, bld, 0), component(interp, 3));
bld.MOV(offset(dest, bld, 1), component(interp, 1));
bld.MOV(offset(dest, bld, 2), component(interp, 0));
break;
}
case nir_intrinsic_load_barycentric_pixel:
case nir_intrinsic_load_barycentric_centroid:
case nir_intrinsic_load_barycentric_sample: {