Revision c10018d6 hw/qxl.c
b/hw/qxl.c | ||
---|---|---|
944 | 944 |
} |
945 | 945 |
} |
946 | 946 |
|
947 |
#if SPICE_SERVER_VERSION >= 0x000b04 |
|
948 |
|
|
949 |
/* called from spice server thread context only */ |
|
950 |
static void interface_set_client_capabilities(QXLInstance *sin, |
|
951 |
uint8_t client_present, |
|
952 |
uint8_t caps[58]) |
|
953 |
{ |
|
954 |
PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl); |
|
955 |
|
|
956 |
qxl->shadow_rom.client_present = client_present; |
|
957 |
memcpy(qxl->shadow_rom.client_capabilities, caps, sizeof(caps)); |
|
958 |
qxl->rom->client_present = client_present; |
|
959 |
memcpy(qxl->rom->client_capabilities, caps, sizeof(caps)); |
|
960 |
qxl_rom_set_dirty(qxl); |
|
961 |
|
|
962 |
qxl_send_events(qxl, QXL_INTERRUPT_CLIENT); |
|
963 |
} |
|
964 |
|
|
965 |
#endif |
|
966 |
|
|
947 | 967 |
static const QXLInterface qxl_interface = { |
948 | 968 |
.base.type = SPICE_INTERFACE_QXL, |
949 | 969 |
.base.description = "qxl gpu", |
... | ... | |
965 | 985 |
.flush_resources = interface_flush_resources, |
966 | 986 |
.async_complete = interface_async_complete, |
967 | 987 |
.update_area_complete = interface_update_area_complete, |
988 |
#if SPICE_SERVER_VERSION >= 0x000b04 |
|
989 |
.set_client_capabilities = interface_set_client_capabilities, |
|
990 |
#endif |
|
968 | 991 |
}; |
969 | 992 |
|
970 | 993 |
static void qxl_enter_vga_mode(PCIQXLDevice *d) |
Also available in: Unified diff