MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / CreateScratchBuffer

Method CreateScratchBuffer

tests/framework/binding.cpp:1673–1693  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1671}
1672
1673Buffer AccelerationStructureNV::CreateScratchBuffer(const Device& device, VkBufferCreateInfo* pCreateInfo /*= nullptr*/,
1674 bool buffer_device_address /*= false*/) const {
1675 VkMemoryRequirements scratch_buffer_memory_requirements = BuildScratchMemoryRequirements().memoryRequirements;
1676 VkBufferCreateInfo create_info = vku::InitStructHelper();
1677 create_info.size = scratch_buffer_memory_requirements.size;
1678 if (pCreateInfo) {
1679 create_info.usage = pCreateInfo->usage;
1680 } else {
1681 create_info.usage = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV;
1682 if (buffer_device_address) create_info.usage |= VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
1683 }
1684
1685 VkMemoryAllocateFlagsInfo alloc_flags = vku::InitStructHelper();
1686 void* pNext = nullptr;
1687 if (buffer_device_address) {
1688 alloc_flags.flags = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT;
1689 pNext = &alloc_flags;
1690 }
1691
1692 return Buffer(device, create_info, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, pNext);
1693}
1694
1695NON_DISPATCHABLE_HANDLE_DTOR(ShaderModule, vk::DestroyShaderModule)
1696

Callers 1

TEST_FFunction · 0.80

Calls 1

BufferClass · 0.70

Tested by

no test coverage detected