From 46e19e149f3b129a22c440caba853188df67deab Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 10 Oct 2017 15:54:49 +0200 Subject: opengl: move shader init from console-gl.c to shader.c With the upcoming dmabuf support in qemu there will be more users of the shaders than just console-gl.c. So rename ConsoleGLState to QemuGLShader, rename some functions too, move code from console-gl.c to shaders.c. No functional change. Signed-off-by: Gerd Hoffmann Message-id: 20171010135453.6704-3-kraxel@redhat.com --- include/ui/console.h | 14 ++++++-------- include/ui/gtk.h | 2 +- include/ui/sdl2.h | 2 +- include/ui/shader.h | 14 ++++++-------- include/ui/spice-display.h | 2 +- 5 files changed, 15 insertions(+), 19 deletions(-) (limited to 'include/ui') diff --git a/include/ui/console.h b/include/ui/console.h index 158969f978..580dfc57ee 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -12,6 +12,7 @@ #ifdef CONFIG_OPENGL # include +# include "ui/shader.h" #endif /* keyboard/mouse support */ @@ -415,22 +416,19 @@ void qemu_console_resize(QemuConsole *con, int width, int height); DisplaySurface *qemu_console_surface(QemuConsole *con); /* console-gl.c */ -typedef struct ConsoleGLState ConsoleGLState; #ifdef CONFIG_OPENGL -ConsoleGLState *console_gl_init_context(void); -void console_gl_fini_context(ConsoleGLState *gls); bool console_gl_check_format(DisplayChangeListener *dcl, pixman_format_code_t format); -void surface_gl_create_texture(ConsoleGLState *gls, +void surface_gl_create_texture(QemuGLShader *gls, DisplaySurface *surface); -void surface_gl_update_texture(ConsoleGLState *gls, +void surface_gl_update_texture(QemuGLShader *gls, DisplaySurface *surface, int x, int y, int w, int h); -void surface_gl_render_texture(ConsoleGLState *gls, +void surface_gl_render_texture(QemuGLShader *gls, DisplaySurface *surface); -void surface_gl_destroy_texture(ConsoleGLState *gls, +void surface_gl_destroy_texture(QemuGLShader *gls, DisplaySurface *surface); -void surface_gl_setup_viewport(ConsoleGLState *gls, +void surface_gl_setup_viewport(QemuGLShader *gls, DisplaySurface *surface, int ww, int wh); #endif diff --git a/include/ui/gtk.h b/include/ui/gtk.h index 2f7b720358..849c896eef 100644 --- a/include/ui/gtk.h +++ b/include/ui/gtk.h @@ -47,7 +47,7 @@ typedef struct VirtualGfxConsole { double scale_x; double scale_y; #if defined(CONFIG_OPENGL) - ConsoleGLState *gls; + QemuGLShader *gls; EGLContext ectx; EGLSurface esurface; int glupdates; diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h index 454367ac84..b29cf803c9 100644 --- a/include/ui/sdl2.h +++ b/include/ui/sdl2.h @@ -26,7 +26,7 @@ struct sdl2_console { int idle_counter; SDL_GLContext winctx; #ifdef CONFIG_OPENGL - ConsoleGLState *gls; + QemuGLShader *gls; egl_fb guest_fb; egl_fb win_fb; bool y0_top; diff --git a/include/ui/shader.h b/include/ui/shader.h index f7d86188bf..369e49865f 100644 --- a/include/ui/shader.h +++ b/include/ui/shader.h @@ -3,13 +3,11 @@ #include -GLuint qemu_gl_init_texture_blit(GLint texture_blit_prog); -void qemu_gl_run_texture_blit(GLint texture_blit_prog, - GLint texture_blit_vao); - -GLuint qemu_gl_create_compile_shader(GLenum type, const GLchar *src); -GLuint qemu_gl_create_link_program(GLuint vert, GLuint frag); -GLuint qemu_gl_create_compile_link_program(const GLchar *vert_src, - const GLchar *frag_src); +typedef struct QemuGLShader QemuGLShader; + +void qemu_gl_run_texture_blit(QemuGLShader *gls); + +QemuGLShader *qemu_gl_init_shader(void); +void qemu_gl_fini_shader(QemuGLShader *gls); #endif /* QEMU_SHADER_H */ diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h index 4ba9444dba..aaf2019889 100644 --- a/include/ui/spice-display.h +++ b/include/ui/spice-display.h @@ -119,7 +119,7 @@ struct SimpleSpiceDisplay { /* opengl rendering */ QEMUBH *gl_unblock_bh; QEMUTimer *gl_unblock_timer; - ConsoleGLState *gls; + QemuGLShader *gls; int gl_updates; bool have_scanout; bool have_surface; -- cgit v1.2.1