mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport
This would help gtk-egl display showing scaled DMABuf cursor images when gtk window was zoomed. A default scale of (1.0, 1.0) was presumed for call sites where no scaling is needed. Signed-off-by: Chen Zhang <tgfbeta@me.com> Message-id: 23B229B3-3095-4DFB-8369-866784808D30@me.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
5e24600a7c
commit
051a0cde7b
5 changed files with 11 additions and 8 deletions
|
@ -120,14 +120,15 @@ void egl_texture_blit(QemuGLShader *gls, egl_fb *dst, egl_fb *src, bool flip)
|
|||
}
|
||||
|
||||
void egl_texture_blend(QemuGLShader *gls, egl_fb *dst, egl_fb *src, bool flip,
|
||||
int x, int y)
|
||||
int x, int y, double scale_x, double scale_y)
|
||||
{
|
||||
glBindFramebuffer(GL_FRAMEBUFFER_EXT, dst->framebuffer);
|
||||
int w = scale_x * src->width;
|
||||
int h = scale_y * src->height;
|
||||
if (flip) {
|
||||
glViewport(x, y, src->width, src->height);
|
||||
glViewport(x, y, w, h);
|
||||
} else {
|
||||
glViewport(x, dst->height - src->height - y,
|
||||
src->width, src->height);
|
||||
glViewport(x, dst->height - h - y, w, h);
|
||||
}
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glBindTexture(GL_TEXTURE_2D, src->texture);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue