Add isInlineDataRequired() to DispatchKernelEncoderI

Change-Id: I0baaeddc16fe068f6c1ddd6c6697d447c4411055
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2020-04-06 11:16:19 +02:00
parent b285d65d1d
commit 74cb8dd41e
6 changed files with 46 additions and 0 deletions

View File

@@ -753,5 +753,8 @@ const void *KernelImp::getCrossThread() {
const void *KernelImp::getPerThread() { const void *KernelImp::getPerThread() {
return getPerThreadData(); return getPerThreadData();
} }
bool KernelImp::isInlineDataRequired() {
return getImmutableData()->getDescriptor().kernelAttributes.flags.passInlineData;
}
} // namespace L0 } // namespace L0

View File

@@ -132,6 +132,7 @@ struct KernelImp : Kernel {
const void *getDynamicStateHeap() override; const void *getDynamicStateHeap() override;
const void *getCrossThread() override; const void *getCrossThread() override;
const void *getPerThread() override; const void *getPerThread() override;
bool isInlineDataRequired() override;
protected: protected:
KernelImp() = default; KernelImp() = default;

View File

@@ -0,0 +1,10 @@
#
# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
target_sources(${TARGET_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel.cpp
)

View File

@@ -0,0 +1,30 @@
/*
* Copyright (C) 2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "test.h"
#include "level_zero/core/test/unit_tests/mocks/mock_kernel.h"
namespace L0 {
namespace ult {
TEST(Kernel, givenPassInlineDataTrueWhenCallingIsInlineDataRequiredThenTrueIsReturned) {
Mock<Kernel> kernel;
kernel.descriptor.kernelAttributes.flags.passInlineData = true;
EXPECT_TRUE(kernel.isInlineDataRequired());
}
TEST(Kernel, givenPassInlineDataFalseWhenCallingIsInlineDataRequiredThenFalseIsReturned) {
Mock<Kernel> kernel;
kernel.descriptor.kernelAttributes.flags.passInlineData = false;
EXPECT_FALSE(kernel.isInlineDataRequired());
}
} // namespace ult
} // namespace L0

View File

@@ -39,6 +39,7 @@ struct DispatchKernelEncoderI {
virtual const void *getDynamicStateHeap() = 0; virtual const void *getDynamicStateHeap() = 0;
virtual const void *getCrossThread() = 0; virtual const void *getCrossThread() = 0;
virtual const void *getPerThread() = 0; virtual const void *getPerThread() = 0;
virtual bool isInlineDataRequired() = 0;
virtual ~DispatchKernelEncoderI() = default; virtual ~DispatchKernelEncoderI() = default;
protected: protected:

View File

@@ -46,6 +46,7 @@ struct MockDispatchKernelEncoder : public DispatchKernelEncoderI {
MOCK_METHOD0(getDynamicStateHeap, const void *()); MOCK_METHOD0(getDynamicStateHeap, const void *());
MOCK_METHOD0(getCrossThread, const void *()); MOCK_METHOD0(getCrossThread, const void *());
MOCK_METHOD0(getPerThread, const void *()); MOCK_METHOD0(getPerThread, const void *());
MOCK_METHOD0(isInlineDataRequired, bool());
void expectAnyMockFunctionCall(); void expectAnyMockFunctionCall();