diff options
| author | ZanderMajercik <amajercik@nvidia.com> | 2022-01-04 11:05:04 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-04 11:05:04 -0800 |
| commit | 9d6c7763334908c78027199a0cb1ca3b9841ebab (patch) | |
| tree | dc75824b08ca23554a0c8e1f98458c103605ebf9 /tools/gfx/vulkan/render-vk.cpp | |
| parent | 1a1b2a0de67dccc1102449b8620830131d569cde (diff) | |
Buffer allocation backend. (#2045)
* removed initialization of upload resource for CPU visible buffers (D3D12, Vulkan)
* reverted slang-gfx.h change
* declared DescBase::hasCpuAccessFlag() const to make backend changes compile under gcc
* commit before checking master branch
* commit before merge
* commit before checking master
* commit before merging upstream
* revert vulkan changes
* commit before testing on master
* commit before merge with master
* reverted bad merge changes
* reverted more bad merge changes in render-d3d12.cpp
* reverted buffer transition in _uploadBufferData
* implemented bufferBarrier() in render-d3d12.cpp
* reverted uneccesary transition in createBuffer
* create staging buffer even when AccessFlag::None passed to D3D11 createBufferResource
* renamed AccessFlags to MemoryType
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tools/gfx/vulkan/render-vk.cpp')
| -rw-r--r-- | tools/gfx/vulkan/render-vk.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/tools/gfx/vulkan/render-vk.cpp b/tools/gfx/vulkan/render-vk.cpp index 232f18f01..8260ab283 100644 --- a/tools/gfx/vulkan/render-vk.cpp +++ b/tools/gfx/vulkan/render-vk.cpp @@ -4856,13 +4856,13 @@ public: public: void init(CommandBufferImpl* commandBuffer) { m_commandBuffer = commandBuffer; } - inline VkAccessFlags translateAccelerationStructureAccessFlag(AccessFlag::Enum access) + inline VkAccessFlags translateAccelerationStructureAccessFlag(MemoryType::Enum access) { VkAccessFlags result = 0; - if (access & AccessFlag::Read) + if (access & MemoryType::CpuRead) result |= VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT; - if (access & AccessFlag::Write) + if (access & MemoryType::CpuWrite) result |= VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR; return result; } @@ -4870,8 +4870,8 @@ public: inline void _memoryBarrier( int count, IAccelerationStructure* const* structures, - AccessFlag::Enum srcAccess, - AccessFlag::Enum destAccess) + MemoryType::Enum srcAccess, + MemoryType::Enum destAccess) { ShortList<VkBufferMemoryBarrier> memBarriers; memBarriers.setCount(count); @@ -4998,7 +4998,7 @@ public: if (propertyQueryCount) { - _memoryBarrier(1, &desc.dest, AccessFlag::Write, AccessFlag::Read); + _memoryBarrier(1, &desc.dest, MemoryType::CpuWrite, MemoryType::CpuRead); _queryAccelerationStructureProperties( 1, &desc.dest, propertyQueryCount, queryDescs); } @@ -5071,8 +5071,8 @@ public: virtual SLANG_NO_THROW void SLANG_MCALL memoryBarrier( int count, IAccelerationStructure* const* structures, - AccessFlag::Enum srcAccess, - AccessFlag::Enum destAccess) override + MemoryType::Enum srcAccess, + MemoryType::Enum destAccess) override { _memoryBarrier(count, structures, srcAccess, destAccess); } @@ -6988,7 +6988,7 @@ static VkImageUsageFlags _calcImageUsageFlags( { VkImageUsageFlags usage = _calcImageUsageFlags(states); - if ((cpuAccessFlags & AccessFlag::Write) || initData) + if ((cpuAccessFlags & MemoryType::CpuWrite) || initData) { usage |= VK_IMAGE_USAGE_TRANSFER_DST_BIT; } @@ -7519,7 +7519,7 @@ Result VKDevice::createBufferResource(const IBufferResource::Desc& descIn, const SLANG_RETURN_ON_FAIL(buffer->m_buffer.init(m_api, desc.sizeInBytes, usage, reqMemoryProperties)); } - if ((desc.cpuAccessFlags & AccessFlag::Write) || initData) + if ((desc.cpuAccessFlags & MemoryType::CpuWrite) || initData) { SLANG_RETURN_ON_FAIL(buffer->m_uploadBuffer.init(m_api, bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)); } |
