mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
Revert "Lock BuiltIn to make appendMemory calls thread safe"
This reverts commit 6a9f5d9bede690931c498a9b2db307d92dc196ab. Change-Id: Ib1c7a66def4b16a0cf8a079497cfa34c1b2b3631
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
|
||||
namespace NEO {
|
||||
class BuiltIns;
|
||||
@@ -45,7 +44,6 @@ enum class ImageBuiltin : uint32_t {
|
||||
};
|
||||
|
||||
struct BuiltinFunctionsLib {
|
||||
using MutexType = std::mutex;
|
||||
virtual ~BuiltinFunctionsLib() = default;
|
||||
static std::unique_ptr<BuiltinFunctionsLib> create(Device *device,
|
||||
NEO::BuiltIns *builtins);
|
||||
@@ -56,12 +54,9 @@ struct BuiltinFunctionsLib {
|
||||
virtual void initImageFunctions() = 0;
|
||||
virtual Kernel *getPageFaultFunction() = 0;
|
||||
virtual void initPageFaultFunction() = 0;
|
||||
MOCKABLE_VIRTUAL std::unique_lock<MutexType> obtainUniqueOwnership();
|
||||
|
||||
protected:
|
||||
BuiltinFunctionsLib() = default;
|
||||
|
||||
MutexType ownershipMutex;
|
||||
};
|
||||
|
||||
} // namespace L0
|
||||
|
||||
@@ -16,10 +16,6 @@ std::unique_ptr<BuiltinFunctionsLib> BuiltinFunctionsLib::create(Device *device,
|
||||
return std::unique_ptr<BuiltinFunctionsLib>(new BuiltinFunctionsLibImpl(device, builtins));
|
||||
}
|
||||
|
||||
std::unique_lock<BuiltinFunctionsLib::MutexType> BuiltinFunctionsLib::obtainUniqueOwnership() {
|
||||
return std::unique_lock<BuiltinFunctionsLib::MutexType>(this->ownershipMutex);
|
||||
}
|
||||
|
||||
void BuiltinFunctionsLibImpl::initFunctions() {
|
||||
for (uint32_t builtId = 0; builtId < static_cast<uint32_t>(Builtin::COUNT); builtId++) {
|
||||
const char *builtinName = nullptr;
|
||||
|
||||
@@ -277,8 +277,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyFromMemory(ze_i
|
||||
rowPitch, slicePitch, bytesPerPixel, {pDstRegion->width, pDstRegion->height, pDstRegion->depth}, {pDstRegion->width, pDstRegion->height, pDstRegion->depth}, imgSize, hEvent);
|
||||
}
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
Kernel *builtinKernel = nullptr;
|
||||
|
||||
switch (bytesPerPixel) {
|
||||
@@ -393,8 +391,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyToMemory(void *
|
||||
rowPitch, slicePitch, bytesPerPixel, {pSrcRegion->width, pSrcRegion->height, pSrcRegion->depth}, imgSize, {pSrcRegion->width, pSrcRegion->height, pSrcRegion->depth}, hEvent);
|
||||
}
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
Kernel *builtinKernel = nullptr;
|
||||
|
||||
switch (bytesPerPixel) {
|
||||
@@ -541,8 +537,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendImageCopyRegion(ze_image
|
||||
dstRowPitch, dstSlicePitch, bytesPerPixel, {srcRegion.width, srcRegion.height, srcRegion.depth}, srcImgSize, dstImgSize, hEvent);
|
||||
}
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
auto kernel = device->getBuiltinFunctionsLib()->getImageFunction(ImageBuiltin::CopyImageRegion);
|
||||
|
||||
if (kernel->suggestGroupSize(groupSizeX, groupSizeY, groupSizeZ, &groupSizeX,
|
||||
@@ -609,8 +603,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernelWithGA(v
|
||||
uint32_t elementSize,
|
||||
Builtin builtin) {
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
|
||||
|
||||
uint32_t groupSizeX = builtinFunction->getImmutableData()
|
||||
@@ -721,8 +713,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendPageFaultCopy(NEO::Graph
|
||||
NEO::GraphicsAllocation *srcptr,
|
||||
size_t size, bool flushHost) {
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
auto builtinFunction = device->getBuiltinFunctionsLib()->getPageFaultFunction();
|
||||
|
||||
uint32_t groupSizeX = builtinFunction->getImmutableData()
|
||||
@@ -768,8 +758,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopy(void *dstptr,
|
||||
uint32_t numWaitEvents,
|
||||
ze_event_handle_t *phWaitEvents) {
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
uintptr_t start = reinterpret_cast<uintptr_t>(dstptr);
|
||||
|
||||
@@ -858,8 +846,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyRegion(void *d
|
||||
uint32_t srcPitch,
|
||||
uint32_t srcSlicePitch,
|
||||
ze_event_handle_t hSignalEvent) {
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
size_t dstSize = 0;
|
||||
size_t srcSize = 0;
|
||||
|
||||
@@ -931,8 +917,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernel3d(NEO::
|
||||
uint32_t numWaitEvents,
|
||||
ze_event_handle_t *phWaitEvents) {
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
|
||||
|
||||
uint32_t groupSizeX = srcRegion->width;
|
||||
@@ -991,8 +975,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyKernel2d(NEO::
|
||||
uint32_t numWaitEvents,
|
||||
ze_event_handle_t *phWaitEvents) {
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
auto builtinFunction = device->getBuiltinFunctionsLib()->getFunction(builtin);
|
||||
|
||||
uint32_t groupSizeX = srcRegion->width;
|
||||
@@ -1079,8 +1061,6 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryFill(void *ptr,
|
||||
size_t srcOffset = 0;
|
||||
NEO::EncodeSurfaceState<GfxFamily>::getSshAlignedPointer(srcPtr, srcOffset);
|
||||
|
||||
auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership();
|
||||
|
||||
Kernel *builtinFunction = nullptr;
|
||||
uint32_t groupSizeX = 1u;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user