// Synthetic provider checks: no renderer, game or claim of actual frame timing. #include "layer.cpp" #include #include #include static VKAPI_ATTR VkResult VKAPI_CALL dummy(VkQueue,const VkPresentInfoKHR*){return VK_SUCCESS;} int main(){ std::call_once(init_once,[]{}); std::vector storage(sizeof(Header)+CAP*sizeof(Record));shared=(Header*)storage.data(); int tag;void* handle=&tag;VkQueue q=(VkQueue)&handle; devices[0].key=&tag;devices[0].present=dummy; VkSwapchainKHR swap=(VkSwapchainKHR)uint64_t(123); VkPresentInfoKHR info{};info.sType=VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;info.swapchainCount=1;info.pSwapchains=&swap; shared->epoch=1;shared->deadline_ns=now_ns()+1000000000;shared->enabled=1; assert(vkQueuePresentKHR(q,&info)==VK_SUCCESS);assert(shared->count==1); auto records=(Record*)(shared+1);assert(records[0].begin_ns<=records[0].end_ns && records[0].sequence==0); shared->count=CAP;vkQueuePresentKHR(q,&info);assert(shared->count==CAP && shared->dropped==1 && shared->enabled==0); shared->count=0;shared->enabled=1;shared->deadline_ns=now_ns()-1;vkQueuePresentKHR(q,&info);assert(shared->count==0 && shared->enabled==0); assert(vkGetInstanceProcAddr(nullptr,"vkUnknown")==nullptr); const int n=50000;std::vector disabled,enabled; for(int run=0;run<9;run++){ shared->enabled=0;auto t=now_ns();for(int i=0;icount=0;shared->deadline_ns=now_ns()+10000000000;shared->enabled=1;t=now_ns(); for(int i=0;icount==n); } std::sort(disabled.begin(),disabled.end());std::sort(enabled.begin(),enabled.end()); printf("{\"ok\":true,\"synthetic_only\":true,\"iterations_per_round\":50000,\"rounds\":9,\"median_disabled_call_ns\":%.2f,\"median_enabled_call_ns\":%.2f,\"incremental_ns\":%.2f,\"checks\":[\"record_layout\",\"timestamp_order\",\"overflow_stops\",\"deadline_stops\",\"null_dispatch\"]}\n",disabled[4],enabled[4],enabled[4]-disabled[4]); }