From c5a82f6978b3c459d70a04f0bf3904b424c867b5 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Tue, 7 May 2019 20:47:50 +0200 Subject: Added a host-code check to make sure the avc_motion_estimation is available --- src/utilities/compile.cpp | 1 + src/utilities/utilities.hpp | 1 + 2 files changed, 2 insertions(+) (limited to 'src') diff --git a/src/utilities/compile.cpp b/src/utilities/compile.cpp index 00cb90cb..46cef1d7 100644 --- a/src/utilities/compile.cpp +++ b/src/utilities/compile.cpp @@ -60,6 +60,7 @@ std::shared_ptr CompileFromSource( // For Intel GPUs with subgroup support, use subgroup shuffling. if (device.IsGPU() && device.HasExtension(kKhronosIntelSubgroups) && + device.HasExtension(kKhronosIntelAvcMotionEstimation) && (precision == Precision::kSingle || precision == Precision::kHalf)) { header_string += "#define USE_SUBGROUP_SHUFFLING 1\n"; header_string += "#define SUBGROUP_SHUFFLING_INTEL 1\n"; diff --git a/src/utilities/utilities.hpp b/src/utilities/utilities.hpp index 23486d35..77221277 100644 --- a/src/utilities/utilities.hpp +++ b/src/utilities/utilities.hpp @@ -48,6 +48,7 @@ using double2 = std::complex; const std::string kKhronosAttributesAMD = "cl_amd_device_attribute_query"; const std::string kKhronosAttributesNVIDIA = "cl_nv_device_attribute_query"; const std::string kKhronosIntelSubgroups = "cl_intel_subgroups"; +const std::string kKhronosIntelAvcMotionEstimation = "cl_intel_device_side_avc_motion_estimation"; // Catched an unknown error constexpr auto kUnknownError = -999; -- cgit v1.2.3