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

Method Buffer

layers/state_tracker/buffer_state.cpp:66–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64#endif
65
66Buffer::Buffer(DeviceState& dev_data, VkBuffer handle, const VkBufferCreateInfo* pCreateInfo)
67 : Bindable(handle, kVulkanObjectTypeBuffer, (pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) != 0,
68 (pCreateInfo->flags & VK_BUFFER_CREATE_PROTECTED_BIT) == 0, GetExternalHandleTypes(pCreateInfo)),
69 safe_create_info(pCreateInfo),
70 create_info(*safe_create_info.ptr()),
71 requirements(GetMemoryRequirements(dev_data, handle)),
72 usage(GetBufferUsageFlags(create_info)),
73 supported_video_profiles(dev_data.video_profile_cache_.Get(
74 dev_data.physical_device, vku::FindStructInPNextChain<VkVideoProfileListInfoKHR>(pCreateInfo->pNext))) {
75 if (pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) {
76 tracker_.emplace<BindableSparseMemoryTracker>(&requirements,
77 (pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT) != 0);
78 SetMemoryTracker(&std::get<BindableSparseMemoryTracker>(tracker_));
79 } else {
80 tracker_.emplace<BindableLinearMemoryTracker>(&requirements);
81 SetMemoryTracker(&std::get<BindableLinearMemoryTracker>(tracker_));
82 }
83}
84
85void Buffer::Destroy() {
86 if (!Destroyed()) {

Callers 7

ValidateDrawVertexMethod · 0.45
RecordDrawVertexMethod · 0.45
RecordDrawVertexIndexMethod · 0.45

Calls 4

GetExternalHandleTypesFunction · 0.70
GetMemoryRequirementsFunction · 0.70
GetBufferUsageFlagsFunction · 0.70
GetMethod · 0.45

Tested by

no test coverage detected