mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
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 <kraxel@redhat.com> Message-id: 20171010135453.6704-3-kraxel@redhat.com
This commit is contained in:
parent
4133fa711f
commit
46e19e149f
12 changed files with 68 additions and 72 deletions
|
@ -12,6 +12,7 @@
|
|||
|
||||
#ifdef CONFIG_OPENGL
|
||||
# include <epoxy/gl.h>
|
||||
# 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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -3,13 +3,11 @@
|
|||
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
GLuint qemu_gl_init_texture_blit(GLint texture_blit_prog);
|
||||
void qemu_gl_run_texture_blit(GLint texture_blit_prog,
|
||||
GLint texture_blit_vao);
|
||||
typedef struct QemuGLShader QemuGLShader;
|
||||
|
||||
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);
|
||||
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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue