[Spice-devel] [spice-server v3 00/14] qxl: Move more guest resource release to red-parse-qxl
Christophe Fergeau
cfergeau at redhat.com
Tue Apr 24 10:29:04 UTC 2018
Hey,
Currently, after parsing a QXL command through red-parse-qxl, the code which
got the command has to tell red-parse-qxl when it no longer needs the
command, but also to remember to release the command QXL resources
itself. This series moves this 'release resource' logic to
red-parse-qxl. This also changes all the parsed QXL commands to use
_new/_ref/_unref in order to have a consistent API.
The last 3 patches "qxl: Use QXLCommandExt in external red-parse-qxl.h API",
"qxl: Introduce RedQXLGuestResources" and
"qxl: Improve 'red' and 'qxl' argument name" are mostly RFCs, they can be
dropped from the series with no issues.
Changes since v2:
- switched all QXL command parsing to use _new/_ref/_unref
- added new patches doing this for RedSurfaceCmd
- added patches introducing RedQXLGuestResources and using QXLCommandExt in
red-parse-qxl.h interface
Changes since v1:
- moved renaming patch to the end, and made it much more extensive
- added a new patch unifying identical methods
- reworked 'qxl: Fix guest resources release in red_put_drawable()' so that it's similar to
the cursor changes
Christophe
Christophe Fergeau (14):
qxl: Move red_drawable_unref/red_drawable_new
qxl: Make red_{get,put}_drawable static
qxl: Fix guest resources release in red_put_drawable()
qxl: Add red_cursor_cmd_{new,ref,unref} helpers
qxl: Release QXL resource in red_put_message
qxl: Add red_message_{new,ref,unref} helpers
qxl: Release QXL resources in red_put_update_cmd
qxl: Add red_update_cmd_{new,ref,unref} helpers
qxl: Add red_surface_cmd_{new,ref,unref} helpers
display-channel: Store full RedSurfaceCmd, not just QXLReleaseInfoExt
qxl: Release QXL resources in red_put_surface_cmd
qxl: Improve 'red' and 'qxl' argument names
qxl: Introduce RedQXLGuestResources
qxl: Use QXLCommandExt in external red-parse-qxl.h API
server/cursor-channel.c | 8 +-
server/display-channel-private.h | 7 +-
server/display-channel.c | 21 +-
server/display-channel.h | 2 +-
server/red-parse-qxl.c | 1129 ++++++++++++++++++++++----------------
server/red-parse-qxl.h | 61 +-
server/red-worker.c | 81 +--
server/tests/test-qxl-parsing.c | 73 ++-
8 files changed, 783 insertions(+), 599 deletions(-)
--
2.14.3
More information about the Spice-devel
mailing list