Add missing test to hw_helper.

Related-To: NEO-4611
Change-Id: I7ffd51287dde3428544d2ef02df9217da8bf040c
This commit is contained in:
Sebastian Luzynski
2020-05-20 08:40:01 +02:00
committed by sys_ocldev
parent b2688554ce
commit 82dc986ef8
2 changed files with 41 additions and 1 deletions

View File

@ -72,6 +72,46 @@ TEST_F(HwHelperTest, WhenGettingHelperThenValidHelperReturned) {
EXPECT_NE(nullptr, &helper);
}
HWTEST_F(HwHelperTest, SetRenderSurfaceStateForBufferIsCalledThenSetL1CachePolicyIsCalled) {
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
using SURFACE_TYPE = typename RENDER_SURFACE_STATE::SURFACE_TYPE;
class mockHwHelperHw : public HwHelperHw<FamilyType> {
public:
bool called = false;
using HwHelperHw<FamilyType>::HwHelperHw;
mockHwHelperHw() {}
void setL1CachePolicy(bool useL1Cache, typename FamilyType::RENDER_SURFACE_STATE *surfaceState, const HardwareInfo *hwInfo) override {
HwHelperHw<FamilyType>::setL1CachePolicy(useL1Cache, surfaceState, hwInfo);
called = true;
}
};
mockHwHelperHw helper;
void *stateBuffer = alignedMalloc(sizeof(RENDER_SURFACE_STATE), sizeof(RENDER_SURFACE_STATE));
ASSERT_NE(nullptr, stateBuffer);
memset(stateBuffer, 0, sizeof(RENDER_SURFACE_STATE));
RENDER_SURFACE_STATE state = FamilyType::cmdInitRenderSurfaceState;
auto surfaceState = reinterpret_cast<RENDER_SURFACE_STATE *>(stateBuffer);
*surfaceState = state;
auto &rootDeviceEnvironment = pDevice->getRootDeviceEnvironment();
size_t size = 0x1000;
uint64_t addr = 0x2000;
size_t offset = 0x1000;
uint32_t pitch = 0x40;
SURFACE_TYPE type = RENDER_SURFACE_STATE::SURFACE_TYPE_SURFTYPE_BUFFER;
helper.setRenderSurfaceStateForBuffer(rootDeviceEnvironment, stateBuffer, size, addr, offset, pitch, nullptr, false, type, false,
false);
ASSERT_EQ(helper.called, true);
helper.called = false;
helper.setRenderSurfaceStateForBuffer(rootDeviceEnvironment, stateBuffer, size, addr, offset, pitch, nullptr, false, type, false,
true);
ASSERT_EQ(helper.called, true);
alignedFree(stateBuffer);
}
HWTEST_F(HwHelperTest, WhenGettingBindingTableStateSurfaceStatePointerThenCorrectPointerIsReturned) {
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
BINDING_TABLE_STATE bindingTableState[4];