12 : index_(index), queue_(
queue) {}
21 const vk::Fence& fence)
const {
22 Lock lock(queue_mutex_);
23 return queue_.submit(submit_info, fence);
27 Lock lock(queue_mutex_);
28 return queue_.submit({}, fence);
32 Lock lock(queue_mutex_);
33 return queue_.presentKHR(present_info);
40 vk::DebugUtilsLabelEXT label_info;
41 label_info.pLabelName = label.data();
42 Lock lock(queue_mutex_);
43 queue_.insertDebugUtilsLabelEXT(label_info);
61 if (compute == graphics) {
64 compute_queue = std::make_shared<QueueVK>(compute, vk_compute);
70 if (transfer == graphics) {
72 }
else if (transfer == compute) {
bool SetDebugName(T handle, std::string_view label) const
QueueVK(QueueIndexVK index, vk::Queue queue)
const QueueIndexVK & GetIndex() const
void InsertDebugMarker(std::string_view label) const
vk::Result Present(const vk::PresentInfoKHR &present_info)
vk::Result Submit(const vk::SubmitInfo &submit_info, const vk::Fence &fence) const
bool HasValidationLayers()
std::shared_ptr< QueueVK > compute_queue
std::shared_ptr< QueueVK > transfer_queue
std::shared_ptr< QueueVK > graphics_queue