IVGCVSW-3554 Update workloads to pass Softmax Axis Parameter to Backends

 * Add check in CL and Neon to ensure axis is 1 otherwise
   return unsupported.
 * Edit CreateWorkload test and JsonPrinter test to ensure axis of 1.

Change-Id: I499b405532e26fefc2dd1c18b6dc6005813b5604
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index 7eb1dcf..b737daf 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -594,8 +594,14 @@
                                         const SoftmaxDescriptor& descriptor,
                                         Optional<std::string&> reasonIfUnsupported) const
 {
+    if (!(descriptor.m_Axis == 1 ||
+         (descriptor.m_Axis < 0 && static_cast<int>(input.GetNumDimensions()) + descriptor.m_Axis == 1)))
+    {
+        SetValueChecked(reasonIfUnsupported, "Cl Softmax: Only supports Axis equal to 1.");
+        return false;
+    }
     ignore_unused(descriptor);
-    FORWARD_WORKLOAD_VALIDATE_FUNC(ClSoftmaxWorkloadValidate, reasonIfUnsupported, input, output);
+    FORWARD_WORKLOAD_VALIDATE_FUNC(ClSoftmaxWorkloadValidate, reasonIfUnsupported, input, output, descriptor);
 }
 
 bool ClLayerSupport::IsSpaceToBatchNdSupported(const TensorInfo& input,