P4 to Git Change 1327404 by gandryey@gera-w8 on 2016/10/17 14:20:58
SWDEV-102761 - [CQE OCL][OpenCL on PAL] Few WF Conformance tests are stuck in middle/hardhang while running using csv file - Disable non-user mode queue. There is a hang and deadlock in OS if a mix of user and non-user queues is used. - Wait for the fence longer if PAL returned a timeout error - Slightly change CB warmup code to avoid PAL overhead on the first submit Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#24 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#14 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#30 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#14 edit
This commit is contained in:
@@ -1964,11 +1964,14 @@ Resource::rename(VirtualGPU& gpu, bool force)
|
||||
void
|
||||
Resource::warmUpRenames(VirtualGPU& gpu)
|
||||
{
|
||||
for (uint i = 0; i < dev().settings().maxRenames_; ++i) {
|
||||
// Make sure OCL touches every command buffer in the queue to avoid delays on the first submit
|
||||
uint flush = dev().settings().maxRenames_ / VirtualGPU::Queue::MaxCmdBuffers;
|
||||
flush = (flush == 0) ? 1 : flush;
|
||||
for (uint i = 1; i <= dev().settings().maxRenames_; ++i) {
|
||||
uint dummy = 0;
|
||||
const bool NoWait = false;
|
||||
const bool Wait = (i % flush == 0) ? true : false;
|
||||
// Write 0 for the buffer paging by VidMM
|
||||
writeRawData(gpu, 0, sizeof(dummy), &dummy, NoWait);
|
||||
writeRawData(gpu, 0, sizeof(dummy), &dummy, Wait);
|
||||
const bool Force = true;
|
||||
rename(gpu, Force);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user