@@ -109,11 +109,22 @@ HWCMDTEST_P(IGFX_GEN8_CORE, ParentKernelEnqueueTest, GivenBlockKernelWithPrivate
109109 int32_t executionStamp = 0 ;
110110 auto mockCSR = new MockCsr<FamilyType>(executionStamp, *pDevice->executionEnvironment );
111111 pDevice->resetCommandStreamReceiver (mockCSR);
112- GraphicsAllocation *privateSurface = pKernel->getProgram ()->getBlockKernelManager ()->getPrivateSurface (0 );
112+
113+ size_t kernelRequiringPrivateSurface = pKernel->getProgram ()->getBlockKernelManager ()->getCount ();
114+ for (size_t i = 0 ; i < pKernel->getProgram ()->getBlockKernelManager ()->getCount (); ++i) {
115+ if (nullptr != pKernel->getProgram ()->getBlockKernelManager ()->getBlockKernelInfo (i)->patchInfo .pAllocateStatelessPrivateSurface ) {
116+ kernelRequiringPrivateSurface = i;
117+ break ;
118+ }
119+ }
120+
121+ ASSERT_NE (kernelRequiringPrivateSurface, pKernel->getProgram ()->getBlockKernelManager ()->getCount ());
122+
123+ GraphicsAllocation *privateSurface = pKernel->getProgram ()->getBlockKernelManager ()->getPrivateSurface (kernelRequiringPrivateSurface);
113124
114125 if (privateSurface == nullptr ) {
115126 privateSurface = mockCSR->getMemoryManager ()->allocateGraphicsMemoryWithProperties (MockAllocationProperties{MemoryConstants::pageSize});
116- pKernel->getProgram ()->getBlockKernelManager ()->pushPrivateSurface (privateSurface, 0 );
127+ pKernel->getProgram ()->getBlockKernelManager ()->pushPrivateSurface (privateSurface, kernelRequiringPrivateSurface );
117128 }
118129
119130 pCmdQ->enqueueKernel (pKernel, 1 , offset, gws, gws, 0 , nullptr , nullptr );
@@ -131,11 +142,21 @@ HWCMDTEST_P(IGFX_GEN8_CORE, ParentKernelEnqueueTest, GivenBlocksWithPrivateMemor
131142 auto &csr = pDevice->getUltCommandStreamReceiver <FamilyType>();
132143 csr.storeMakeResidentAllocations = true ;
133144
134- auto privateAllocation = pKernel->getProgram ()->getBlockKernelManager ()->getPrivateSurface (0 );
145+ size_t kernelRequiringPrivateSurface = pKernel->getProgram ()->getBlockKernelManager ()->getCount ();
146+ for (size_t i = 0 ; i < pKernel->getProgram ()->getBlockKernelManager ()->getCount (); ++i) {
147+ if (nullptr != pKernel->getProgram ()->getBlockKernelManager ()->getBlockKernelInfo (i)->patchInfo .pAllocateStatelessPrivateSurface ) {
148+ kernelRequiringPrivateSurface = i;
149+ break ;
150+ }
151+ }
152+
153+ ASSERT_NE (kernelRequiringPrivateSurface, pKernel->getProgram ()->getBlockKernelManager ()->getCount ());
154+
155+ auto privateAllocation = pKernel->getProgram ()->getBlockKernelManager ()->getPrivateSurface (kernelRequiringPrivateSurface);
135156
136157 if (privateAllocation == nullptr ) {
137158 privateAllocation = csr.getMemoryManager ()->allocateGraphicsMemoryWithProperties (MockAllocationProperties{MemoryConstants::pageSize});
138- blockKernelManager->pushPrivateSurface (privateAllocation, 0 );
159+ blockKernelManager->pushPrivateSurface (privateAllocation, kernelRequiringPrivateSurface );
139160 }
140161
141162 auto uEvent = make_releaseable<UserEvent>(pContext);
0 commit comments