IVGCVSW-7735 Opaque Delegate Cleanup

 * Move TFL_TheStableDelegate to opaque/armnn_delegate_external.cpp
 * Change TFL_TheStableDelegate to extern variable
 * Remove duplicated opaque test sources
 * Add support for missing Fill operator
 * Enable support for Mirror Pad
 * Fix failing Split tests

Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I7f8d8b4269bb4fbe27b6f47709cbd828554d37d8
diff --git a/delegate/opaque/src/armnn_external_delegate.cpp b/delegate/opaque/src/armnn_external_delegate.cpp
index e169697..6cc29f3 100644
--- a/delegate/opaque/src/armnn_external_delegate.cpp
+++ b/delegate/opaque/src/armnn_external_delegate.cpp
@@ -2,3 +2,42 @@
 // Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
+
+#include <armnn_delegate.hpp>
+
+namespace {
+
+    TfLiteOpaqueDelegate* ArmNNDelegateCreateFunc(const void* tflite_settings)
+    {
+        auto delegate = armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateCreate(tflite_settings);
+        return delegate;
+    }
+
+    void ArmNNDelegateDestroyFunc(TfLiteOpaqueDelegate* armnnDelegate)
+    {
+        armnnOpaqueDelegate::TfLiteArmnnOpaqueDelegateDelete(
+                armnnDelegate);
+    }
+
+    int ArmNNDelegateErrnoFunc(TfLiteOpaqueDelegate* sample_stable_delegate)
+    {
+        return 0;
+    }
+
+    const TfLiteOpaqueDelegatePlugin armnn_delegate_plugin = {
+            ArmNNDelegateCreateFunc, ArmNNDelegateDestroyFunc,
+            ArmNNDelegateErrnoFunc};
+
+    const TfLiteStableDelegate armnn_delegate = {
+            /*delegate_abi_version=*/ TFL_STABLE_DELEGATE_ABI_VERSION,
+            /*delegate_name=*/        "armnn_delegate",
+            /*delegate_version=*/     OPAQUE_DELEGATE_VERSION,
+            /*delegate_plugin=*/      &armnn_delegate_plugin
+    };
+
+}  // namespace
+
+/**
+ * The ArmNN delegate to be loaded dynamically
+ */
+extern "C" const TfLiteStableDelegate TFL_TheStableDelegate = armnn_delegate;
\ No newline at end of file