From b46de2243390d3f773b8a66da41d3d0bf61dbcee Mon Sep 17 00:00:00 2001 From: CNugteren Date: Wed, 19 Aug 2015 19:34:29 +0200 Subject: Moved precision tester to utilities --- src/utilities.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/utilities.cc b/src/utilities.cc index 62abbb91..042b3116 100644 --- a/src/utilities.cc +++ b/src/utilities.cc @@ -270,5 +270,19 @@ size_t GetBytes(const Precision precision) { } } +// ================================================================================================= + +// Returns false is this precision is not supported by the device +template <> bool PrecisionSupported(const Device &) { return true; } +template <> bool PrecisionSupported(const Device &) { return true; } +template <> bool PrecisionSupported(const Device &device) { + auto extensions = device.Capabilities(); + return (extensions.find(kKhronosDoublePrecision) == std::string::npos) ? false : true; +} +template <> bool PrecisionSupported(const Device &device) { + auto extensions = device.Capabilities(); + return (extensions.find(kKhronosDoublePrecision) == std::string::npos) ? false : true; +} + // ================================================================================================= } // namespace clblast -- cgit v1.2.3