Prepare for pool buffer enabling 2/n

Use correct offset for subBuffer created with clCreateSubBuffer

Make calls to clGetMemObjectInfo for CL_MEM_OFFSET and
CL_MEM_ASSOCIATED_MEMOBJECT return values like with pool buffer disabled

Related-To: NEO-7332

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek
2022-12-09 13:23:06 +00:00
committed by Compute-Runtime-Automation
parent 4fbd2fcc51
commit 8468d6c4b0
7 changed files with 193 additions and 17 deletions

View File

@@ -176,6 +176,25 @@ TEST_F(SubBufferTest, GivenBufferWithMemoryStorageAndNullHostPtrWhenSubBufferIsC
buffer->release();
}
TEST_F(SubBufferTest, givenBufferWithNullMemoryStorageWhenSubBufferIsCreatedThenMemoryStorageIsNotOffseted) {
cl_buffer_region region = {1, 1};
cl_int retVal = 0;
MockBuffer *mockBuffer = static_cast<MockBuffer *>(buffer);
void *savedMemoryStorage = mockBuffer->memoryStorage;
mockBuffer->memoryStorage = nullptr;
auto subBuffer = buffer->createSubBuffer(0, 0, &region, retVal);
EXPECT_EQ(CL_SUCCESS, retVal);
ASSERT_NE(nullptr, subBuffer);
MockBuffer *mockSubBuffer = static_cast<MockBuffer *>(subBuffer);
EXPECT_EQ(nullptr, mockSubBuffer->memoryStorage);
mockBuffer->memoryStorage = savedMemoryStorage;
delete subBuffer;
}
TEST_F(SubBufferTest, givenBufferWithHostPtrWhenSubbufferGetsMapPtrThenExpectBufferHostPtr) {
cl_buffer_region region = {0, 16};