summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Morris <mikemorris@users.noreply.github.com>2016-08-26 10:55:09 -0400
committerMike Morris <mikemorris@users.noreply.github.com>2016-08-26 10:56:20 -0400
commit316f9c0b028484955155889c1c25ede6e2351da8 (patch)
treea301eb642353150c6608dc215f3ddb4fe4cb7d0b
parentb192eb97e5aef0bbe3cbe62fde4ca8cb8a85499c (diff)
downloadqtlocation-mapboxgl-316f9c0b028484955155889c1c25ede6e2351da8.tar.gz
Revert "[node] use a GLsync fence object to defer mapping the pixel buffer until glReadPixels has finished"
This reverts commit ba348f9f693a9eff8a51f3ebede1d6b71b2628e8.
-rw-r--r--platform/default/headless_view.cpp27
1 files changed, 1 insertions, 26 deletions
diff --git a/platform/default/headless_view.cpp b/platform/default/headless_view.cpp
index 8fa33ad51d..6f0d6c2198 100644
--- a/platform/default/headless_view.cpp
+++ b/platform/default/headless_view.cpp
@@ -55,36 +55,11 @@ PremultipliedImage HeadlessView::readStillImage() {
MBGL_CHECK_ERROR(glBindBuffer(GL_PIXEL_PACK_BUFFER, bufferId));
MBGL_CHECK_ERROR(glBufferData(GL_PIXEL_PACK_BUFFER, h * image.stride(), 0, GL_STREAM_READ));
- // Create a fence just before glReadPixels so we can delay mapping
- // the buffer until all prior GL calls have completed.
- GLsync fence = MBGL_CHECK_ERROR(glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0));
-
{
util::stopwatch stopwatch2("glReadPixels", EventSeverity::Info, Event::General);
MBGL_CHECK_ERROR(glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, 0));
}
- {
- util::stopwatch stopwatch3("glFenceSync", EventSeverity::Info, Event::General);
- // Timeout measued in nanoseconds, 100ms
- GLenum syncStatus = MBGL_CHECK_ERROR(glClientWaitSync(fence, 0, 100000000));
-
- // TODO: Log why glClientWaitSync unblocked
- switch (syncStatus) {
- case GL_ALREADY_SIGNALED:
- case GL_CONDITION_SATISFIED:
- break;
- case GL_TIMEOUT_EXPIRED:
- break;
- case GL_WAIT_FAILED:
- break;
- default:
- break;
- }
- }
-
- MBGL_CHECK_ERROR(glDeleteSync(fence));
-
// map the PBO to process its data by CPU
GLubyte* ptr = (GLubyte*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
@@ -94,7 +69,7 @@ PremultipliedImage HeadlessView::readStillImage() {
uint8_t* rgba = image.data.get();
{
- util::stopwatch stopwatch4("memcpy", EventSeverity::Info, Event::General);
+ util::stopwatch stopwatch3("memcpy", EventSeverity::Info, Event::General);
for (unsigned int i = 0, j = h - 1; i < h; i++, j--) {
std::memcpy(rgba + i * stride, ptr + j * stride, stride);
}