Only spice uses it so move it to spice.
Signed-off-by: Akihiko Odaki <[email protected]>
---
include/ui/spice-display.h | 1 +
include/ui/surface.h | 1 -
ui/console-gl.c | 6 ------
ui/spice-display.c | 9 ++++++++-
4 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
index 690ece73801e..a382553fa8e3 100644
--- a/include/ui/spice-display.h
+++ b/include/ui/spice-display.h
@@ -121,6 +121,7 @@ struct SimpleSpiceDisplay {
QEMUBH *gl_unblock_bh;
QEMUTimer *gl_unblock_timer;
QemuGLShader *gls;
+ GLuint gl_surface_mem_obj;
int gl_updates;
bool have_scanout;
bool have_surface;
diff --git a/include/ui/surface.h b/include/ui/surface.h
index 006b1986bb95..f16f7be8be81 100644
--- a/include/ui/surface.h
+++ b/include/ui/surface.h
@@ -22,7 +22,6 @@ typedef struct DisplaySurface {
GLenum glformat;
GLenum gltype;
GLuint texture;
- GLuint mem_obj;
#endif
qemu_pixman_shareable share_handle;
uint32_t share_handle_offset;
diff --git a/ui/console-gl.c b/ui/console-gl.c
index 22e9787c4156..73be35c1fc78 100644
--- a/ui/console-gl.c
+++ b/ui/console-gl.c
@@ -185,12 +185,6 @@ void surface_gl_destroy_texture(QemuGLShader *gls,
}
glDeleteTextures(1, &surface->texture);
surface->texture = 0;
-#ifdef GL_EXT_memory_object_fd
- if (surface->mem_obj) {
- glDeleteMemoryObjectsEXT(1, &surface->mem_obj);
- surface->mem_obj = 0;
- }
-#endif
}
void surface_gl_setup_viewport(QemuGLShader *gls,
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 28399f8a8174..789a67010522 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -950,7 +950,14 @@ static bool spice_gl_replace_fd_texture(SimpleSpiceDisplay
*ssd,
} else {
surface_gl_destroy_texture(ssd->gls, ssd->ds);
ssd->ds->texture = texture;
- ssd->ds->mem_obj = mem_obj;
+
+#ifdef GL_EXT_memory_object_fd
+ if (ssd->gl_surface_mem_obj) {
+ glDeleteMemoryObjectsEXT(1, &ssd->gl_surface_mem_obj);
+ }
+
+ ssd->gl_surface_mem_obj = mem_obj;
+#endif
}
return ret;
}
--
2.53.0