mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
This change introduces creating and releasing buffers from memory handle. Currently Windows NT Handles are supported. Change-Id: I61b89d97946ce61617ad98922b7e9731d4a754a9 Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com> Related-To: NEO-3771
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
/*
|
|
* Copyright (C) 2019 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#include "runtime/sharings/unified/unified_sharing.h"
|
|
|
|
#include "core/helpers/string.h"
|
|
#include "runtime/context/context.h"
|
|
#include "runtime/helpers/timestamp_packet.h"
|
|
#include "runtime/sharings/sharing_factory.h"
|
|
|
|
#include <unordered_map>
|
|
|
|
namespace NEO {
|
|
|
|
const uint32_t UnifiedSharingFunctions::sharingId = SharingType::UNIFIED_SHARING;
|
|
|
|
UnifiedSharing::UnifiedSharing(UnifiedSharingFunctions *sharingFunctions, UnifiedSharingHandleType memoryType)
|
|
: sharingFunctions(sharingFunctions),
|
|
memoryType(memoryType) {
|
|
}
|
|
|
|
int UnifiedSharing::synchronizeHandler(UpdateData &updateData) {
|
|
synchronizeObject(updateData);
|
|
return CL_SUCCESS;
|
|
}
|
|
|
|
void UnifiedSharing::resolveGraphicsAllocationChange(osHandle currentSharedHandle, UpdateData *updateData) {
|
|
updateData->synchronizationStatus = SynchronizeStatus::ACQUIRE_SUCCESFUL;
|
|
}
|
|
|
|
template <>
|
|
UnifiedSharingFunctions *Context::getSharing() {
|
|
UNRECOVERABLE_IF(UnifiedSharingFunctions::sharingId >= sharingFunctions.size())
|
|
return reinterpret_cast<UnifiedSharingFunctions *>(sharingFunctions[UnifiedSharingFunctions::sharingId].get());
|
|
}
|
|
|
|
} // namespace NEO
|