From 0563025cdee93e8222816f1a8e270fd537fab5e5 Mon Sep 17 00:00:00 2001 From: Rutwik Choughule Date: Tue, 23 Nov 2021 18:51:00 +0530 Subject: [PATCH] update simpleVulkan sample --- Samples/simpleVulkan/VulkanBaseApp.cpp | 7 +++++-- Samples/simpleVulkan/main.cpp | 10 ++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Samples/simpleVulkan/VulkanBaseApp.cpp b/Samples/simpleVulkan/VulkanBaseApp.cpp index 5ba75f6a..87905df1 100644 --- a/Samples/simpleVulkan/VulkanBaseApp.cpp +++ b/Samples/simpleVulkan/VulkanBaseApp.cpp @@ -1683,8 +1683,8 @@ void VulkanBaseApp::copyBuffer(VkBuffer dst, VkBuffer src, VkDeviceSize size) { } #ifdef _VK_TIMELINE_SEMAPHORE void VulkanBaseApp::drawFrame() { - const uint64_t waitValue = 0; - const uint64_t signalValue = 1; + static uint64_t waitValue = 0; + static uint64_t signalValue = 1; VkSemaphoreWaitInfo semaphoreWaitInfo = {}; semaphoreWaitInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO; @@ -1761,6 +1761,9 @@ void VulkanBaseApp::drawFrame() { } m_currentFrame++; + + waitValue += 2; + signalValue += 2; } #else void VulkanBaseApp::drawFrame() { diff --git a/Samples/simpleVulkan/main.cpp b/Samples/simpleVulkan/main.cpp index 1624d344..f7c0ec6e 100644 --- a/Samples/simpleVulkan/main.cpp +++ b/Samples/simpleVulkan/main.cpp @@ -482,13 +482,16 @@ class VulkanCudaSineWave : public VulkanBaseApp { VulkanBaseApp::drawFrame(); #ifdef _VK_TIMELINE_SEMAPHORE + static uint64_t waitValue = 1; + static uint64_t signalValue = 2; + cudaExternalSemaphoreWaitParams waitParams = {}; waitParams.flags = 0; - waitParams.params.fence.value = 1; + waitParams.params.fence.value = waitValue; cudaExternalSemaphoreSignalParams signalParams = {}; signalParams.flags = 0; - signalParams.params.fence.value = 0; + signalParams.params.fence.value = signalValue; // Wait for vulkan to complete it's work checkCudaErrors(cudaWaitExternalSemaphoresAsync(&m_cudaTimelineSemaphore, &waitParams, 1, m_stream)); @@ -497,6 +500,9 @@ class VulkanCudaSineWave : public VulkanBaseApp { // Signal vulkan to continue with the updated buffers checkCudaErrors(cudaSignalExternalSemaphoresAsync( &m_cudaTimelineSemaphore, &signalParams, 1, m_stream)); + + waitValue += 2; + signalValue += 2; #else cudaExternalSemaphoreWaitParams waitParams = {}; waitParams.flags = 0;