Files
compute-runtime/unit_tests/mocks/mock_builtins.h
Artur Harasimiuk 40146291ad Update copyright headers
Updating files modified in 2018 only. Older files remain with old style
copyright header

Change-Id: Ic99f2e190ad74b4b7f2bd79dd7b9fa5fbe36ec92
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-09-20 18:02:35 +02:00

36 lines
1.0 KiB
C++

/*
* Copyright (C) 2018 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "runtime/built_ins/built_ins.h"
#include "runtime/built_ins/sip.h"
#include "runtime/program/program.h"
#include <memory>
class MockBuiltins : public OCLRT::BuiltIns {
public:
const OCLRT::SipKernel &getSipKernel(OCLRT::SipKernelType type, OCLRT::Device &device) override {
if (sipKernelsOverride.find(type) != sipKernelsOverride.end()) {
return *sipKernelsOverride[type];
}
getSipKernelCalled = true;
getSipKernelType = type;
return BuiltIns::getSipKernel(type, device);
}
void overrideSipKernel(std::unique_ptr<OCLRT::SipKernel> kernel) {
sipKernelsOverride[kernel->getType()] = std::move(kernel);
}
OCLRT::BuiltIns *originalGlobalBuiltins = nullptr;
std::map<OCLRT::SipKernelType, std::unique_ptr<OCLRT::SipKernel>> sipKernelsOverride;
bool getSipKernelCalled = false;
OCLRT::SipKernelType getSipKernelType = OCLRT::SipKernelType::COUNT;
};