MayaFlux 0.2.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 1117 of file ShaderFoundry.cpp.

1118{
1119 auto it = m_command_buffers.find(cmd_id);
1120 if (it == m_command_buffers.end()) {
1121 return;
1122 }
1123
1124 if (!it->second.timestamp_pool) {
1125 vk::QueryPoolCreateInfo pool_info;
1126 pool_info.queryType = vk::QueryType::eTimestamp;
1127 pool_info.queryCount = 128;
1128 it->second.timestamp_pool = get_device().createQueryPool(pool_info);
1129 }
1130
1131 auto query_index = static_cast<uint32_t>(it->second.timestamp_queries.size() * 2);
1132 it->second.timestamp_queries[label] = query_index;
1133
1134 it->second.cmd.resetQueryPool(it->second.timestamp_pool, query_index, 2);
1135 it->second.cmd.writeTimestamp(vk::PipelineStageFlagBits::eTopOfPipe, it->second.timestamp_pool, query_index);
1136}
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References get_device(), and m_command_buffers.

+ Here is the call graph for this function: