@@ -201,6 +201,7 @@ bool validateResults(ILogicalDevice* device, const uint32_t* inputData, const ui
201201 auto dataFromBuffer = reinterpret_cast <uint32_t *>(mem->getMappedPointer ());
202202 const uint32_t subgroupSize = (*dataFromBuffer++);
203203
204+ // TODO: parallel for
204205 // now check if the data obtained has valid values
205206 uint32_t * tmp = new uint32_t [workgroupSize];
206207 uint32_t * ballotInput = new uint32_t [workgroupSize];
@@ -281,7 +282,7 @@ bool runTest(
281282 passed = validateResults<Arithmetic,max_op>(device, inputData, workgroupSize, workgroupCount, buffers[6 ].get (),logger)&&passed;
282283 if (is_workgroup_test)
283284 {
284- passed = validateResults<Arithmetic,ballot>(device, inputData, workgroupSize, workgroupCount, buffers[7 ].get (),logger) && passed;
285+ passed = validateResults<Arithmetic,ballot>(device, inputData, workgroupSize, workgroupCount, buffers[7 ].get (),logger)&& passed;
285286 }
286287
287288 return passed;
@@ -300,7 +301,7 @@ class ArythmeticUnitTestApp : public NonGraphicalApplicationBase
300301 void onAppInitialized_impl () override
301302 {
302303 CommonAPI::InitOutput initOutput;
303- CommonAPI::InitWithNoExt (initOutput, nbl:: video::EAT_OPENGL, " Subgroup Arithmetic Test" );
304+ CommonAPI::InitWithNoExt (initOutput, video::EAT_OPENGL, " Subgroup Arithmetic Test" );
304305 gl = std::move (initOutput.apiConnection );
305306 gpuPhysicalDevice = std::move (initOutput.physicalDevice );
306307 logicalDevice = std::move (initOutput.logicalDevice );
@@ -335,7 +336,7 @@ class ArythmeticUnitTestApp : public NonGraphicalApplicationBase
335336 params.queueFamilyIndexCount = 0 ;
336337 params.queueFamilyIndices = nullptr ;
337338 params.sharingMode = ESM_CONCURRENT;
338- params.usage = IGPUBuffer::EUF_STORAGE_BUFFER_BIT;
339+ params.usage = core::bitflag ( IGPUBuffer::EUF_STORAGE_BUFFER_BIT)|IGPUBuffer::EUF_TRANSFER_SRC_BIT ;
339340 IDriverMemoryBacked::SDriverMemoryRequirements reqs;
340341 reqs.vulkanReqs .memoryTypeBits = ~0u ;
341342 reqs.vulkanReqs .alignment = 256u ;
@@ -424,7 +425,7 @@ class ArythmeticUnitTestApp : public NonGraphicalApplicationBase
424425 core::smart_refctd_ptr<IGPUCommandBuffer> cmdbuf;
425426 logicalDevice->createCommandBuffers (cmdPool.get (), IGPUCommandBuffer::EL_PRIMARY, 1u , &cmdbuf);
426427 computeQueue->startCapture ();
427- for (uint32_t workgroupSize = 1u ; workgroupSize <= 1024u ; workgroupSize++)
428+ for (uint32_t workgroupSize= 45u ; workgroupSize<= 1024u ; workgroupSize++)
428429 {
429430 core::smart_refctd_ptr<IGPUComputePipeline> pipelines[kTestTypeCount ];
430431 for (uint32_t i = 0u ; i < kTestTypeCount ; i++)
0 commit comments