P4 to Git Change 1160575 by gandryey@gera-dev-w7 on 2015/06/11 18:31:59
ECR #304775 - Real time queue support
- Add the new interface for the real time queue creation
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_command.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_device.cpp#58 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.hpp#90 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#246 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#511 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#144 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.cpp#91 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.hpp#48 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/commandqueue.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/commandqueue.hpp#15 edit
[ROCm/clr commit: e919691665]
This commit is contained in:
@@ -543,6 +543,8 @@ void NullDevice::fillDeviceInfo(
|
||||
info_.localMemBanks_ = hwInfo()->localMemBanks_;
|
||||
info_.gfxipVersion_ = hwInfo()->gfxipVersion_;
|
||||
info_.numAsyncQueues_ = numComputeRings;
|
||||
info_.numRTQueues_ = 2;
|
||||
info_.numRTCUs_ = 4;
|
||||
info_.threadTraceEnable_ = settings().threadTraceEnable_;
|
||||
}
|
||||
}
|
||||
@@ -1091,14 +1093,31 @@ Device::initializeHeapResources()
|
||||
|
||||
device::VirtualDevice*
|
||||
Device::createVirtualDevice(
|
||||
bool profiling,
|
||||
bool interopQueue
|
||||
#if cl_amd_open_video
|
||||
, void* calVideoProperties
|
||||
#endif // cl_amd_open_video
|
||||
, uint deviceQueueSize
|
||||
amd::CommandQueue* queue
|
||||
)
|
||||
{
|
||||
bool profiling = false;
|
||||
bool interopQueue = false;
|
||||
uint rtCUs = 0;
|
||||
uint deviceQueueSize = 0;
|
||||
#if cl_amd_open_video
|
||||
void* calVideoProperties = NULL;
|
||||
#endif // cl_amd_open_video
|
||||
|
||||
if (queue != NULL) {
|
||||
profiling = queue->properties().test(CL_QUEUE_PROFILING_ENABLE);
|
||||
if (queue->asHostQueue() != NULL) {
|
||||
interopQueue = (0 != (queue->context().info().flags_ &
|
||||
(amd::Context::GLDeviceKhr |
|
||||
amd::Context::D3D10DeviceKhr |
|
||||
amd::Context::D3D11DeviceKhr)));
|
||||
rtCUs = queue->rtCUs();
|
||||
}
|
||||
else if (queue->asDeviceQueue() != NULL) {
|
||||
deviceQueueSize = queue->asDeviceQueue()->size();
|
||||
}
|
||||
}
|
||||
|
||||
// Not safe to add a queue. So lock the device
|
||||
amd::ScopedLock k(lockAsyncOps());
|
||||
amd::ScopedLock lock(vgpusAccess());
|
||||
|
||||
@@ -63,12 +63,7 @@ public:
|
||||
|
||||
//! Instantiate a new virtual device
|
||||
virtual device::VirtualDevice* createVirtualDevice(
|
||||
bool profiling,
|
||||
bool interopQueue
|
||||
#if cl_amd_open_video
|
||||
, void* calVideoProperties = NULL
|
||||
#endif // cl_amd_open_video
|
||||
, uint deviceQueueSize = 0
|
||||
amd::CommandQueue* queue = NULL
|
||||
) { return NULL; }
|
||||
|
||||
//! Compile the given source code.
|
||||
@@ -394,12 +389,7 @@ public:
|
||||
|
||||
//! Instantiate a new virtual device
|
||||
device::VirtualDevice* createVirtualDevice(
|
||||
bool profiling,
|
||||
bool interopQueue
|
||||
#if cl_amd_open_video
|
||||
, void* calVideoProperties = NULL
|
||||
#endif // cl_amd_open_video
|
||||
, uint deviceQueueSize = 0
|
||||
amd::CommandQueue* queue = NULL
|
||||
);
|
||||
|
||||
//! Memory allocation
|
||||
|
||||
Reference in New Issue
Block a user