Lines Matching +full:- +full:- +full:-
2 * Copyright (C) 2015-2016 Gerd Hoffmann <kraxel@redhat.com>
20 #include "qemu/error-report.h"
22 #include "ui/egl-helpers.h"
26 #include "standard-headers/drm/drm_fourcc.h"
33 /* ------------------------------------------------------------------ */
77 if (!fb->delete_texture) { in egl_fb_delete_texture()
81 glDeleteTextures(1, &fb->texture); in egl_fb_delete_texture()
82 fb->delete_texture = false; in egl_fb_delete_texture()
87 if (!fb->framebuffer) { in egl_fb_destroy()
92 glDeleteFramebuffers(1, &fb->framebuffer); in egl_fb_destroy()
94 fb->width = 0; in egl_fb_destroy()
95 fb->height = 0; in egl_fb_destroy()
96 fb->x = 0; in egl_fb_destroy()
97 fb->y = 0; in egl_fb_destroy()
98 fb->texture = 0; in egl_fb_destroy()
99 fb->framebuffer = 0; in egl_fb_destroy()
104 fb->width = width; in egl_fb_setup_default()
105 fb->height = height; in egl_fb_setup_default()
106 fb->x = x; in egl_fb_setup_default()
107 fb->y = y; in egl_fb_setup_default()
108 fb->framebuffer = 0; /* default framebuffer */ in egl_fb_setup_default()
116 fb->width = width; in egl_fb_setup_for_tex()
117 fb->height = height; in egl_fb_setup_for_tex()
118 fb->texture = texture; in egl_fb_setup_for_tex()
119 fb->delete_texture = delete; in egl_fb_setup_for_tex()
120 if (!fb->framebuffer) { in egl_fb_setup_for_tex()
121 glGenFramebuffers(1, &fb->framebuffer); in egl_fb_setup_for_tex()
124 glBindFramebuffer(GL_FRAMEBUFFER_EXT, fb->framebuffer); in egl_fb_setup_for_tex()
126 GL_TEXTURE_2D, fb->texture, 0); in egl_fb_setup_for_tex()
146 GLuint w = src->width; in egl_fb_blit()
147 GLuint h = src->height; in egl_fb_blit()
149 glBindFramebuffer(GL_READ_FRAMEBUFFER, src->framebuffer); in egl_fb_blit()
150 glBindFramebuffer(GL_DRAW_FRAMEBUFFER, dst->framebuffer); in egl_fb_blit()
151 glViewport(0, 0, dst->width, dst->height); in egl_fb_blit()
154 if (src->dmabuf) { in egl_fb_blit()
155 x1 = qemu_dmabuf_get_x(src->dmabuf); in egl_fb_blit()
156 y1 = qemu_dmabuf_get_y(src->dmabuf); in egl_fb_blit()
157 w = qemu_dmabuf_get_width(src->dmabuf); in egl_fb_blit()
158 h = qemu_dmabuf_get_height(src->dmabuf); in egl_fb_blit()
161 w = (x1 + w) > src->width ? src->width - x1 : w; in egl_fb_blit()
162 h = (y1 + h) > src->height ? src->height - y1 : h; in egl_fb_blit()
169 dst->x, dst->y, in egl_fb_blit()
170 dst->x + dst->width, dst->y + dst->height, in egl_fb_blit()
176 glBindFramebuffer(GL_READ_FRAMEBUFFER, src->framebuffer); in egl_fb_read()
184 assert(surface_width(dst) == src->width); in egl_fb_read_rect()
185 assert(surface_height(dst) == src->height); in egl_fb_read_rect()
188 glBindFramebuffer(GL_READ_FRAMEBUFFER, src->framebuffer); in egl_fb_read_rect()
198 glBindFramebuffer(GL_FRAMEBUFFER_EXT, dst->framebuffer); in egl_texture_blit()
199 glViewport(0, 0, dst->width, dst->height); in egl_texture_blit()
201 glBindTexture(GL_TEXTURE_2D, src->texture); in egl_texture_blit()
208 glBindFramebuffer(GL_FRAMEBUFFER_EXT, dst->framebuffer); in egl_texture_blend()
209 int w = scale_x * src->width; in egl_texture_blend()
210 int h = scale_y * src->height; in egl_texture_blend()
214 glViewport(x, dst->height - h - y, w, h); in egl_texture_blend()
217 glBindTexture(GL_TEXTURE_2D, src->texture); in egl_texture_blend()
224 /* ---------------------------------------------------------------------- */
235 qemu_egl_rn_fd = -1; in egl_rendernode_init()
239 if (qemu_egl_rn_fd == -1) { in egl_rendernode_init()
285 if (qemu_egl_rn_fd != -1) { in egl_rendernode_init()
289 return -1; in egl_rendernode_init()
381 /* fd[1-3] may be -1 if using a joint buffer for all planes */ in egl_dmabuf_import_texture()
461 /* ---------------------------------------------------------------------- */
485 /* ---------------------------------------------------------------------- */
566 return -1; in qemu_egl_init_dpy()
572 return -1; in qemu_egl_init_dpy()
579 return -1; in qemu_egl_init_dpy()
588 return -1; in qemu_egl_init_dpy()
627 return -1; in qemu_egl_init_dpy_win32()