diff options
author | CNugteren <web@cedricnugteren.nl> | 2015-08-19 19:34:29 +0200 |
---|---|---|
committer | CNugteren <web@cedricnugteren.nl> | 2015-08-19 19:34:29 +0200 |
commit | b46de2243390d3f773b8a66da41d3d0bf61dbcee (patch) | |
tree | 4ca831abf06718d87754b6d3a72bcdbac4cb1310 /src | |
parent | 8a02db0746896011d6ea42cf6b9c4910d9ddda13 (diff) |
Moved precision tester to utilities
Diffstat (limited to 'src')
-rw-r--r-- | src/utilities.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/utilities.cc b/src/utilities.cc index 62abbb91..042b3116 100644 --- a/src/utilities.cc +++ b/src/utilities.cc @@ -271,4 +271,18 @@ size_t GetBytes(const Precision precision) { } // ================================================================================================= + +// Returns false is this precision is not supported by the device +template <> bool PrecisionSupported<float>(const Device &) { return true; } +template <> bool PrecisionSupported<float2>(const Device &) { return true; } +template <> bool PrecisionSupported<double>(const Device &device) { + auto extensions = device.Capabilities(); + return (extensions.find(kKhronosDoublePrecision) == std::string::npos) ? false : true; +} +template <> bool PrecisionSupported<double2>(const Device &device) { + auto extensions = device.Capabilities(); + return (extensions.find(kKhronosDoublePrecision) == std::string::npos) ? false : true; +} + +// ================================================================================================= } // namespace clblast |