Disable worker thread creation for direct dispatch

Change-Id: I28f08ab9352310c9bf843fcb803a48f95ddf4676


[ROCm/clr commit: e4f51e063b]
This commit is contained in:
German Andryeyev committed 2020-11-30 17:50:12 -05:00
1 parent 2af039f994
commit 9c462f9a6d
2 files changed
+48 -30

No files matched your search

+11 -2
View File
@@ -157,7 +157,7 @@ class HostQueue : public CommandQueue {
//! Create a new thread
Thread()
: amd::Thread("Command Queue Thread", CQ_THREAD_STACK_SIZE),
: amd::Thread("Command Queue Thread", CQ_THREAD_STACK_SIZE, !AMD_DIRECT_DISPATCH),
acceptingCommands_(false),
virtualDevice_(NULL) {}
@@ -167,13 +167,22 @@ class HostQueue : public CommandQueue {
virtualDevice_ = queue->device().createVirtualDevice(queue);
if (virtualDevice_ != NULL) {
queue->loop(virtualDevice_);
delete virtualDevice_;
Release();
} else {
acceptingCommands_ = false;
queue->flush();
}
}
void Init(HostQueue* queue) {
virtualDevice_ = queue->device().createVirtualDevice(queue);
if (virtualDevice_ != nullptr) {
acceptingCommands_ = true;
}
}
void Release() const { delete virtualDevice_; }
//! Get virtual device for the current thread
device::VirtualDevice* vdev() const { return virtualDevice_; }