diff --git a/GPU/GPUTracking/Base/metal/GPUReconstructionMetal.mm b/GPU/GPUTracking/Base/metal/GPUReconstructionMetal.mm index 338a421df406b..4be4c83ebc262 100644 --- a/GPU/GPUTracking/Base/metal/GPUReconstructionMetal.mm +++ b/GPU/GPUTracking/Base/metal/GPUReconstructionMetal.mm @@ -116,14 +116,14 @@ uint32_t metalGPUCoreCount() } // We only support internal GPUs, so the ownership of the memory is always shared - mInternals->mem_gpu = [mInternals->device newBufferWithLength:mDeviceMemorySize options:MTLResourceStorageModeShared]; + mInternals->mem_gpu = [mInternals->device newBufferWithLength:mDeviceMemorySize options:MTLResourceStorageModeShared | MTLResourceHazardTrackingModeUntracked]; if (mInternals->mem_gpu == nil) { GPUErrorReturn("Metal Memory Allocation Error"); } // FIXME: until I understand how to enable the gGPUConstantMemBufferSize constexpr int32_t tmpGPUConstantMemBufferSize = 100000; // gGPUConstantMemBufferSize - mInternals->mem_constant = [mInternals->device newBufferWithLength:tmpGPUConstantMemBufferSize options:MTLResourceStorageModeShared]; + mInternals->mem_constant = [mInternals->device newBufferWithLength:tmpGPUConstantMemBufferSize options:MTLResourceStorageModeShared | MTLResourceHazardTrackingModeUntracked]; if (mInternals->mem_constant == nil) { GPUErrorReturn("Metal Constant Memory Allocation Error"); } @@ -143,7 +143,7 @@ uint32_t metalGPUCoreCount() mInternals->streamHasWork[i] = false; } - mInternals->mem_host = [mInternals->device newBufferWithLength:mHostMemorySize options:MTLResourceStorageModeShared]; + mInternals->mem_host = [mInternals->device newBufferWithLength:mHostMemorySize options:MTLResourceStorageModeShared | MTLResourceHazardTrackingModeUntracked]; if (mInternals->mem_host == nil) { GPUErrorReturn("Error allocating pinned host memory"); }