mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 07:14:10 +08:00
Add isInlineDataRequired() to DispatchKernelEncoderI
Change-Id: I0baaeddc16fe068f6c1ddd6c6697d447c4411055 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
)
|
||||||
@@ -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
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user