Files
compute-runtime/unit_tests/fixtures/platform_fixture.cpp
Mateusz Jablonski e77ed5f4fa Make platformImpl a vector
Related-To: NEO-4207
Change-Id: I85fa2d5a44160e1cf98321f9835a5173e59e479c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-04 15:29:19 +01:00

48 lines
1.1 KiB
C++

/*
* Copyright (C) 2017-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "unit_tests/fixtures/platform_fixture.h"
#include "runtime/device/cl_device.h"
#include "runtime/platform/platform.h"
#include "gtest/gtest.h"
namespace NEO {
PlatformFixture::PlatformFixture()
: pPlatform(nullptr), num_devices(0), devices(nullptr) {
}
void PlatformFixture::SetUp() {
pPlatform = constructPlatform();
ASSERT_EQ(0u, pPlatform->getNumDevices());
// setup platform / context
bool isInitialized = pPlatform->initialize();
ASSERT_EQ(true, isInitialized);
num_devices = static_cast<cl_uint>(pPlatform->getNumDevices());
ASSERT_GT(num_devices, 0u);
auto allDev = pPlatform->getClDevices();
ASSERT_NE(nullptr, allDev);
devices = new cl_device_id[num_devices];
for (cl_uint deviceOrdinal = 0; deviceOrdinal < num_devices; ++deviceOrdinal) {
auto device = allDev[deviceOrdinal];
ASSERT_NE(nullptr, device);
devices[deviceOrdinal] = device;
}
}
void PlatformFixture::TearDown() {
platformsImpl.clear();
delete[] devices;
}
} // namespace NEO