1 /* 2 * Copyright (C) 2018-2021 Intel Corporation 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 */ 7 8 #pragma once 9 10 #include "shared/test/common/test_macros/test.h" 11 12 #include "opencl/test/unit_test/fixtures/cl_device_fixture.h" 13 14 #include <cstdint> 15 16 namespace NEO { 17 class MockContext; 18 class MockKernel; 19 class MultiDeviceKernel; 20 class MockProgram; 21 class Image; 22 class MockKernelInfo; 23 struct KernelInfo; 24 } // namespace NEO 25 26 namespace iOpenCL { 27 struct SKernelBinaryHeaderCommon; 28 } 29 30 class KernelImageArgTest : public Test<NEO::ClDeviceFixture> { 31 public: KernelImageArgTest()32 KernelImageArgTest() { 33 } 34 35 ~KernelImageArgTest() override; 36 37 protected: 38 void SetUp() override; 39 40 void TearDown() override; 41 42 cl_int retVal = 0; 43 std::unique_ptr<iOpenCL::SKernelBinaryHeaderCommon> kernelHeader; 44 std::unique_ptr<NEO::MockContext> context; 45 std::unique_ptr<NEO::MockProgram> program; 46 std::unique_ptr<NEO::MockKernelInfo> pKernelInfo; 47 std::unique_ptr<NEO::MultiDeviceKernel> pMultiDeviceKernel; 48 NEO::MockKernel *pKernel; 49 std::unique_ptr<NEO::Image> image; 50 51 char surfaceStateHeap[0x80]; 52 uint32_t offsetNumMipLevelsImage0 = 0x40; 53 }; 54