From 7364288ed98ee17012422c6ba21ac0f4111104b2 Mon Sep 17 00:00:00 2001 From: Jaime Arteaga Date: Wed, 22 Dec 2021 21:45:00 +0000 Subject: [PATCH] Revert "Use correct enum values for sampler in clamp mode" This reverts commit c8737c6b4b3c67a81f7b4d1ea0918a5f9daac87d. Signed-off-by: Jaime Arteaga --- level_zero/core/source/CMakeLists.txt | 1 - level_zero/core/source/kernel/kernel_imp.cpp | 32 +++++++++++++- .../core/source/kernel/sampler_patch_values.h | 44 ------------------- level_zero/core/source/sampler/sampler_hw.inl | 4 +- .../unit_tests/sources/kernel/CMakeLists.txt | 1 - .../unit_tests/sources/kernel/test_kernel.cpp | 7 ++- .../kernel/test_sampler_patch_value.cpp | 21 --------- .../sources/sampler/test_sampler.cpp | 12 ++--- 8 files changed, 41 insertions(+), 81 deletions(-) delete mode 100644 level_zero/core/source/kernel/sampler_patch_values.h delete mode 100644 level_zero/core/test/unit_tests/sources/kernel/test_sampler_patch_value.cpp diff --git a/level_zero/core/source/CMakeLists.txt b/level_zero/core/source/CMakeLists.txt index 5431702683..2532f5fd87 100644 --- a/level_zero/core/source/CMakeLists.txt +++ b/level_zero/core/source/CMakeLists.txt @@ -62,7 +62,6 @@ set(L0_RUNTIME_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/kernel/kernel_hw.h ${CMAKE_CURRENT_SOURCE_DIR}/kernel/kernel_imp.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kernel/kernel_imp.h - ${CMAKE_CURRENT_SOURCE_DIR}/kernel/sampler_patch_values.h ${CMAKE_CURRENT_SOURCE_DIR}/image/image.h ${CMAKE_CURRENT_SOURCE_DIR}/image/image_format_desc_helper.cpp ${CMAKE_CURRENT_SOURCE_DIR}/image/image_format_desc_helper.h diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index cef7cbb357..beb05c1044 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -32,7 +32,6 @@ #include "level_zero/core/source/driver/driver_handle_imp.h" #include "level_zero/core/source/image/image.h" #include "level_zero/core/source/image/image_format_desc_helper.h" -#include "level_zero/core/source/kernel/sampler_patch_values.h" #include "level_zero/core/source/module/module.h" #include "level_zero/core/source/module/module_imp.h" #include "level_zero/core/source/printf_handler/printf_handler.h" @@ -41,6 +40,35 @@ #include namespace L0 { +enum class SamplerPatchValues : uint32_t { + DefaultSampler = 0x00, + AddressNone = 0x00, + AddressClamp = 0x01, + AddressClampToEdge = 0x02, + AddressRepeat = 0x03, + AddressMirroredRepeat = 0x04, + AddressMirroredRepeat101 = 0x05, + NormalizedCoordsFalse = 0x00, + NormalizedCoordsTrue = 0x08 +}; + +inline SamplerPatchValues getAddrMode(ze_sampler_address_mode_t addressingMode) { + switch (addressingMode) { + case ZE_SAMPLER_ADDRESS_MODE_REPEAT: + return SamplerPatchValues::AddressRepeat; + case ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: + return SamplerPatchValues::AddressClampToEdge; + case ZE_SAMPLER_ADDRESS_MODE_CLAMP: + return SamplerPatchValues::AddressClamp; + case ZE_SAMPLER_ADDRESS_MODE_NONE: + return SamplerPatchValues::AddressNone; + case ZE_SAMPLER_ADDRESS_MODE_MIRROR: + return SamplerPatchValues::AddressMirroredRepeat; + default: + DEBUG_BREAK_IF(true); + } + return SamplerPatchValues::AddressNone; +} KernelImmutableData::KernelImmutableData(L0::Device *l0device) : device(l0device) {} @@ -653,7 +681,7 @@ ze_result_t KernelImp::setArgSampler(uint32_t argIndex, size_t argSize, const vo auto samplerDesc = sampler->getSamplerDesc(); - NEO::patchNonPointer(ArrayRef(crossThreadData.get(), crossThreadDataSize), arg.metadataPayload.samplerSnapWa, (samplerDesc.addressMode == ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER && samplerDesc.filterMode == ZE_SAMPLER_FILTER_MODE_NEAREST) ? std::numeric_limits::max() : 0u); + NEO::patchNonPointer(ArrayRef(crossThreadData.get(), crossThreadDataSize), arg.metadataPayload.samplerSnapWa, (samplerDesc.addressMode == ZE_SAMPLER_ADDRESS_MODE_CLAMP && samplerDesc.filterMode == ZE_SAMPLER_FILTER_MODE_NEAREST) ? std::numeric_limits::max() : 0u); NEO::patchNonPointer(ArrayRef(crossThreadData.get(), crossThreadDataSize), arg.metadataPayload.samplerAddressingMode, static_cast(getAddrMode(samplerDesc.addressMode))); NEO::patchNonPointer(ArrayRef(crossThreadData.get(), crossThreadDataSize), arg.metadataPayload.samplerNormalizedCoords, samplerDesc.isNormalized ? static_cast(SamplerPatchValues::NormalizedCoordsTrue) : static_cast(SamplerPatchValues::NormalizedCoordsFalse)); diff --git a/level_zero/core/source/kernel/sampler_patch_values.h b/level_zero/core/source/kernel/sampler_patch_values.h deleted file mode 100644 index eb024a2f21..0000000000 --- a/level_zero/core/source/kernel/sampler_patch_values.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2021 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#pragma once - -#include "shared/source/helpers/debug_helpers.h" - -#include - -namespace L0 { -enum class SamplerPatchValues : uint32_t { - DefaultSampler = 0x00, - AddressNone = 0x00, - AddressClampToBorder = 0x01, - AddressClampToEdge = 0x02, - AddressRepeat = 0x03, - AddressMirroredRepeat = 0x04, - AddressMirroredRepeat101 = 0x05, - NormalizedCoordsFalse = 0x00, - NormalizedCoordsTrue = 0x08 -}; - -inline SamplerPatchValues getAddrMode(ze_sampler_address_mode_t addressingMode) { - switch (addressingMode) { - case ZE_SAMPLER_ADDRESS_MODE_REPEAT: - return SamplerPatchValues::AddressRepeat; - case ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: - return SamplerPatchValues::AddressClampToBorder; - case ZE_SAMPLER_ADDRESS_MODE_CLAMP: - return SamplerPatchValues::AddressClampToEdge; - case ZE_SAMPLER_ADDRESS_MODE_NONE: - return SamplerPatchValues::AddressNone; - case ZE_SAMPLER_ADDRESS_MODE_MIRROR: - return SamplerPatchValues::AddressMirroredRepeat; - default: - DEBUG_BREAK_IF(true); - } - return SamplerPatchValues::AddressNone; -} -} // namespace L0 \ No newline at end of file diff --git a/level_zero/core/source/sampler/sampler_hw.inl b/level_zero/core/source/sampler/sampler_hw.inl index e15167613c..f070774103 100644 --- a/level_zero/core/source/sampler/sampler_hw.inl +++ b/level_zero/core/source/sampler/sampler_hw.inl @@ -27,9 +27,9 @@ ze_result_t SamplerCoreFamily::initialize(Device *device, const z switch (desc->addressMode) { case ZE_SAMPLER_ADDRESS_MODE_NONE: - case ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: - break; case ZE_SAMPLER_ADDRESS_MODE_CLAMP: + break; + case ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: addressControlModeX = SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP; addressControlModeY = SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP; addressControlModeZ = SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP; diff --git a/level_zero/core/test/unit_tests/sources/kernel/CMakeLists.txt b/level_zero/core/test/unit_tests/sources/kernel/CMakeLists.txt index 559ba4bd65..2ac53973c7 100644 --- a/level_zero/core/test/unit_tests/sources/kernel/CMakeLists.txt +++ b/level_zero/core/test/unit_tests/sources/kernel/CMakeLists.txt @@ -7,5 +7,4 @@ target_sources(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/test_kernel.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/test_sampler_patch_value.cpp ) diff --git a/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp b/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp index ea429382b1..99d78d6200 100644 --- a/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp +++ b/level_zero/core/test/unit_tests/sources/kernel/test_kernel.cpp @@ -24,7 +24,6 @@ #include "level_zero/core/source/image/image_format_desc_helper.h" #include "level_zero/core/source/image/image_hw.h" #include "level_zero/core/source/kernel/kernel_hw.h" -#include "level_zero/core/source/kernel/sampler_patch_values.h" #include "level_zero/core/source/module/module_imp.h" #include "level_zero/core/source/printf_handler/printf_handler.h" #include "level_zero/core/source/sampler/sampler_hw.h" @@ -237,7 +236,7 @@ HWTEST2_F(SetKernelArg, givenSamplerAndKernelWhenSetArgSamplerThenCrossThreadDat ze_sampler_desc_t desc = {}; - desc.addressMode = ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER; + desc.addressMode = ZE_SAMPLER_ADDRESS_MODE_CLAMP; desc.filterMode = ZE_SAMPLER_FILTER_MODE_NEAREST; desc.isNormalized = true; @@ -256,10 +255,10 @@ HWTEST2_F(SetKernelArg, givenSamplerAndKernelWhenSetArgSamplerThenCrossThreadDat EXPECT_EQ(std::numeric_limits::max(), *reinterpret_cast(pSamplerSnapWa)); auto pSamplerAddressingMode = ptrOffset(crossThreadData, samplerArg.metadataPayload.samplerAddressingMode); - EXPECT_EQ(static_cast(SamplerPatchValues::AddressClampToBorder), *pSamplerAddressingMode); + EXPECT_EQ(0x01, *pSamplerAddressingMode); auto pSamplerNormalizedCoords = ptrOffset(crossThreadData, samplerArg.metadataPayload.samplerNormalizedCoords); - EXPECT_EQ(static_cast(SamplerPatchValues::NormalizedCoordsTrue), *pSamplerNormalizedCoords); + EXPECT_EQ(0x08, *pSamplerNormalizedCoords); } using ArgSupport = IsWithinProducts; diff --git a/level_zero/core/test/unit_tests/sources/kernel/test_sampler_patch_value.cpp b/level_zero/core/test/unit_tests/sources/kernel/test_sampler_patch_value.cpp deleted file mode 100644 index 9324c86930..0000000000 --- a/level_zero/core/test/unit_tests/sources/kernel/test_sampler_patch_value.cpp +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2021 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "shared/test/common/test_macros/test.h" - -#include "level_zero/core/source/kernel/sampler_patch_values.h" - -using namespace L0; - -TEST(SamplerPatchValueTest, givenSamplerAddressingModeWhenGetingPathValueThenCorrectValueReturned) { - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_REPEAT), SamplerPatchValues::AddressRepeat); - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER), SamplerPatchValues::AddressClampToBorder); - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_CLAMP), SamplerPatchValues::AddressClampToEdge); - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_NONE), SamplerPatchValues::AddressNone); - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_MIRROR), SamplerPatchValues::AddressMirroredRepeat); - EXPECT_EQ(getAddrMode(ZE_SAMPLER_ADDRESS_MODE_FORCE_UINT32), SamplerPatchValues::AddressNone); -} \ No newline at end of file diff --git a/level_zero/core/test/unit_tests/sources/sampler/test_sampler.cpp b/level_zero/core/test/unit_tests/sources/sampler/test_sampler.cpp index 32bec03ac2..173083a551 100644 --- a/level_zero/core/test/unit_tests/sources/sampler/test_sampler.cpp +++ b/level_zero/core/test/unit_tests/sources/sampler/test_sampler.cpp @@ -84,11 +84,11 @@ HWTEST2_P(SamplerCreateTest, givenDifferentDescriptorValuesThenSamplerIsCorrectl EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_WRAP, sampler->samplerState.getTczAddressControlMode()); } else if (addressMode == ZE_SAMPLER_ADDRESS_MODE_CLAMP) { - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, sampler->samplerState.getTcxAddressControlMode()); - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, sampler->samplerState.getTcyAddressControlMode()); - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, sampler->samplerState.getTczAddressControlMode()); } else if (addressMode == ZE_SAMPLER_ADDRESS_MODE_MIRROR) { EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_MIRROR, @@ -98,11 +98,11 @@ HWTEST2_P(SamplerCreateTest, givenDifferentDescriptorValuesThenSamplerIsCorrectl EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_MIRROR, sampler->samplerState.getTczAddressControlMode()); } else if (addressMode == ZE_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER) { - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, sampler->samplerState.getTcxAddressControlMode()); - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, sampler->samplerState.getTcyAddressControlMode()); - EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP_BORDER, + EXPECT_EQ(SAMPLER_STATE::TEXTURE_COORDINATE_MODE_CLAMP, sampler->samplerState.getTczAddressControlMode()); }