virtio-gpu-udmabuf: correct naming of QemuDmaBuf size properties
Replace 'width' and 'height' in QemuDmaBuf with 'backing_widht' and 'backing_height' as these commonly indicate the size of the whole surface (e.g. guest's Xorg extended display). Then use 'width' and 'height' for sub region in there (e.g. guest's scanouts). Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230713040444.32267-1-dongwon.kim@intel.com>
This commit is contained in:
parent
0d0be87659
commit
9ac06df8b6
@ -181,13 +181,13 @@ static VGPUDMABuf
|
||||
}
|
||||
|
||||
dmabuf = g_new0(VGPUDMABuf, 1);
|
||||
dmabuf->buf.width = fb->width;
|
||||
dmabuf->buf.height = fb->height;
|
||||
dmabuf->buf.width = r->width;
|
||||
dmabuf->buf.height = r->height;
|
||||
dmabuf->buf.stride = fb->stride;
|
||||
dmabuf->buf.x = r->x;
|
||||
dmabuf->buf.y = r->y;
|
||||
dmabuf->buf.scanout_width = r->width;
|
||||
dmabuf->buf.scanout_height = r->height;
|
||||
dmabuf->buf.backing_width = fb->width;
|
||||
dmabuf->buf.backing_height = fb->height;
|
||||
dmabuf->buf.fourcc = qemu_pixman_to_drm_format(fb->format);
|
||||
dmabuf->buf.fd = res->dmabuf_fd;
|
||||
dmabuf->buf.allow_fences = true;
|
||||
@ -218,8 +218,8 @@ int virtio_gpu_update_dmabuf(VirtIOGPU *g,
|
||||
|
||||
g->dmabuf.primary[scanout_id] = new_primary;
|
||||
qemu_console_resize(scanout->con,
|
||||
new_primary->buf.scanout_width,
|
||||
new_primary->buf.scanout_height);
|
||||
new_primary->buf.width,
|
||||
new_primary->buf.height);
|
||||
dpy_gl_scanout_dmabuf(scanout->con, &new_primary->buf);
|
||||
|
||||
if (old_primary) {
|
||||
|
@ -201,8 +201,8 @@ typedef struct QemuDmaBuf {
|
||||
uint32_t texture;
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t scanout_width;
|
||||
uint32_t scanout_height;
|
||||
uint32_t backing_width;
|
||||
uint32_t backing_height;
|
||||
bool y0_top;
|
||||
void *sync;
|
||||
int fence_fd;
|
||||
|
@ -415,13 +415,13 @@ static void dbus_scanout_texture(DisplayChangeListener *dcl,
|
||||
backing_width, backing_height, x, y, w, h);
|
||||
#ifdef CONFIG_GBM
|
||||
QemuDmaBuf dmabuf = {
|
||||
.width = backing_width,
|
||||
.height = backing_height,
|
||||
.width = w,
|
||||
.height = h,
|
||||
.y0_top = backing_y_0_top,
|
||||
.x = x,
|
||||
.y = y,
|
||||
.scanout_width = w,
|
||||
.scanout_height = h,
|
||||
.backing_width = backing_width,
|
||||
.backing_height = backing_height,
|
||||
};
|
||||
|
||||
assert(tex_id);
|
||||
|
@ -148,8 +148,8 @@ void egl_fb_blit(egl_fb *dst, egl_fb *src, bool flip)
|
||||
if (src->dmabuf) {
|
||||
x1 = src->dmabuf->x;
|
||||
y1 = src->dmabuf->y;
|
||||
w = src->dmabuf->scanout_width;
|
||||
h = src->dmabuf->scanout_height;
|
||||
w = src->dmabuf->width;
|
||||
h = src->dmabuf->height;
|
||||
}
|
||||
|
||||
w = (x1 + w) > src->width ? src->width - x1 : w;
|
||||
@ -314,9 +314,9 @@ void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf)
|
||||
}
|
||||
|
||||
attrs[i++] = EGL_WIDTH;
|
||||
attrs[i++] = dmabuf->width;
|
||||
attrs[i++] = dmabuf->backing_width;
|
||||
attrs[i++] = EGL_HEIGHT;
|
||||
attrs[i++] = dmabuf->height;
|
||||
attrs[i++] = dmabuf->backing_height;
|
||||
attrs[i++] = EGL_LINUX_DRM_FOURCC_EXT;
|
||||
attrs[i++] = dmabuf->fourcc;
|
||||
|
||||
|
10
ui/gtk-egl.c
10
ui/gtk-egl.c
@ -262,9 +262,10 @@ void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,
|
||||
}
|
||||
|
||||
gd_egl_scanout_texture(dcl, dmabuf->texture,
|
||||
dmabuf->y0_top, dmabuf->width, dmabuf->height,
|
||||
dmabuf->x, dmabuf->y, dmabuf->scanout_width,
|
||||
dmabuf->scanout_height, NULL);
|
||||
dmabuf->y0_top,
|
||||
dmabuf->backing_width, dmabuf->backing_height,
|
||||
dmabuf->x, dmabuf->y, dmabuf->width,
|
||||
dmabuf->height, NULL);
|
||||
|
||||
if (dmabuf->allow_fences) {
|
||||
vc->gfx.guest_fb.dmabuf = dmabuf;
|
||||
@ -284,7 +285,8 @@ void gd_egl_cursor_dmabuf(DisplayChangeListener *dcl,
|
||||
if (!dmabuf->texture) {
|
||||
return;
|
||||
}
|
||||
egl_fb_setup_for_tex(&vc->gfx.cursor_fb, dmabuf->width, dmabuf->height,
|
||||
egl_fb_setup_for_tex(&vc->gfx.cursor_fb,
|
||||
dmabuf->backing_width, dmabuf->backing_height,
|
||||
dmabuf->texture, false);
|
||||
} else {
|
||||
egl_fb_destroy(&vc->gfx.cursor_fb);
|
||||
|
@ -301,9 +301,10 @@ void gd_gl_area_scanout_dmabuf(DisplayChangeListener *dcl,
|
||||
}
|
||||
|
||||
gd_gl_area_scanout_texture(dcl, dmabuf->texture,
|
||||
dmabuf->y0_top, dmabuf->width, dmabuf->height,
|
||||
dmabuf->x, dmabuf->y, dmabuf->scanout_width,
|
||||
dmabuf->scanout_height, NULL);
|
||||
dmabuf->y0_top,
|
||||
dmabuf->backing_width, dmabuf->backing_height,
|
||||
dmabuf->x, dmabuf->y, dmabuf->width,
|
||||
dmabuf->height, NULL);
|
||||
|
||||
if (dmabuf->allow_fences) {
|
||||
vc->gfx.guest_fb.dmabuf = dmabuf;
|
||||
|
Loading…
Reference in New Issue
Block a user