|
@@ -348,8 +348,8 @@ void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- glGenTextures(1, &dmabuf->texture);
|
|
|
- texture = qemu_dmabuf_get_texture(dmabuf);
|
|
|
+ glGenTextures(1, &texture);
|
|
|
+ qemu_dmabuf_set_texture(dmabuf, texture);
|
|
|
glBindTexture(GL_TEXTURE_2D, texture);
|
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
@@ -368,7 +368,7 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf)
|
|
|
}
|
|
|
|
|
|
glDeleteTextures(1, &texture);
|
|
|
- dmabuf->texture = 0;
|
|
|
+ qemu_dmabuf_set_texture(dmabuf, 0);
|
|
|
}
|
|
|
|
|
|
void egl_dmabuf_create_sync(QemuDmaBuf *dmabuf)
|
|
@@ -382,7 +382,7 @@ void egl_dmabuf_create_sync(QemuDmaBuf *dmabuf)
|
|
|
sync = eglCreateSyncKHR(qemu_egl_display,
|
|
|
EGL_SYNC_NATIVE_FENCE_ANDROID, NULL);
|
|
|
if (sync != EGL_NO_SYNC_KHR) {
|
|
|
- dmabuf->sync = sync;
|
|
|
+ qemu_dmabuf_set_sync(dmabuf, sync);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -390,12 +390,14 @@ void egl_dmabuf_create_sync(QemuDmaBuf *dmabuf)
|
|
|
void egl_dmabuf_create_fence(QemuDmaBuf *dmabuf)
|
|
|
{
|
|
|
void *sync = qemu_dmabuf_get_sync(dmabuf);
|
|
|
+ int fence_fd;
|
|
|
|
|
|
if (sync) {
|
|
|
- dmabuf->fence_fd = eglDupNativeFenceFDANDROID(qemu_egl_display,
|
|
|
- sync);
|
|
|
+ fence_fd = eglDupNativeFenceFDANDROID(qemu_egl_display,
|
|
|
+ sync);
|
|
|
+ qemu_dmabuf_set_fence_fd(dmabuf, fence_fd);
|
|
|
eglDestroySyncKHR(qemu_egl_display, sync);
|
|
|
- dmabuf->sync = NULL;
|
|
|
+ qemu_dmabuf_set_sync(dmabuf, NULL);
|
|
|
}
|
|
|
}
|
|
|
|