Add DisableDanglingPtrDetection to HostMapped userdata pointers
The user data is owned by the caller, so it's ok for these to be
dangling.
Change-Id: I18b425a18aeb215398ccd39e7bf7144a3cccef28
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/173845
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Auto-Submit: Clark DuVall <cduvall@chromium.org>
diff --git a/src/dawn/native/d3d12/BufferD3D12.cpp b/src/dawn/native/d3d12/BufferD3D12.cpp
index 237e715..453f8c8 100644
--- a/src/dawn/native/d3d12/BufferD3D12.cpp
+++ b/src/dawn/native/d3d12/BufferD3D12.cpp
@@ -516,7 +516,7 @@
std::unique_ptr<Heap> heap;
wgpu::Callback callback;
- raw_ptr<void> userdata;
+ raw_ptr<void, DisableDanglingPtrDetection> userdata;
};
std::unique_ptr<DisposeTask> request = std::make_unique<DisposeTask>(
std::move(mHostMappedHeap), mHostMappedDisposeCallback, mHostMappedDisposeUserdata);
diff --git a/src/dawn/native/d3d12/BufferD3D12.h b/src/dawn/native/d3d12/BufferD3D12.h
index dcc25b0..bd0c13e 100644
--- a/src/dawn/native/d3d12/BufferD3D12.h
+++ b/src/dawn/native/d3d12/BufferD3D12.h
@@ -100,7 +100,7 @@
std::unique_ptr<Heap> mHostMappedHeap;
wgpu::Callback mHostMappedDisposeCallback = nullptr;
- raw_ptr<void> mHostMappedDisposeUserdata = nullptr;
+ raw_ptr<void, DisableDanglingPtrDetection> mHostMappedDisposeUserdata = nullptr;
};
} // namespace dawn::native::d3d12
diff --git a/src/dawn/native/vulkan/BufferVk.cpp b/src/dawn/native/vulkan/BufferVk.cpp
index 9a457aa..d0ac815 100644
--- a/src/dawn/native/vulkan/BufferVk.cpp
+++ b/src/dawn/native/vulkan/BufferVk.cpp
@@ -572,7 +572,7 @@
void HandleShutDownImpl() override { callback(userdata); }
wgpu::Callback callback;
- raw_ptr<void> userdata;
+ raw_ptr<void, DisableDanglingPtrDetection> userdata;
};
std::unique_ptr<DisposeTask> request =
std::make_unique<DisposeTask>(mHostMappedDisposeCallback, mHostMappedDisposeUserdata);
diff --git a/src/dawn/native/vulkan/BufferVk.h b/src/dawn/native/vulkan/BufferVk.h
index 471d84c..8dfa8f5 100644
--- a/src/dawn/native/vulkan/BufferVk.h
+++ b/src/dawn/native/vulkan/BufferVk.h
@@ -104,7 +104,7 @@
VkDeviceMemory mDedicatedDeviceMemory = VK_NULL_HANDLE;
wgpu::Callback mHostMappedDisposeCallback = nullptr;
- raw_ptr<void> mHostMappedDisposeUserdata = nullptr;
+ raw_ptr<void, DisableDanglingPtrDetection> mHostMappedDisposeUserdata = nullptr;
// Track which usage was the last to write to the buffer.
wgpu::BufferUsage mLastWriteUsage = wgpu::BufferUsage::None;