mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Add missing test to hw_helper.
Related-To: NEO-4611 Change-Id: I7ffd51287dde3428544d2ef02df9217da8bf040c
This commit is contained in:

committed by
sys_ocldev

parent
b2688554ce
commit
82dc986ef8
@ -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];
|
||||
|
Reference in New Issue
Block a user