Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Bart Louwers <bart@emeel.net>
33 lines
543 B
C++
33 lines
543 B
C++
#include <mbgl/gl/fence.hpp>
|
|
#include <mbgl/gl/defines.hpp>
|
|
#include <cassert>
|
|
|
|
namespace mbgl {
|
|
namespace gl {
|
|
|
|
using namespace platform;
|
|
|
|
Fence::Fence() {}
|
|
|
|
Fence::~Fence() {
|
|
if (fence) {
|
|
glDeleteSync(fence);
|
|
}
|
|
}
|
|
|
|
void Fence::insert() noexcept {
|
|
assert(!fence);
|
|
fence = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
|
|
}
|
|
|
|
bool Fence::isSignaled() const noexcept {
|
|
if (!fence) {
|
|
return false;
|
|
}
|
|
|
|
return glClientWaitSync(fence, GL_SYNC_FLUSH_COMMANDS_BIT, 0);
|
|
}
|
|
|
|
} // namespace gl
|
|
} // namespace mbgl
|