mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-22 01:48:50 +08:00
Add UNRECOVERABLE_IF for unexpected builtIn setArgBuffer scenario
Change-Id: I87a5c373eae9c833239e0eb4dca6f1660c763a86
This commit is contained in:
committed by
sys_ocldev
parent
3edb738051
commit
f0e53d5cf1
@@ -1117,6 +1117,8 @@ cl_int Kernel::setArgBuffer(uint32_t argIndex,
|
||||
bool forceNonAuxMode = buffer->getGraphicsAllocation()->getAllocationType() == GraphicsAllocation::AllocationType::BUFFER_COMPRESSED &&
|
||||
!kernelArgInfo.pureStatefulBufferAccess;
|
||||
|
||||
UNRECOVERABLE_IF(forceNonAuxMode && isBuiltIn);
|
||||
|
||||
if (requiresSshForBuffers()) {
|
||||
auto surfaceState = ptrOffset(getSurfaceStateHeap(), kernelArgInfo.offsetHeap);
|
||||
buffer->setArgStateful(surfaceState, forceNonAuxMode);
|
||||
|
||||
@@ -190,6 +190,15 @@ HWTEST_F(BufferSetArgTest, givenNonPureStatefulArgWhenRenderCompressedBufferIsSe
|
||||
EXPECT_TRUE(RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E == surfaceState->getAuxiliarySurfaceMode());
|
||||
}
|
||||
|
||||
HWTEST_F(BufferSetArgTest, givenNonPureStatefulArgWhenSetArgOnBuiltinIsCalledThenAbort) {
|
||||
buffer->getGraphicsAllocation()->setAllocationType(GraphicsAllocation::AllocationType::BUFFER_COMPRESSED);
|
||||
cl_mem clMem = buffer;
|
||||
|
||||
pKernelInfo->kernelArgInfo.at(0).pureStatefulBufferAccess = false;
|
||||
pKernel->isBuiltIn = true;
|
||||
EXPECT_THROW(pKernel->setArgBuffer(0, sizeof(cl_mem), &clMem), std::exception);
|
||||
}
|
||||
|
||||
TEST_F(BufferSetArgTest, setKernelArgBufferFor32BitAddressing) {
|
||||
auto pKernelArg = (void **)(pKernel->getCrossThreadData() +
|
||||
pKernelInfo->kernelArgInfo[0].kernelArgPatchInfoVector[0].crossthreadOffset);
|
||||
|
||||
Reference in New Issue
Block a user