1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00
OpenDX/src/dxvk/dxvk_event.cpp

36 lines
701 B
C++
Raw Normal View History

#include "dxvk_event.h"
namespace dxvk {
DxvkEvent:: DxvkEvent() { }
DxvkEvent::~DxvkEvent() { }
uint32_t DxvkEvent::reset() {
std::unique_lock<std::mutex> lock(m_mutex);
m_status = DxvkEventStatus::Reset;
return ++m_revision;
}
void DxvkEvent::signal(uint32_t revision) {
std::unique_lock<std::mutex> lock(m_mutex);
if (m_revision == revision)
m_status = DxvkEventStatus::Signaled;
}
DxvkEventStatus DxvkEvent::getStatus() {
std::unique_lock<std::mutex> lock(m_mutex);
return m_status;
}
2018-07-20 11:39:24 +02:00
void DxvkEvent::wait() {
while (this->getStatus() != DxvkEventStatus::Signaled)
dxvk::this_thread::yield();
}
}