[PATCH RFC 00/12] Remote Virgl support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch is an improve to last one. There are still many work
to be done. The main reason I'm posting is to discuss the Qemu
API changes ("Define a new interface for Qemu to pass texture"
patch). This code add dependency to EGL directly.

The main idea is still extracting raw data and passing to the
normal flow (display_channel_process_draw).

Changes from last version:
- this set supports all cards using a different protocol from Qemu
  that now can pass EGL information (display and context) and
  texture directly. This allows spice-server to choose dma buffers
  or just GL data;
- the patch set is much neat.

Multiple clients are still not supported (but actually is not a
regression).

Looks like the queue is reduced automatically by drawable code
in spice-server so new frames replace old ones if network or
streaming code is not fast enough.

If you expect similar performance to the video I posted days
ago you will be disappointed. These video were done with
lot of tweak in the streaming code (both server and client).
I decided to avoid patches for stream code as they are quite
in a bad shape.

Frediano Ziglio (12):
  Define a new interface for Qemu to pass texture
  Add libepoxy to dependency
  Implements spice_qxl_gl_init
  Save and allow to retrieve texture information in Qxl
  Import function to get dma buffer from a texture
  Add get_texture_raw_data to extract raw data from a texture
  Implements spice_qxl_gl_scanout_texture
  Check client is using unix sockets in dcc_gl_draw_item_new
  Do not disconnect client if not connected locally in
    dcc_gl_scanout_item_new
  Add get_dummy_drawable
  Handle remote 3d connections
  Fix a bug... why this happens ??

 configure.ac             |   4 ++
 server/Makefile.am       |   4 ++
 server/dcc.c             |  14 +++---
 server/display-channel.c |  97 +++++++++++++++++++++++++++++++++++--
 server/display-channel.h |   4 +-
 server/egl.c             | 123 +++++++++++++++++++++++++++++++++++++++++++++++
 server/egl.h             |  29 +++++++++++
 server/red-qxl.c         | 110 ++++++++++++++++++++++++++++++++++++++++--
 server/red-qxl.h         |  11 +++++
 server/red-worker.c      |   6 ++-
 server/spice-qxl.h       |   8 +++
 server/spice-server.syms |   6 +++
 server/tests/Makefile.am |   2 +
 13 files changed, 399 insertions(+), 19 deletions(-)
 create mode 100644 server/egl.c
 create mode 100644 server/egl.h

-- 
2.7.4

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]