MayaFlux 0.3.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 1132 of file ShaderFoundry.cpp.

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

References get_device(), and m_command_buffers.

+ Here is the call graph for this function: