IVGCVSW-7880 Add check for FP16 backend support

 * Check if preferred backends have FP16 support before enable fp16-turbo-mode
 * Unit tests
 * Replaced global gpuAccCapabilities with getter method construction
 * Replaced deprecated function call in SL shim

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: If29b62b330ca8987de8acf6408db11daf25ca0b5
diff --git a/src/backends/neon/NeonBackend.hpp b/src/backends/neon/NeonBackend.hpp
index 3364e4b..ef5258b 100644
--- a/src/backends/neon/NeonBackend.hpp
+++ b/src/backends/neon/NeonBackend.hpp
@@ -6,6 +6,8 @@
 
 #include <armnn/backends/IBackendInternal.hpp>
 
+#include <arm_compute/core/CPP/CPPTypes.h>
+
 namespace armnn
 {
 
@@ -19,7 +21,8 @@
                                                      {"PreImportIOTensors", false},
                                                      {"ExternallyManagedMemory", true},
                                                      {"MultiAxisPacking", false},
-                                                     {"SingleAxisPacking", true}
+                                                     {"SingleAxisPacking", true},
+                                                     {"HasFp16", arm_compute::CPUInfo::get().has_fp16()}
                                              });