MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ begin_timestamp()

void MayaFlux::Portal::Graphics::ShaderFoundry::begin_timestamp ( CommandBufferID  cmd_id,
const std::string &  label = "" 
)

Definition at line 1136 of file ShaderFoundry.cpp.

1137{
1138 auto it = m_command_buffers.find(cmd_id);
1139 if (it == m_command_buffers.end()) {
1140 return;
1141 }
1142
1143 if (!it->second.timestamp_pool) {
1144 vk::QueryPoolCreateInfo pool_info;
1145 pool_info.queryType = vk::QueryType::eTimestamp;
1146 pool_info.queryCount = 128;
1147 it->second.timestamp_pool = get_device().createQueryPool(pool_info);
1148 }
1149
1150 auto query_index = static_cast<uint32_t>(it->second.timestamp_queries.size() * 2);
1151 it->second.timestamp_queries[label] = query_index;
1152
1153 it->second.cmd.resetQueryPool(it->second.timestamp_pool, query_index, 2);
1154 it->second.cmd.writeTimestamp(vk::PipelineStageFlagBits::eTopOfPipe, it->second.timestamp_pool, query_index);
1155}
vk::Device get_device() const
Get logical device handle.
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References get_device(), and m_command_buffers.

+ Here is the call graph for this function: