diff --git a/runtime/mem_obj/buffer.inl b/runtime/mem_obj/buffer.inl index d92defae3d..55c55635ac 100644 --- a/runtime/mem_obj/buffer.inl +++ b/runtime/mem_obj/buffer.inl @@ -86,14 +86,12 @@ void BufferHw::setArgStateful(void *memory) { Gmm *gmm = graphicsAllocation ? graphicsAllocation->gmm : nullptr; if (gmm && gmm->isRenderCompressed) { + // Its expected to not program pitch/qpitch/baseAddress for Aux surface in CCS scenarios surfaceState->setCoherencyType(RENDER_SURFACE_STATE::COHERENCY_TYPE_GPU_COHERENT); surfaceState->setAuxiliarySurfaceMode(AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E); - surfaceState->setAuxiliarySurfaceBaseAddress(surfaceState->getSurfaceBaseAddress() + - gmm->gmmResourceInfo->getUnifiedAuxSurfaceOffset(GMM_UNIFIED_AUX_TYPE::GMM_AUX_CCS)); } else { surfaceState->setCoherencyType(RENDER_SURFACE_STATE::COHERENCY_TYPE_IA_COHERENT); surfaceState->setAuxiliarySurfaceMode(AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE); - surfaceState->setAuxiliarySurfaceBaseAddress(0); } } } // namespace OCLRT diff --git a/runtime/mem_obj/image.inl b/runtime/mem_obj/image.inl index 86450584d6..d89f7b0e9e 100644 --- a/runtime/mem_obj/image.inl +++ b/runtime/mem_obj/image.inl @@ -199,11 +199,8 @@ void ImageHw::setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfa template void ImageHw::setAuxParamsForCCS(RENDER_SURFACE_STATE *surfaceState, Gmm *gmm) { + // Its expected to not program pitch/qpitch/baseAddress for Aux surface in CCS scenarios surfaceState->setAuxiliarySurfaceMode(AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E); - surfaceState->setAuxiliarySurfacePitch(std::max(gmm->gmmResourceInfo->getRenderAuxPitchTiles(), 1u)); - surfaceState->setAuxiliarySurfaceQpitch(gmm->gmmResourceInfo->getAuxQPitch()); - surfaceState->setAuxiliarySurfaceBaseAddress(surfaceState->getSurfaceBaseAddress() + - gmm->gmmResourceInfo->getUnifiedAuxSurfaceOffset(GMM_UNIFIED_AUX_TYPE::GMM_AUX_CCS)); } template diff --git a/unit_tests/mem_obj/buffer_tests.cpp b/unit_tests/mem_obj/buffer_tests.cpp index 3e3b9eee00..eb8e69436e 100644 --- a/unit_tests/mem_obj/buffer_tests.cpp +++ b/unit_tests/mem_obj/buffer_tests.cpp @@ -1005,16 +1005,9 @@ HWTEST_F(BufferSetSurfaceTests, givenRenderCompressedGmmResourceWhenSurfaceState buffer->getGraphicsAllocation()->gmm = gmm; gmm->isRenderCompressed = true; - auto resourceInfo = static_cast(gmm->gmmResourceInfo.get()); - uint64_t controlOffset = 0x10000; - EXPECT_CALL(*resourceInfo, getUnifiedAuxSurfaceOffset(GMM_UNIFIED_AUX_TYPE::GMM_AUX_CCS)).Times(1).WillOnce(::testing::Return(controlOffset)); - buffer->setArgStateful(&surfaceState); - auto baseAddress = surfaceState.getSurfaceBaseAddress(); - EXPECT_NE(0u, baseAddress); - - EXPECT_EQ(baseAddress + controlOffset, surfaceState.getAuxiliarySurfaceBaseAddress()); + EXPECT_EQ(0u, surfaceState.getAuxiliarySurfaceBaseAddress()); EXPECT_TRUE(AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E == surfaceState.getAuxiliarySurfaceMode()); EXPECT_TRUE(RENDER_SURFACE_STATE::COHERENCY_TYPE_GPU_COHERENT == surfaceState.getCoherencyType()); } diff --git a/unit_tests/mem_obj/image_set_arg_tests.cpp b/unit_tests/mem_obj/image_set_arg_tests.cpp index bfd900e0ba..054349dde1 100644 --- a/unit_tests/mem_obj/image_set_arg_tests.cpp +++ b/unit_tests/mem_obj/image_set_arg_tests.cpp @@ -586,16 +586,9 @@ HWTEST_F(ImageSetArgTest, givenMcsAllocationWhenSetArgIsCalledWithUnifiedAuxCapa image->setMcsAllocation(mcsAlloc); cl_mem memObj = image.get(); - uint32_t expectedRenderAuxPitchTiles = 30; - uint32_t expectedAuxQPitch = 60; - uint64_t expectedAuxSurfaceOffset = 0x10000; - auto mockMcsGmmResInfo = reinterpret_cast *>(mcsAlloc->gmm->gmmResourceInfo.get()); mockMcsGmmResInfo->setUnifiedAuxTranslationCapable(); EXPECT_TRUE(mcsAlloc->gmm->unifiedAuxTranslationCapable()); - EXPECT_CALL(*mockMcsGmmResInfo, getRenderAuxPitchTiles()).Times(1).WillOnce(Return(expectedRenderAuxPitchTiles)); - EXPECT_CALL(*mockMcsGmmResInfo, getAuxQPitch()).Times(1).WillOnce(Return(expectedAuxQPitch)); - EXPECT_CALL(*mockMcsGmmResInfo, getUnifiedAuxSurfaceOffset(GMM_UNIFIED_AUX_TYPE::GMM_AUX_CCS)).Times(1).WillOnce(Return(expectedAuxSurfaceOffset)); retVal = clSetKernelArg(pKernel, 0, sizeof(memObj), &memObj); ASSERT_EQ(CL_SUCCESS, retVal); @@ -604,9 +597,9 @@ HWTEST_F(ImageSetArgTest, givenMcsAllocationWhenSetArgIsCalledWithUnifiedAuxCapa pKernelInfo->kernelArgInfo[0].offsetHeap)); EXPECT_TRUE(surfaceState->getAuxiliarySurfaceMode() == AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E); - EXPECT_EQ(expectedRenderAuxPitchTiles, surfaceState->getAuxiliarySurfacePitch()); - EXPECT_EQ(expectedAuxQPitch, surfaceState->getAuxiliarySurfaceQpitch()); - EXPECT_EQ(surfaceState->getSurfaceBaseAddress() + expectedAuxSurfaceOffset, surfaceState->getAuxiliarySurfaceBaseAddress()); + EXPECT_EQ(1u, surfaceState->getAuxiliarySurfacePitch()); + EXPECT_EQ(0u, surfaceState->getAuxiliarySurfaceQpitch()); + EXPECT_EQ(0u, surfaceState->getAuxiliarySurfaceBaseAddress()); } HWTEST_F(ImageSetArgTest, clSetKernelArgImage1Dbuffer) { @@ -722,24 +715,14 @@ HWTEST_F(ImageSetArgTest, givenRenderCompressedResourceWhenSettingImgArgThenSetC auto surfaceState = RENDER_SURFACE_STATE::sInit(); - auto gmm = srcImage->getGraphicsAllocation()->gmm; - auto mockGmmResInfo = reinterpret_cast *>(gmm->gmmResourceInfo.get()); - gmm->isRenderCompressed = true; - - uint32_t expectedRenderAuxPitchTiles = 30; - uint32_t expectedAuxQPitch = 60; - uint64_t expectedAuxSurfaceOffset = 0x10000; - - EXPECT_CALL(*mockGmmResInfo, getRenderAuxPitchTiles()).Times(1).WillRepeatedly(Return(expectedRenderAuxPitchTiles)); - EXPECT_CALL(*mockGmmResInfo, getAuxQPitch()).Times(1).WillRepeatedly(Return(expectedAuxQPitch)); - EXPECT_CALL(*mockGmmResInfo, getUnifiedAuxSurfaceOffset(GMM_UNIFIED_AUX_TYPE::GMM_AUX_CCS)).Times(1).WillRepeatedly(Return(expectedAuxSurfaceOffset)); + srcImage->getGraphicsAllocation()->gmm->isRenderCompressed = true; srcImage->setImageArg(&surfaceState, false, 0); EXPECT_TRUE(surfaceState.getAuxiliarySurfaceMode() == AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E); - EXPECT_EQ(expectedRenderAuxPitchTiles, surfaceState.getAuxiliarySurfacePitch()); - EXPECT_EQ(expectedAuxQPitch, surfaceState.getAuxiliarySurfaceQpitch()); - EXPECT_EQ(surfaceState.getSurfaceBaseAddress() + expectedAuxSurfaceOffset, surfaceState.getAuxiliarySurfaceBaseAddress()); + EXPECT_EQ(1u, surfaceState.getAuxiliarySurfacePitch()); + EXPECT_EQ(0u, surfaceState.getAuxiliarySurfaceQpitch()); + EXPECT_EQ(0u, surfaceState.getAuxiliarySurfaceBaseAddress()); } HWTEST_F(ImageSetArgTest, givenNonRenderCompressedResourceWhenSettingImgArgThenDontSetAuxParams) {