@@ -62,6 +62,7 @@ struct virtio_gpu_scanout {
};
struct virtio_gpu_requested_state {
+ uint16_t width_mm, height_mm;
uint32_t width, height;
int x, y;
};
@@ -82,6 +82,8 @@ static int virtio_gpu_ui_info(void *opaque, uint32_t idx, QemuUIInfo *info)
g->req_state[idx].y = info->yoff;
g->req_state[idx].width = info->width;
g->req_state[idx].height = info->height;
+ g->req_state[idx].width_mm = info->width_mm;
+ g->req_state[idx].height_mm = info->height_mm;
if (info->width && info->height) {
g->enabled_output_bitmask |= (1 << idx);
@@ -212,6 +212,8 @@ virtio_gpu_generate_edid(VirtIOGPU *g, int scanout,
{
VirtIOGPUBase *b = VIRTIO_GPU_BASE(g);
qemu_edid_info info = {
+ .width_mm = b->req_state[scanout].width_mm,
+ .height_mm = b->req_state[scanout].height_mm,
.prefx = b->req_state[scanout].width,
.prefy = b->req_state[scanout].height,
};