diff --git a/Accelerators/Vtkm/Filters/vtkmWarpScalar.cxx b/Accelerators/Vtkm/Filters/vtkmWarpScalar.cxx
index df9b9ed8ec49e4081b711e3bd3ac1c330d86aa59..1cfbb6080269b3ba0e356bd7c5bf5ecdde185b3f 100644
--- a/Accelerators/Vtkm/Filters/vtkmWarpScalar.cxx
+++ b/Accelerators/Vtkm/Filters/vtkmWarpScalar.cxx
@@ -21,7 +21,7 @@
 
 #include "vtkm/cont/DataSet.h"
 
-#include <vtkm/filter/field_transform/WarpScalar.h>
+#include <vtkm/filter/field_transform/Warp.h>
 
 VTK_ABI_NAMESPACE_BEGIN
 vtkStandardNewMacro(vtkmWarpScalar);
@@ -96,16 +96,18 @@ int vtkmWarpScalar::RequestData(vtkInformation* vtkNotUsed(request),
     }
     vtkm::Id numberOfPoints = in.GetCoordinateSystem().GetData().GetNumberOfValues();
 
+    vtkm::filter::field_transform::Warp filter;
+
     // ScaleFactor in vtk is the scalarAmount in vtk-m.
-    vtkm::filter::field_transform::WarpScalar warpScalar(this->ScaleFactor);
-    warpScalar.SetUseCoordinateSystemAsField(true);
+    filter.SetScaleFactor(this->ScaleFactor);
+    filter.SetUseCoordinateSystemAsField(true);
 
     // Get/generate the normal field
     if (inNormals && !this->UseNormal)
     { // DataNormal
       auto inNormalsField = tovtkm::Convert(inNormals, vtkDataObject::FIELD_ASSOCIATION_POINTS);
       in.AddField(inNormalsField);
-      warpScalar.SetNormalField(inNormals->GetName());
+      filter.SetDirectionField(inNormals->GetName());
     }
     else if (this->XYPlane)
     {
@@ -114,7 +116,7 @@ int vtkmWarpScalar::RequestData(vtkInformation* vtkNotUsed(request),
       vtkm::cont::ArrayHandleConstant<vecType> vectorAH =
         vtkm::cont::make_ArrayHandleConstant(normal, numberOfPoints);
       in.AddPointField("zNormal", vectorAH);
-      warpScalar.SetNormalField("zNormal");
+      filter.SetDirectionField("zNormal");
     }
     else
     {
@@ -124,7 +126,7 @@ int vtkmWarpScalar::RequestData(vtkInformation* vtkNotUsed(request),
       vtkm::cont::ArrayHandleConstant<vecType> vectorAH =
         vtkm::cont::make_ArrayHandleConstant(normal, numberOfPoints);
       in.AddPointField("instanceNormal", vectorAH);
-      warpScalar.SetNormalField("instanceNormal");
+      filter.SetDirectionField("instanceNormal");
     }
 
     if (this->XYPlane)
@@ -136,23 +138,23 @@ int vtkmWarpScalar::RequestData(vtkInformation* vtkNotUsed(request),
         zValues.push_back(input->GetPoints()->GetPoint(i)[2]);
       }
       in.AddPointField("scalarfactor", zValues);
-      warpScalar.SetScalarFactorField("scalarfactor");
+      filter.SetScaleField("scalarfactor");
     }
     else
     {
-      warpScalar.SetScalarFactorField(std::string(inScalars->GetName()));
+      filter.SetScaleField(std::string(inScalars->GetName()));
     }
 
-    auto result = warpScalar.Execute(in);
-    vtkDataArray* warpScalarResult =
-      fromvtkm::Convert(result.GetField("warpscalar", vtkm::cont::Field::Association::Points));
+    auto result = filter.Execute(in);
+    vtkDataArray* warpResult =
+      fromvtkm::Convert(result.GetField("Warp", vtkm::cont::Field::Association::Points));
     vtkPoints* newPts = vtkPoints::New();
     // Update points
-    newPts->SetNumberOfPoints(warpScalarResult->GetNumberOfTuples());
-    newPts->SetData(warpScalarResult);
+    newPts->SetNumberOfPoints(warpResult->GetNumberOfTuples());
+    newPts->SetData(warpResult);
     output->SetPoints(newPts);
     newPts->Delete();
-    warpScalarResult->FastDelete();
+    warpResult->FastDelete();
   }
   catch (const vtkm::cont::Error& e)
   {
diff --git a/Accelerators/Vtkm/Filters/vtkmWarpVector.cxx b/Accelerators/Vtkm/Filters/vtkmWarpVector.cxx
index 0286b44fd0e85fe4b761a2ff4e7e21f09b7bd947..1f97c9d99cc3e853f207819654b12e35f94febdf 100644
--- a/Accelerators/Vtkm/Filters/vtkmWarpVector.cxx
+++ b/Accelerators/Vtkm/Filters/vtkmWarpVector.cxx
@@ -21,7 +21,7 @@
 
 #include "vtkm/cont/DataSet.h"
 
-#include <vtkm/filter/field_transform/WarpVector.h>
+#include <vtkm/filter/field_transform/Warp.h>
 
 VTK_ABI_NAMESPACE_BEGIN
 vtkStandardNewMacro(vtkmWarpVector);
@@ -88,19 +88,21 @@ int vtkmWarpVector::RequestData(vtkInformation* vtkNotUsed(request),
     vtkm::cont::Field vectorField = tovtkm::Convert(vectors, vectorsAssociation);
     in.AddField(vectorField);
 
-    vtkm::filter::field_transform::WarpVector warpVector(this->ScaleFactor);
-    warpVector.SetUseCoordinateSystemAsField(true);
-    warpVector.SetVectorField(vectorField.GetName(), vectorField.GetAssociation());
-    auto result = warpVector.Execute(in);
+    vtkm::filter::field_transform::Warp filter;
+    filter.SetScaleFactor(this->ScaleFactor);
+    filter.SetUseCoordinateSystemAsField(true);
+    filter.SetDirectionField(vectorField.GetName());
 
-    vtkDataArray* warpVectorResult =
-      fromvtkm::Convert(result.GetField("warpvector", vtkm::cont::Field::Association::Points));
+    auto result = filter.Execute(in);
+
+    vtkDataArray* warpResult =
+      fromvtkm::Convert(result.GetField("Warp", vtkm::cont::Field::Association::Points));
     vtkNew<vtkPoints> newPts;
 
-    newPts->SetNumberOfPoints(warpVectorResult->GetNumberOfTuples());
-    newPts->SetData(warpVectorResult);
+    newPts->SetNumberOfPoints(warpResult->GetNumberOfTuples());
+    newPts->SetData(warpResult);
     output->SetPoints(newPts);
-    warpVectorResult->FastDelete();
+    warpResult->FastDelete();
   }
   catch (const vtkm::cont::Error& e)
   {
diff --git a/ThirdParty/vtkm/vtkvtkm/vtk-m b/ThirdParty/vtkm/vtkvtkm/vtk-m
index 3c9249871a5458cac01bbfe83307232aadd6bed5..c6db9216432fc27cc00f97c9e6f0c3a347166f02 160000
--- a/ThirdParty/vtkm/vtkvtkm/vtk-m
+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m
@@ -1 +1 @@
-Subproject commit 3c9249871a5458cac01bbfe83307232aadd6bed5
+Subproject commit c6db9216432fc27cc00f97c9e6f0c3a347166f02