blob: 52e34147bba93d8e40a4438e016b2f8c7b1ae213 [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <cl/ClContextControl.hpp>
template<bool ProfilingEnabled>
struct ClContextControlFixtureBase
{
static ClContextControlFixtureBase*& Instance()
{
static ClContextControlFixtureBase* s_Instance = nullptr;
return s_Instance;
}
// Initialising ClContextControl to ensure OpenCL is loaded correctly for each test case
ClContextControlFixtureBase()
: m_ClContextControl(nullptr, ProfilingEnabled)
{
Instance() = this;
}
~ClContextControlFixtureBase()
{
Instance() = nullptr;
}
armnn::ClContextControl m_ClContextControl;
};
using ClContextControlFixture = ClContextControlFixtureBase<false>;
using ClProfilingContextControlFixture = ClContextControlFixtureBase<true>;