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:
foreman
2015-06-11 19:17:47 -04:00
parent 05a44262bc
commit 97fbdd7f58
8 changed files with 57 additions and 77 deletions
@@ -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