Disable worker thread creation for direct dispatch
Change-Id: I28f08ab9352310c9bf843fcb803a48f95ddf4676
[ROCm/clr commit: e4f51e063b]
이 커밋은 다음에 포함됨:
1 부모
2af039f994
커밋
9c462f9a6d
2 파일이 변경됨
+48
-30
검색과 일치하는 파일 없음
@@ -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_; }
|
||||
|
||||
|
||||
새 이슈에서 참조
사용자 차단