diff --git a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_2_tests.cpp b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_2_tests.cpp index c0d7c3b029..5542ac5554 100644 --- a/opencl/test/unit_test/command_stream/command_stream_receiver_hw_2_tests.cpp +++ b/opencl/test/unit_test/command_stream/command_stream_receiver_hw_2_tests.cpp @@ -208,7 +208,11 @@ HWTEST_F(BcsTests, givenCsrDependenciesWhenProgrammingCommandStreamThenAddSemaph cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + uint32_t numberOfDependencyContainers = 2; size_t numberNodesPerContainer = 5; auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); @@ -259,8 +263,14 @@ HWTEST_F(BcsTests, givenMultipleBlitPropertiesWhenDispatchingThenProgramCommands cl_int retVal = CL_SUCCESS; auto buffer1 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); auto buffer2 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr1 = reinterpret_cast(0x12340000); - void *hostPtr2 = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr1 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr1 = reinterpret_cast(hostAllocationPtr1.get()); + + auto hostAllocationPtr2 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr2 = reinterpret_cast(hostAllocationPtr2.get()); + auto graphicsAllocation1 = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto graphicsAllocation2 = buffer2->getGraphicsAllocation(pDevice->getRootDeviceIndex()); @@ -316,7 +326,11 @@ HWTEST_F(BcsTests, whenBlitBufferThenCommandBufferHasProperTaskCount) { cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto blitProperties = BlitProperties::constructPropertiesForReadWrite(BlitterConstants::BlitDirection::HostPtrToBuffer, @@ -341,7 +355,11 @@ HWTEST_F(BcsTests, givenProfilingEnabledWhenBlitBufferThenCommandBufferIsConstru cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto blitProperties = BlitProperties::constructPropertiesForReadWrite(BlitterConstants::BlitDirection::HostPtrToBuffer, @@ -385,7 +403,11 @@ HWTEST_F(BcsTests, givenNotInitializedOsContextWhenBlitBufferIsCalledThenInitial cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto blitProperties = BlitProperties::constructPropertiesForReadWrite(BlitterConstants::BlitDirection::HostPtrToBuffer, *bcsCsr, graphicsAllocation, nullptr, hostPtr, @@ -409,8 +431,13 @@ HWTEST_F(BcsTests, givenInputAllocationsWhenBlitDispatchedThenMakeAllAllocations cl_int retVal = CL_SUCCESS; auto buffer1 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); auto buffer2 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr1 = reinterpret_cast(0x12340000); - void *hostPtr2 = reinterpret_cast(0x43210000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr1 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr1 = reinterpret_cast(hostAllocationPtr1.get()); + + auto hostAllocationPtr2 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr2 = reinterpret_cast(hostAllocationPtr2.get()); EXPECT_EQ(0u, csr.makeSurfacePackNonResidentCalled); auto graphicsAllocation1 = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); @@ -462,8 +489,13 @@ HWTEST_F(BcsTests, givenFenceAllocationIsRequiredWhenBlitDispatchedThenMakeAllAl cl_int retVal = CL_SUCCESS; auto buffer1 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); auto buffer2 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr1 = reinterpret_cast(0x12340000); - void *hostPtr2 = reinterpret_cast(0x43210000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr1 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr1 = reinterpret_cast(hostAllocationPtr1.get()); + + auto hostAllocationPtr2 = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr2 = reinterpret_cast(hostAllocationPtr2.get()); EXPECT_EQ(0u, bcsCsr->makeSurfacePackNonResidentCalled); auto graphicsAllocation1 = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); @@ -505,7 +537,11 @@ HWTEST_F(BcsTests, givenBufferWhenBlitCalledThenFlushCommandBuffer) { cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto &commandStream = csr.getCS(MemoryConstants::pageSize); @@ -563,7 +599,11 @@ HWTEST_F(BcsTests, whenBlitFromHostPtrCalledThenCallWaitWithKmdFallback) { cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto blitProperties = BlitProperties::constructPropertiesForReadWrite(BlitterConstants::BlitDirection::HostPtrToBuffer, @@ -592,7 +632,11 @@ HWTEST_F(BcsTests, whenBlitFromHostPtrCalledThenCleanTemporaryAllocations) { cl_int retVal = CL_SUCCESS; auto buffer = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer->getGraphicsAllocation(pDevice->getRootDeviceIndex()); bcsCsr.taskCount = 17; @@ -624,7 +668,9 @@ HWTEST_F(BcsTests, givenBufferWhenBlitOperationCalledThenProgramCorrectGpuAddres auto graphicsAllocation1 = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto graphicsAllocation2 = buffer2->getGraphicsAllocation(pDevice->getRootDeviceIndex()); - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize * 2; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); const size_t hostPtrOffset = 0x1234; const size_t subBuffer1Offset = 0x23; @@ -742,8 +788,11 @@ HWTEST_F(BcsTests, givenMapAllocationWhenDispatchReadWriteOperationThenSetValidG auto &csr = pDevice->getUltCommandStreamReceiver(); auto memoryManager = csr.getMemoryManager(); - AllocationProperties properties{csr.getRootDeviceIndex(), false, 1234, GraphicsAllocation::AllocationType::MAP_ALLOCATION, false, pDevice->getDeviceBitfield()}; - GraphicsAllocation *mapAllocation = memoryManager->allocateGraphicsMemoryWithProperties(properties, reinterpret_cast(0x12340000)); + constexpr size_t mapAllocationSize = MemoryConstants::pageSize * 2; + auto mapAllocationPtr = allocateAlignedMemory(mapAllocationSize, MemoryConstants::pageSize); + + AllocationProperties properties{csr.getRootDeviceIndex(), false, mapAllocationSize, GraphicsAllocation::AllocationType::MAP_ALLOCATION, false, pDevice->getDeviceBitfield()}; + GraphicsAllocation *mapAllocation = memoryManager->allocateGraphicsMemoryWithProperties(properties, mapAllocationPtr.get()); auto mapAllocationOffset = 0x1234; auto mapPtr = reinterpret_cast(mapAllocation->getGpuAddress() + mapAllocationOffset); @@ -861,8 +910,11 @@ HWTEST_F(BcsTests, givenMapAllocationInBuiltinOpParamsWhenConstructingThenUseItA auto &csr = pDevice->getUltCommandStreamReceiver(); auto memoryManager = static_cast(csr.getMemoryManager()); - AllocationProperties properties{csr.getRootDeviceIndex(), false, 1234, GraphicsAllocation::AllocationType::MAP_ALLOCATION, false, pDevice->getDeviceBitfield()}; - GraphicsAllocation *mapAllocation = memoryManager->allocateGraphicsMemoryWithProperties(properties, reinterpret_cast(0x12340000)); + constexpr size_t mapAllocationSize = MemoryConstants::pageSize * 2; + auto mapAllocationPtr = allocateAlignedMemory(mapAllocationSize, MemoryConstants::pageSize); + + AllocationProperties properties{csr.getRootDeviceIndex(), false, mapAllocationSize, GraphicsAllocation::AllocationType::MAP_ALLOCATION, false, pDevice->getDeviceBitfield()}; + GraphicsAllocation *mapAllocation = memoryManager->allocateGraphicsMemoryWithProperties(properties, reinterpret_cast(mapAllocationPtr.get())); auto mapAllocationOffset = 0x1234; auto mapPtr = reinterpret_cast(mapAllocation->getGpuAddress() + mapAllocationOffset); @@ -1029,7 +1081,11 @@ HWTEST_F(BcsTests, givenBufferWithOffsetWhenBlitOperationCalledThenProgramCorrec cl_int retVal = CL_SUCCESS; auto buffer1 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); auto buffer2 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x12340000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation1 = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); auto graphicsAllocation2 = buffer2->getGraphicsAllocation(pDevice->getRootDeviceIndex()); @@ -1121,7 +1177,11 @@ HWTEST_F(BcsTests, givenBufferWithBigSizesWhenBlitOperationCalledThenProgramCorr cl_int retVal = CL_SUCCESS; auto buffer1 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); auto buffer2 = clUniquePtr(Buffer::create(context.get(), CL_MEM_READ_WRITE, 1, nullptr, retVal)); - void *hostPtr = reinterpret_cast(0x4000); + + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + auto graphicsAllocation = buffer1->getGraphicsAllocation(pDevice->getRootDeviceIndex()); size_t srcOrigin[] = {1, 2, 0}; @@ -1312,7 +1372,6 @@ HWTEST_F(BcsTests, givenBlitterDirectSubmissionEnabledWhenProgrammingBlitterThen } struct BcsTestsImages : public BcsTests { - size_t rowPitch = 0; size_t slicePitch = 0; }; @@ -1383,7 +1442,10 @@ HWTEST_F(BcsTestsImages, givenImageWithSurfaceOffsetWhenAdjustBlitPropertiesForI } HWTEST_F(BcsTests, givenHostPtrToImageWhenConstructPropertiesIsCalledThenValuesAreSetCorrectly) { - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; imgDesc.image_width = 10u; imgDesc.image_height = 12u; @@ -1418,7 +1480,10 @@ HWTEST_F(BcsTests, givenHostPtrToImageWhenConstructPropertiesIsCalledThenValuesA } HWTEST_F(BcsTests, givenImageToHostPtrWhenConstructPropertiesIsCalledThenValuesAreSetCorrectly) { - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; imgDesc.image_width = 10u; imgDesc.image_height = 12u; @@ -1453,7 +1518,10 @@ HWTEST_F(BcsTests, givenImageToHostPtrWhenConstructPropertiesIsCalledThenValuesA } HWTEST_F(BcsTests, givenHostPtrToImageWithInputRowSlicePitchesWhenConstructPropertiesIsCalledThenValuesAreSetCorrectly) { - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; std::unique_ptr image(Image2dHelper<>::create(context.get(), &imgDesc)); BuiltinOpParams builtinOpParams{}; @@ -1480,7 +1548,10 @@ HWTEST_F(BcsTests, givenHostPtrToImageWithInputRowSlicePitchesWhenConstructPrope } HWTEST_F(BcsTests, givenImageToHostPtrWithInputRowSlicePitchesWhenConstructPropertiesIsCalledThenValuesAreSetCorrectly) { - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; std::unique_ptr image(Image2dHelper<>::create(context.get(), &imgDesc)); BuiltinOpParams builtinOpParams{}; @@ -1511,7 +1582,10 @@ HWTEST_F(BcsTests, givenHostPtrToImageWhenBlitBufferIsCalledThenBlitCmdIsFound) if (!pDevice->getHardwareInfo().capabilityTable.supportsImages) { GTEST_SKIP(); } - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + std::unique_ptr image(Image2dHelper<>::create(context.get())); BuiltinOpParams builtinOpParams{}; builtinOpParams.srcPtr = hostPtr; @@ -1533,7 +1607,10 @@ HWTEST_F(BcsTests, given3dImageWhenBlitBufferIsCalledThenBlitCmdIsFoundZtimes) { if (!pDevice->getHardwareInfo().capabilityTable.supportsImages) { GTEST_SKIP(); } - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + std::unique_ptr image(Image3dHelper<>::create(context.get())); BuiltinOpParams builtinOpParams{}; builtinOpParams.srcPtr = hostPtr; @@ -1561,7 +1638,10 @@ HWTEST_F(BcsTests, givenImageToHostPtrWhenBlitBufferIsCalledThenBlitCmdIsFound) if (!pDevice->getHardwareInfo().capabilityTable.supportsImages) { GTEST_SKIP(); } - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + std::unique_ptr image(Image2dHelper<>::create(context.get())); BuiltinOpParams builtinOpParams{}; builtinOpParams.dstPtr = hostPtr; @@ -1583,7 +1663,10 @@ HWTEST_F(BcsTests, givenHostPtrToImageWhenBlitBufferIsCalledThenBlitCmdIsCorrect if (!pDevice->getHardwareInfo().capabilityTable.supportsImages) { GTEST_SKIP(); } - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; imgDesc.image_width = 10; imgDesc.image_height = 12; @@ -1615,7 +1698,10 @@ HWTEST_F(BcsTests, givenImageToHostPtrWhenBlitBufferIsCalledThenBlitCmdIsCorrect if (!pDevice->getHardwareInfo().capabilityTable.supportsImages) { GTEST_SKIP(); } - void *hostPtr = reinterpret_cast(0x12340000); + constexpr size_t hostAllocationSize = MemoryConstants::pageSize; + auto hostAllocationPtr = allocateAlignedMemory(hostAllocationSize, MemoryConstants::pageSize); + void *hostPtr = reinterpret_cast(hostAllocationPtr.get()); + cl_image_desc imgDesc = Image2dDefaults::imageDesc; imgDesc.image_width = 10u; imgDesc.image_height = 12u;