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
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
|
@ -222,5 +222,71 @@ HWTEST2_F(ContextCreateSamplerTest, givenInvalidFilterModeThenSamplerIsNotCreate
|
||||||
EXPECT_EQ(nullptr, sampler);
|
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 ult
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
|
@ -10,6 +10,5 @@ if(TESTS_PVC)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_device_pvc.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_device_pvc.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_pvc.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_pvc.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_pvc.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_pvc.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_pvc.cpp
|
|
||||||
)
|
)
|
||||||
endif()
|
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
|
# SPDX-License-Identifier: MIT
|
||||||
#
|
#
|
||||||
|
@ -13,7 +13,6 @@ if(TESTS_DG2)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_excludes_dg2.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_excludes_dg2.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_dg2.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_kernel_dg2.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_module_dg2.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_module_dg2.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_dg2.cpp
|
|
||||||
)
|
)
|
||||||
add_subdirectories()
|
add_subdirectories()
|
||||||
endif()
|
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
|
target_sources(${TARGET_NAME} PRIVATE
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_mtl.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/test_cmdlist_mtl.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_mtl.cpp
|
|
||||||
)
|
)
|
||||||
endif()
|
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