mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-05 17:18:16 +02:00
vulkan/runtime: build (address|copy)_flags for vk_buffer
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40431>
This commit is contained in:
parent
ba2e3b1d10
commit
b7bf4e5304
2 changed files with 23 additions and 1 deletions
|
|
@ -48,6 +48,22 @@ vk_buffer_init(struct vk_device *device,
|
|||
BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR);
|
||||
if (usage2_info != NULL)
|
||||
buffer->usage = usage2_info->usage;
|
||||
|
||||
buffer->address_flags =
|
||||
((buffer->create_flags & VK_BUFFER_CREATE_PROTECTED_BIT) ?
|
||||
VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR : 0) |
|
||||
((buffer->usage & VK_BUFFER_USAGE_STORAGE_BUFFER_BIT) ?
|
||||
VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR : 0) |
|
||||
((buffer->usage & VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT) ?
|
||||
VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR : 0) |
|
||||
((buffer->usage & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) == 0 ?
|
||||
VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR : 0);
|
||||
|
||||
buffer->copy_flags =
|
||||
((buffer->create_flags & VK_BUFFER_CREATE_PROTECTED_BIT) ?
|
||||
VK_ADDRESS_COPY_PROTECTED_BIT_KHR : 0) |
|
||||
((buffer->create_flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) ?
|
||||
VK_ADDRESS_COPY_SPARSE_BIT_KHR : 0);
|
||||
}
|
||||
|
||||
void *
|
||||
|
|
@ -128,7 +144,7 @@ vk_common_GetBufferMemoryRequirements2(VkDevice _device,
|
|||
.pNext = NULL,
|
||||
.pCreateInfo = &pCreateInfo,
|
||||
};
|
||||
|
||||
|
||||
device->dispatch_table.GetDeviceBufferMemoryRequirements(_device, &info, pMemoryRequirements);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,12 @@ struct vk_buffer {
|
|||
* delay as far as the bind for non-sparse buffers.
|
||||
*/
|
||||
VkDeviceAddress device_address;
|
||||
|
||||
/** Inferred address flags from create_flags */
|
||||
VkAddressCommandFlagsKHR address_flags;
|
||||
|
||||
/** Inferred copy flags from create_flags */
|
||||
VkAddressCopyFlagsKHR copy_flags;
|
||||
};
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(vk_buffer, base, VkBuffer,
|
||||
VK_OBJECT_TYPE_BUFFER);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue