mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-10 12:53:42 +08:00
Add extra parameter to setImageArg()
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
da9d039dd6
commit
69004a7c7d
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2020 Intel Corporation
|
* Copyright (C) 2018-2021 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@ -39,7 +39,7 @@ void ImageHw<GfxFamily>::setSurfaceMemoryObjectControlStateIndexToMocsTable(void
|
|||||||
surfaceState->setSurfaceMemoryObjectControlStateIndexToMocsTables(value);
|
surfaceState->setSurfaceMemoryObjectControlStateIndexToMocsTables(value);
|
||||||
}
|
}
|
||||||
template <>
|
template <>
|
||||||
void ImageHw<Family>::appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex) {
|
void ImageHw<Family>::appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex, bool useGlobalAtomics) {
|
||||||
if (hasAlphaChannel(&imageFormat)) {
|
if (hasAlphaChannel(&imageFormat)) {
|
||||||
surfaceState->setSampleTapDiscardDisable(RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_ENABLE);
|
surfaceState->setSampleTapDiscardDisable(RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_ENABLE);
|
||||||
}
|
}
|
||||||
|
@ -1557,7 +1557,8 @@ cl_int Kernel::setArgImageWithMipLevel(uint32_t argIndex,
|
|||||||
DEBUG_BREAK_IF(!kernelInfo.isVmeWorkload);
|
DEBUG_BREAK_IF(!kernelInfo.isVmeWorkload);
|
||||||
pImage->setMediaImageArg(surfaceState, rootDeviceIndex);
|
pImage->setMediaImageArg(surfaceState, rootDeviceIndex);
|
||||||
} else {
|
} else {
|
||||||
pImage->setImageArg(surfaceState, kernelArgInfo.isMediaBlockImage, mipLevel, rootDeviceIndex);
|
pImage->setImageArg(surfaceState, kernelArgInfo.isMediaBlockImage, mipLevel, rootDeviceIndex,
|
||||||
|
getKernelInfo().kernelDescriptor.kernelAttributes.flags.useGlobalAtomics);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto &imageDesc = pImage->getImageDesc();
|
auto &imageDesc = pImage->getImageDesc();
|
||||||
|
@ -135,7 +135,7 @@ class Image : public MemObj {
|
|||||||
void *paramValue,
|
void *paramValue,
|
||||||
size_t *paramValueSizeRet);
|
size_t *paramValueSizeRet);
|
||||||
|
|
||||||
virtual void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) = 0;
|
virtual void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) = 0;
|
||||||
virtual void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) = 0;
|
virtual void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) = 0;
|
||||||
virtual void setMediaSurfaceRotation(void *memory) = 0;
|
virtual void setMediaSurfaceRotation(void *memory) = 0;
|
||||||
virtual void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) = 0;
|
virtual void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) = 0;
|
||||||
@ -300,12 +300,12 @@ class ImageHw : public Image {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImageArg(void *memory, bool setAsMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) override;
|
void setImageArg(void *memory, bool setAsMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override;
|
||||||
void setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfaceState);
|
void setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfaceState);
|
||||||
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override;
|
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override;
|
||||||
void setMediaSurfaceRotation(void *memory) override;
|
void setMediaSurfaceRotation(void *memory) override;
|
||||||
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override;
|
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override;
|
||||||
void appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex);
|
void appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex, bool useGlobalAtomics);
|
||||||
void appendSurfaceStateDepthParams(RENDER_SURFACE_STATE *surfaceState, Gmm *gmm);
|
void appendSurfaceStateDepthParams(RENDER_SURFACE_STATE *surfaceState, Gmm *gmm);
|
||||||
void appendSurfaceStateExt(void *memory);
|
void appendSurfaceStateExt(void *memory);
|
||||||
void transformImage2dArrayTo3d(void *memory) override;
|
void transformImage2dArrayTo3d(void *memory) override;
|
||||||
|
@ -31,7 +31,7 @@ union SURFACE_STATE_BUFFER_LENGTH {
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
void ImageHw<GfxFamily>::setImageArg(void *memory, bool setAsMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) {
|
void ImageHw<GfxFamily>::setImageArg(void *memory, bool setAsMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) {
|
||||||
using SURFACE_FORMAT = typename RENDER_SURFACE_STATE::SURFACE_FORMAT;
|
using SURFACE_FORMAT = typename RENDER_SURFACE_STATE::SURFACE_FORMAT;
|
||||||
auto surfaceState = reinterpret_cast<RENDER_SURFACE_STATE *>(memory);
|
auto surfaceState = reinterpret_cast<RENDER_SURFACE_STATE *>(memory);
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ void ImageHw<GfxFamily>::setImageArg(void *memory, bool setAsMediaBlockImage, ui
|
|||||||
}
|
}
|
||||||
appendSurfaceStateDepthParams(surfaceState, gmm);
|
appendSurfaceStateDepthParams(surfaceState, gmm);
|
||||||
EncodeSurfaceState<GfxFamily>::appendImageCompressionParams(surfaceState, graphicsAllocation, gmmHelper, isImageFromBuffer());
|
EncodeSurfaceState<GfxFamily>::appendImageCompressionParams(surfaceState, graphicsAllocation, gmmHelper, isImageFromBuffer());
|
||||||
appendSurfaceStateParams(surfaceState, rootDeviceIndex);
|
appendSurfaceStateParams(surfaceState, rootDeviceIndex, useGlobalAtomics);
|
||||||
appendSurfaceStateExt(surfaceState);
|
appendSurfaceStateExt(surfaceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ void ImageHw<GfxFamily>::setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfa
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
void ImageHw<GfxFamily>::appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex) {
|
void ImageHw<GfxFamily>::appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex, bool useGlobalAtomics) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
|
@ -939,7 +939,7 @@ TEST_F(EnqueueMapImageTest, givenImage1DArrayWhenEnqueueMapImageIsCalledThenRetu
|
|||||||
surfaceFormat, nullptr) {
|
surfaceFormat, nullptr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) override {}
|
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override {}
|
||||||
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
||||||
void setMediaSurfaceRotation(void *memory) override {}
|
void setMediaSurfaceRotation(void *memory) override {}
|
||||||
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
||||||
|
@ -59,7 +59,7 @@ GEN11TEST_F(AppendSurfaceStateParamsTest, givenImageFormatWithoutAlphaChannelWhe
|
|||||||
createImage();
|
createImage();
|
||||||
|
|
||||||
auto imageHw = static_cast<ImageHw<ICLFamily> *>(image.get());
|
auto imageHw = static_cast<ImageHw<ICLFamily> *>(image.get());
|
||||||
imageHw->appendSurfaceStateParams(&surfaceState, context.getDevice(0)->getRootDeviceIndex());
|
imageHw->appendSurfaceStateParams(&surfaceState, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
bool tapDiscardConfigChanged = RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_DISABLE != surfaceState.getSampleTapDiscardDisable();
|
bool tapDiscardConfigChanged = RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_DISABLE != surfaceState.getSampleTapDiscardDisable();
|
||||||
EXPECT_FALSE(tapDiscardConfigChanged);
|
EXPECT_FALSE(tapDiscardConfigChanged);
|
||||||
@ -71,7 +71,7 @@ GEN11TEST_F(AppendSurfaceStateParamsTest, givenImageFormatWithAlphaChannelWhenAp
|
|||||||
createImage();
|
createImage();
|
||||||
|
|
||||||
auto imageHw = static_cast<ImageHw<ICLFamily> *>(image.get());
|
auto imageHw = static_cast<ImageHw<ICLFamily> *>(image.get());
|
||||||
imageHw->appendSurfaceStateParams(&surfaceState, context.getDevice(0)->getRootDeviceIndex());
|
imageHw->appendSurfaceStateParams(&surfaceState, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
bool tapDiscardConfigChanged = RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_DISABLE != surfaceState.getSampleTapDiscardDisable();
|
bool tapDiscardConfigChanged = RENDER_SURFACE_STATE::SAMPLE_TAP_DISCARD_DISABLE_DISABLE != surfaceState.getSampleTapDiscardDisable();
|
||||||
EXPECT_TRUE(tapDiscardConfigChanged);
|
EXPECT_TRUE(tapDiscardConfigChanged);
|
||||||
|
@ -36,7 +36,7 @@ GEN12LPTEST_F(gen12LpImageTests, WhenAppendingSurfaceStateParamsThenSurfaceState
|
|||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
|
|
||||||
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex());
|
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2020 Intel Corporation
|
* Copyright (C) 2018-2021 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@ -23,7 +23,7 @@ GEN8TEST_F(gen8ImageTests, WhenAppendingSurfaceStateParamsThenSurfaceStateDoesNo
|
|||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
|
|
||||||
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex());
|
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2020 Intel Corporation
|
* Copyright (C) 2018-2021 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@ -23,7 +23,7 @@ GEN9TEST_F(gen9ImageTests, appendSurfaceSWhenAppendingSurfaceStateParamsThenSurf
|
|||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
|
|
||||||
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex());
|
imageHw->appendSurfaceStateParams(&surfaceStateAfter, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ HWTEST_F(ImageSetArgTest, WhenSettingKernelArgImageThenSurfaceBaseAddressIsSetCo
|
|||||||
ptrOffset(pKernel->getSurfaceStateHeap(),
|
ptrOffset(pKernel->getSurfaceStateHeap(),
|
||||||
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
||||||
|
|
||||||
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto surfaceAddress = surfaceState->getSurfaceBaseAddress();
|
auto surfaceAddress = surfaceState->getSurfaceBaseAddress();
|
||||||
EXPECT_EQ(srcAllocation->getGpuAddress(), surfaceAddress);
|
EXPECT_EQ(srcAllocation->getGpuAddress(), surfaceAddress);
|
||||||
@ -142,7 +142,7 @@ HWTEST_F(ImageSetArgTest, GivenMediaBlockImageWhenSettingImageArgThenCorrectValu
|
|||||||
|
|
||||||
RENDER_SURFACE_STATE surfaceState;
|
RENDER_SURFACE_STATE surfaceState;
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, true, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, true, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto computedWidth = surfaceState.getWidth();
|
auto computedWidth = surfaceState.getWidth();
|
||||||
auto expectedWidth = (srcImage->getImageDesc().image_width * srcImage->getSurfaceFormatInfo().surfaceFormat.ImageElementSizeInBytes) / sizeof(uint32_t);
|
auto expectedWidth = (srcImage->getImageDesc().image_width * srcImage->getSurfaceFormatInfo().surfaceFormat.ImageElementSizeInBytes) / sizeof(uint32_t);
|
||||||
@ -155,7 +155,7 @@ HWTEST_F(ImageSetArgTest, GivenNormalImageWhenSettingImageArgThenCorrectValueIsS
|
|||||||
|
|
||||||
RENDER_SURFACE_STATE surfaceState;
|
RENDER_SURFACE_STATE surfaceState;
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, true, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, true, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto computedWidth = surfaceState.getWidth();
|
auto computedWidth = surfaceState.getWidth();
|
||||||
|
|
||||||
@ -179,14 +179,14 @@ HWTEST_F(ImageSetArgTest, givenImageWhenSettingMipTailStartLodThenProgramValueFr
|
|||||||
|
|
||||||
mockGmmResourceInfo->setMipTailStartLod(mipTailStartLod);
|
mockGmmResourceInfo->setMipTailStartLod(mipTailStartLod);
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_EQ(mipTailStartLod, surfaceState.getMipTailStartLod());
|
EXPECT_EQ(mipTailStartLod, surfaceState.getMipTailStartLod());
|
||||||
|
|
||||||
// default value
|
// default value
|
||||||
delete gmm;
|
delete gmm;
|
||||||
srcAllocation->setDefaultGmm(nullptr);
|
srcAllocation->setDefaultGmm(nullptr);
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_EQ(0u, surfaceState.getMipTailStartLod());
|
EXPECT_EQ(0u, surfaceState.getMipTailStartLod());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ HWTEST_F(ImageSetArgTest, givenCubeMapIndexWhenSetKernelArgImageIsCalledThenModi
|
|||||||
ptrOffset(pKernel->getSurfaceStateHeap(),
|
ptrOffset(pKernel->getSurfaceStateHeap(),
|
||||||
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
||||||
|
|
||||||
src2dImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex());
|
src2dImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto renderTargetViewExtent = surfaceState->getRenderTargetViewExtent();
|
auto renderTargetViewExtent = surfaceState->getRenderTargetViewExtent();
|
||||||
auto minimumArrayElement = surfaceState->getMinimumArrayElement();
|
auto minimumArrayElement = surfaceState->getMinimumArrayElement();
|
||||||
@ -229,7 +229,7 @@ struct ImageSetArgSurfaceArrayTest : ImageSetArgTest {
|
|||||||
std::unique_ptr<Image> image{Image2dHelper<>::create(context, &imageDesc)};
|
std::unique_ptr<Image> image{Image2dHelper<>::create(context, &imageDesc)};
|
||||||
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
||||||
|
|
||||||
image->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
image->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_EQ(expectedSurfaceArray, surfaceState.getSurfaceArray());
|
EXPECT_EQ(expectedSurfaceArray, surfaceState.getSurfaceArray());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -294,7 +294,7 @@ HWTEST_F(ImageSetArgTest, givenImageArraySizeGreaterThanOneButTypeIsNotImageArra
|
|||||||
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
||||||
|
|
||||||
typename FamilyType::RENDER_SURFACE_STATE surfaceState{};
|
typename FamilyType::RENDER_SURFACE_STATE surfaceState{};
|
||||||
image->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
image->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_FALSE(surfaceState.getSurfaceArray());
|
EXPECT_FALSE(surfaceState.getSurfaceArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,7 +306,7 @@ HWTEST_F(ImageSetArgTest, givenNonCubeMapIndexWhenSetKernelArgImageIsCalledThenD
|
|||||||
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
pKernelInfo->kernelArgInfo[0].offsetHeap));
|
||||||
|
|
||||||
EXPECT_EQ(srcImage->getCubeFaceIndex(), __GMM_NO_CUBE_MAP);
|
EXPECT_EQ(srcImage->getCubeFaceIndex(), __GMM_NO_CUBE_MAP);
|
||||||
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto renderTargetViewExtent = surfaceState->getRenderTargetViewExtent();
|
auto renderTargetViewExtent = surfaceState->getRenderTargetViewExtent();
|
||||||
auto minimumArrayElement = surfaceState->getMinimumArrayElement();
|
auto minimumArrayElement = surfaceState->getMinimumArrayElement();
|
||||||
@ -337,7 +337,7 @@ HWTEST_F(ImageSetArgTest, givenOffsetedBufferWhenSetKernelArgImageIscalledThenFu
|
|||||||
auto graphicsAllocation = srcAllocation;
|
auto graphicsAllocation = srcAllocation;
|
||||||
graphicsAllocation->setGpuBaseAddress(12345u);
|
graphicsAllocation->setGpuBaseAddress(12345u);
|
||||||
|
|
||||||
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(const_cast<RENDER_SURFACE_STATE *>(surfaceState), false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto surfaceAddress = surfaceState->getSurfaceBaseAddress();
|
auto surfaceAddress = surfaceState->getSurfaceBaseAddress();
|
||||||
EXPECT_EQ(srcAllocation->getGpuAddress(), surfaceAddress);
|
EXPECT_EQ(srcAllocation->getGpuAddress(), surfaceAddress);
|
||||||
@ -888,7 +888,7 @@ HWTEST_F(ImageSetArgTest, givenRenderCompressedResourceWhenSettingImgArgThenSetC
|
|||||||
|
|
||||||
srcAllocation->getDefaultGmm()->isRenderCompressed = true;
|
srcAllocation->getDefaultGmm()->isRenderCompressed = true;
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_TRUE(EncodeSurfaceState<FamilyType>::isAuxModeEnabled(&surfaceState, srcAllocation->getDefaultGmm()));
|
EXPECT_TRUE(EncodeSurfaceState<FamilyType>::isAuxModeEnabled(&surfaceState, srcAllocation->getDefaultGmm()));
|
||||||
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
||||||
@ -909,7 +909,7 @@ HWTEST_F(ImageSetArgTest, givenNonRenderCompressedResourceWhenSettingImgArgThenD
|
|||||||
EXPECT_EQ(0u, surfaceState.getAuxiliarySurfaceQpitch());
|
EXPECT_EQ(0u, surfaceState.getAuxiliarySurfaceQpitch());
|
||||||
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
||||||
|
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_TRUE(surfaceState.getAuxiliarySurfaceMode() == AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
|
EXPECT_TRUE(surfaceState.getAuxiliarySurfaceMode() == AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
|
||||||
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch());
|
||||||
@ -1141,7 +1141,7 @@ HWTEST_F(ImageSetArgTest, givenImageWithOffsetGreaterThan4GBWhenSurfaceStateIsPr
|
|||||||
uint64_t surfaceOffset = 8 * GB;
|
uint64_t surfaceOffset = 8 * GB;
|
||||||
|
|
||||||
srcImage->setSurfaceOffsets(surfaceOffset, 0, 0, 0);
|
srcImage->setSurfaceOffsets(surfaceOffset, 0, 0, 0);
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
auto expectedAddress = srcAllocation->getGpuAddress() + surfaceOffset;
|
auto expectedAddress = srcAllocation->getGpuAddress() + surfaceOffset;
|
||||||
auto surfaceAddress = surfaceState.getSurfaceBaseAddress();
|
auto surfaceAddress = surfaceState.getSurfaceBaseAddress();
|
||||||
@ -1158,7 +1158,7 @@ HWTEST_F(ImageSetArgTest, givenMediaCompressedResourceSurfaceModeIsNone) {
|
|||||||
|
|
||||||
gmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = true;
|
gmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = true;
|
||||||
gmm->isRenderCompressed = true;
|
gmm->isRenderCompressed = true;
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(surfaceState.getAuxiliarySurfaceMode(), AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
|
EXPECT_EQ(surfaceState.getAuxiliarySurfaceMode(), AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2020 Intel Corporation
|
* Copyright (C) 2020-2021 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@ -37,10 +37,10 @@ HWTEST2_F(ImageTestsTgllPlus, givenDepthResourceWhenSettingImageArgThenSetDepthS
|
|||||||
auto &gpuFlags = srcImage->getGraphicsAllocation(pClDevice->getRootDeviceIndex())->getDefaultGmm()->gmmResourceInfo->getResourceFlags()->Gpu;
|
auto &gpuFlags = srcImage->getGraphicsAllocation(pClDevice->getRootDeviceIndex())->getDefaultGmm()->gmmResourceInfo->getResourceFlags()->Gpu;
|
||||||
|
|
||||||
gpuFlags.Depth = 0;
|
gpuFlags.Depth = 0;
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_FALSE(surfaceState.getDepthStencilResource());
|
EXPECT_FALSE(surfaceState.getDepthStencilResource());
|
||||||
|
|
||||||
gpuFlags.Depth = 1;
|
gpuFlags.Depth = 1;
|
||||||
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex());
|
srcImage->setImageArg(&surfaceState, false, 0, pClDevice->getRootDeviceIndex(), false);
|
||||||
EXPECT_TRUE(surfaceState.getDepthStencilResource());
|
EXPECT_TRUE(surfaceState.getDepthStencilResource());
|
||||||
}
|
}
|
||||||
|
@ -770,7 +770,7 @@ struct NullImage : public Image {
|
|||||||
~NullImage() override {
|
~NullImage() override {
|
||||||
delete this->multiGraphicsAllocation.getGraphicsAllocation(0);
|
delete this->multiGraphicsAllocation.getGraphicsAllocation(0);
|
||||||
}
|
}
|
||||||
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) override {}
|
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override {}
|
||||||
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
||||||
void setMediaSurfaceRotation(void *memory) override {}
|
void setMediaSurfaceRotation(void *memory) override {}
|
||||||
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
||||||
|
@ -425,7 +425,7 @@ HWTEST_F(Nv12ImageTest, WhenSettingImageArgThenSurfaceStateIsCorrect) {
|
|||||||
|
|
||||||
SurfaceOffsets surfaceOffsets;
|
SurfaceOffsets surfaceOffsets;
|
||||||
image->getSurfaceOffsets(surfaceOffsets);
|
image->getSurfaceOffsets(surfaceOffsets);
|
||||||
image->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex());
|
image->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(surfaceOffsets.xOffset, surfaceState.getXOffset());
|
EXPECT_EQ(surfaceOffsets.xOffset, surfaceState.getXOffset());
|
||||||
EXPECT_EQ(surfaceOffsets.yOffset, surfaceState.getYOffset());
|
EXPECT_EQ(surfaceOffsets.yOffset, surfaceState.getYOffset());
|
||||||
@ -450,7 +450,7 @@ HWTEST_F(Nv12ImageTest, givenNv12ImageArrayAndImageArraySizeIsZeroWhenCallingSet
|
|||||||
std::unique_ptr<Image> image{Image2dHelper<>::create(&context, &imageDesc, &imageFormat)};
|
std::unique_ptr<Image> image{Image2dHelper<>::create(&context, &imageDesc, &imageFormat)};
|
||||||
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
image->setCubeFaceIndex(__GMM_NO_CUBE_MAP);
|
||||||
|
|
||||||
image->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex());
|
image->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
EXPECT_FALSE(surfaceState.getSurfaceArray());
|
EXPECT_FALSE(surfaceState.getSurfaceArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,7 +484,7 @@ HWTEST_F(Nv12ImageTest, setImageArgUVPlaneImageSetsOffsetedSurfaceBaseAddressAnd
|
|||||||
SurfaceOffsets surfaceOffsets;
|
SurfaceOffsets surfaceOffsets;
|
||||||
imageUVPlane->getSurfaceOffsets(surfaceOffsets);
|
imageUVPlane->getSurfaceOffsets(surfaceOffsets);
|
||||||
|
|
||||||
imageUVPlane->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex());
|
imageUVPlane->setImageArg(&surfaceState, false, 0, context.getDevice(0)->getRootDeviceIndex(), false);
|
||||||
|
|
||||||
EXPECT_EQ(imageUVPlane->getGraphicsAllocation(context.getDevice(0)->getRootDeviceIndex())->getGpuAddress() + surfaceOffsets.offset, surfaceState.getSurfaceBaseAddress());
|
EXPECT_EQ(imageUVPlane->getGraphicsAllocation(context.getDevice(0)->getRootDeviceIndex())->getGpuAddress() + surfaceOffsets.offset, surfaceState.getSurfaceBaseAddress());
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ struct MockImageBase : public Image {
|
|||||||
return graphicsAllocation;
|
return graphicsAllocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex) override {}
|
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override {}
|
||||||
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
|
||||||
void setMediaSurfaceRotation(void *memory) override {}
|
void setMediaSurfaceRotation(void *memory) override {}
|
||||||
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
|
||||||
|
Reference in New Issue
Block a user