From 0f2d11dc994c6323b4bfb955b522f3123e731fe0 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 23 Jun 2021 11:33:30 -0700 Subject: [gfx] Add `IBufferResource::getDeviceAddress()`. (#1892) --- tools/gfx/vulkan/render-vk.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tools/gfx/vulkan/render-vk.cpp') diff --git a/tools/gfx/vulkan/render-vk.cpp b/tools/gfx/vulkan/render-vk.cpp index 78054b4d5..97a527ca6 100644 --- a/tools/gfx/vulkan/render-vk.cpp +++ b/tools/gfx/vulkan/render-vk.cpp @@ -179,6 +179,17 @@ public: RefPtr m_renderer; Buffer m_buffer; Buffer m_uploadBuffer; + + virtual SLANG_NO_THROW DeviceAddress SLANG_MCALL getDeviceAddress() override + { + if (!m_buffer.m_api->vkGetBufferDeviceAddress) + return 0; + VkBufferDeviceAddressInfo info = {}; + info.sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO; + info.buffer = m_buffer.m_buffer; + return (DeviceAddress)m_buffer.m_api->vkGetBufferDeviceAddress( + m_buffer.m_api->m_device, &info); + } }; class TextureResourceImpl : public TextureResource -- cgit v1.2.3