test: unify L0 sampler tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
parent
5807d512b3
commit
4db564d029
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2020-2022 Intel Corporation
|
||||
* Copyright (C) 2020-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -222,5 +222,71 @@ HWTEST2_F(ContextCreateSamplerTest, givenInvalidFilterModeThenSamplerIsNotCreate
|
|||
EXPECT_EQ(nullptr, sampler);
|
||||
}
|
||||
|
||||
using SamplerInitTest = Test<DeviceFixture>;
|
||||
HWTEST2_F(SamplerInitTest, givenValidHandleReturnUnitialized, IsXeHpcCore) {
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_NONE;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_LINEAR;
|
||||
ze_bool_t isNormalized = false;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
ze_sampler_handle_t hSampler;
|
||||
ze_result_t res = context->createSampler(device, &desc, &hSampler);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNINITIALIZED, res);
|
||||
}
|
||||
|
||||
struct SupportsLowQualityFilterSampler {
|
||||
template <PRODUCT_FAMILY productFamily>
|
||||
static constexpr bool isMatched() {
|
||||
return NEO::ToGfxCoreFamily<productFamily>::get() >= IGFX_GEN12LP_CORE && NEO::ToGfxCoreFamily<productFamily>::get() != IGFX_XE_HPC_CORE;
|
||||
}
|
||||
};
|
||||
|
||||
HWTEST2_F(SamplerInitTest, whenInitializeSamplerAndForceSamplerLowFilteringPrecisionIsFalseThenLowQualityFilterIsDisabled, SupportsLowQualityFilterSampler) {
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
EXPECT_FALSE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
ze_bool_t isNormalized = true;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<gfxCoreFamily> *>((*samplerFactory[productFamily])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
HWTEST2_F(SamplerInitTest, whenInitializeSamplerAndForceSamplerLowFilteringPrecisionIsTrueThenLowQualityFilterIsEnabled, SupportsLowQualityFilterSampler) {
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
DebugManager.flags.ForceSamplerLowFilteringPrecision.set(true);
|
||||
EXPECT_TRUE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
ze_bool_t isNormalized = true;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<gfxCoreFamily> *>((*samplerFactory[productFamily])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_ENABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
||||
|
|
|
@ -10,6 +10,5 @@ if(TESTS_PVC)
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/test_device_pvc.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_pvc.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_pvc.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_pvc.cpp
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/utilities/numeric.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
|
||||
#include "level_zero/core/source/sampler/sampler_hw.h"
|
||||
#include "level_zero/core/test/unit_tests/fixtures/device_fixture.h"
|
||||
#include "level_zero/core/test/unit_tests/mocks/mock_sampler.h"
|
||||
|
||||
namespace L0 {
|
||||
namespace ult {
|
||||
|
||||
using ContextCreateSamplerTestPVC = Test<DeviceFixture>;
|
||||
|
||||
PVCTEST_F(ContextCreateSamplerTestPVC, givenValidHandleReturnUnitialized) {
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_NONE;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_LINEAR;
|
||||
ze_bool_t isNormalized = false;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
ze_sampler_handle_t hSampler;
|
||||
ze_result_t res = context->createSampler(device, &desc, &hSampler);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNINITIALIZED, res);
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (C) 2021-2022 Intel Corporation
|
||||
# Copyright (C) 2021-2023 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
@ -13,7 +13,6 @@ if(TESTS_DG2)
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/test_excludes_dg2.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_dg2.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_module_dg2.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_dg2.cpp
|
||||
)
|
||||
add_subdirectories()
|
||||
endif()
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/utilities/numeric.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
|
||||
#include "level_zero/core/source/sampler/sampler_hw.h"
|
||||
#include "level_zero/core/test/unit_tests/fixtures/device_fixture.h"
|
||||
#include "level_zero/core/test/unit_tests/mocks/mock_sampler.h"
|
||||
|
||||
namespace L0 {
|
||||
namespace ult {
|
||||
|
||||
using SamplerCreateTest = Test<DeviceFixture>;
|
||||
|
||||
HWTEST2_F(SamplerCreateTest, givenDg2WhenInitializeSamplerAndForceSamplerLowFilteringPrecisionIsFalseThenLowQualityFilterIsDisabled, IsDG2) {
|
||||
using SAMPLER_STATE = typename NEO::XeHpgCoreFamily::SAMPLER_STATE;
|
||||
EXPECT_FALSE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
ze_bool_t isNormalized = true;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<IGFX_XE_HPG_CORE> *>((*samplerFactory[IGFX_DG2])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
HWTEST2_F(SamplerCreateTest, givenDg2WhenInitializeSamplerAndForceSamplerLowFilteringPrecisionIsTrueThenLowQualityFilterIsEnabled, IsDG2) {
|
||||
using SAMPLER_STATE = typename NEO::XeHpgCoreFamily::SAMPLER_STATE;
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
DebugManager.flags.ForceSamplerLowFilteringPrecision.set(true);
|
||||
EXPECT_TRUE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
ze_bool_t isNormalized = true;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<IGFX_XE_HPG_CORE> *>((*samplerFactory[IGFX_DG2])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_ENABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
|
@ -8,6 +8,5 @@ if(TESTS_MTL)
|
|||
target_sources(${TARGET_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_mtl.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_mtl.cpp
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/utilities/numeric.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
|
||||
#include "level_zero/core/source/sampler/sampler_hw.h"
|
||||
#include "level_zero/core/test/unit_tests/fixtures/device_fixture.h"
|
||||
#include "level_zero/core/test/unit_tests/mocks/mock_sampler.h"
|
||||
|
||||
namespace L0 {
|
||||
namespace ult {
|
||||
|
||||
using SamplerCreateTest = Test<DeviceFixture>;
|
||||
|
||||
HWTEST2_F(SamplerCreateTest, givenMtlWhenInitializeSamplerThenLowQualityFilterIsDisabled, IsMTL) {
|
||||
using SAMPLER_STATE = typename NEO::XeHpgCoreFamily::SAMPLER_STATE;
|
||||
|
||||
ze_sampler_address_mode_t addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
ze_sampler_filter_mode_t filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
ze_bool_t isNormalized = true;
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = addressMode;
|
||||
desc.filterMode = filterMode;
|
||||
desc.isNormalized = isNormalized;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<IGFX_XE_HPG_CORE> *>((*samplerFactory[IGFX_METEORLAKE])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
HWTEST2_F(SamplerCreateTest, givenMtlAndDebugFlagSetWhenInitializingSamplerThenLowQualityFilterIsEnabled, IsMTL) {
|
||||
using SAMPLER_STATE = typename NEO::XeHpgCoreFamily::SAMPLER_STATE;
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
DebugManager.flags.ForceSamplerLowFilteringPrecision.set(true);
|
||||
|
||||
ze_sampler_desc_t desc = {};
|
||||
desc.addressMode = ZE_SAMPLER_ADDRESS_MODE_REPEAT;
|
||||
desc.filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST;
|
||||
desc.isNormalized = true;
|
||||
|
||||
auto sampler = static_cast<MockSamplerHw<IGFX_XE_HPG_CORE> *>((*samplerFactory[IGFX_METEORLAKE])());
|
||||
sampler->initialize(device, &desc);
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_ENABLE, sampler->samplerState.getLowQualityFilter());
|
||||
|
||||
sampler->destroy();
|
||||
}
|
||||
|
||||
} // namespace ult
|
||||
} // namespace L0
|
Loading…
Reference in New Issue