summaryrefslogtreecommitdiffstats
path: root/server/red_worker.c
Commit message (Collapse)AuthorAgeFilesLines
* server: fix red_current_flush to flush only the surface that was given as ↵Yonit Halperin2010-08-301-1/+3
| | | | | | | | | | parameter A side effect of the previous red_current_flush, which flushed all the surfaces, and was called on a new display channel connection, was that red_handle_drawable_surfaces_client_synced sent the most updated surfaces images when needed. However, now, it should explicitly call red_current_flush. Moreover, since red_current_flush was called on a new display channel connection only if there was a primary surface, if the connection of the display channel occurred at the moment of no primary surface, red_handle_drawable_surfaces_client_synced was buggy.
* server: cleanups in destorying surfaces codeYonit Halperin2010-08-301-29/+22
|
* server: really wait for a surface to be destroyed, when calling ↵Yonit Halperin2010-08-301-9/+75
| | | | | | | destroy_surface_wait Waiting till all the pipe items that are dependent on the surface will be sent. This was probably the cause for freedesktop bug #29750.
* server: consider also PIPE_ITEM_UPGRADE when searching for drawables in ↵Yonit Halperin2010-08-301-17/+19
| | | | red_clear_surface_drawables_from_pipe
* server: red_send_image() - append image data to right marshallerAlexander Larsson2010-08-271-1/+2
| | | | | | The actual bitmap data was added to the main marshaller rather than the submarshaller that pointed to the SpiceImage part. This made us send too short messages failing demarshalling in the client.
* server: red_send_image() initialize bitmap.flagsAlexander Larsson2010-08-271-0/+1
| | | | We're currently sending this to the network based on random memory.
* zap more unused bits.Gerd Hoffmann2010-08-271-14/+0
| | | | | BufDescriptor isn't used at all. Two AddBufInfo fields (slot_id and group_id) are not used any more.
* fix red_cursur_flush segfaultGerd Hoffmann2010-08-261-1/+3
|
* zap dead typedefsGerd Hoffmann2010-08-261-5/+0
|
* zap dead qxl chunk codeGerd Hoffmann2010-08-261-29/+0
|
* qxl parser: add cursor parsingGerd Hoffmann2010-08-261-45/+14
|
* qxl parser: complete QXL_SURFACE_CMD_CREATE parsingGerd Hoffmann2010-08-261-2/+1
|
* server: clean glz drawables when reseting qxlYonit Halperin2010-08-251-0/+3
| | | | | | When the we reset qxl, we destroy all srufaces. Since surfaces and glz drawables are no longer dependent, we need to call red_display_clear_glz_drawables explicitly in order to clear all our drawables references in the server.
* server: Add missing break in switch caseAlexander Larsson2010-08-251-0/+1
|
* server: remove the no longer used glz drawables list that was maintained for ↵Yonit Halperin2010-08-241-8/+0
| | | | each surface.
* server: remove unnecessary dependency between surfaces and Glz drawablesYonit Halperin2010-08-241-26/+4
| | | | Fixes freedesktop bug #28568
* Fix mismerge in last commitAlexander Larsson2010-08-231-1/+0
|
* Remove USE_EXCLUDE_RGN define and !USE_EXCLUDE_RGN codeAlexander Larsson2010-08-231-167/+0
|
* Remove STREAM_TRACE define and !STREAM_TRACE codeAlexander Larsson2010-08-231-206/+1
|
* Limiting video streaming to the primary surface. freedesktop bug #28088.Yonit Halperin2010-08-231-7/+40
|
* server: Properly order rgb for 24bit bitmaps when sending to libjpegAlexander Larsson2010-07-201-2/+8
| | | | | SPICE_BITMAP_FMT_24BIT order is bgr, libjpeg wants rgb. This fixes freedesktop bug #28089
* Don't send padding over the network with video dataAlexander Larsson2010-07-201-5/+2
|
* server: enabling/disabling jpeg and zlib-over-glz via spice command line argsYonit Halperin2010-07-141-3/+24
|
* red_glz_compress_image: lines isn't needed any moreGerd Hoffmann2010-07-131-2/+1
|
* Don't marshall bitmap data as pointer, instead send inlineAlexander Larsson2010-07-091-18/+12
|
* Use the right enum types for bitmap_data.type comparisonsAlexander Larsson2010-07-091-2/+2
|
* Fix various misspellingsAlexander Larsson2010-07-081-42/+42
| | | | | | | | | | | | | letancy -> latency compund -> compound SpicedSubMessage -> SpiceSubMessage modifaiers -> modifiers massage -> message outgoiong -> outgoing AlphaBlnd -> AlphaBlend remoth -> remote modifires -> modifiers secore -> secure
* Handle the new QXLCursorHeader typeAlexander Larsson2010-07-081-3/+13
|
* Properly parse QXLLineAttrs.styleAlexander Larsson2010-07-081-31/+2
|
* server: add missing ifdef USE_OGL (red_worker.c)Uri Lublin2010-07-081-0/+2
|
* Properly parse QXLImage to the new-world SpiceImageGerd Hoffmann2010-07-071-893/+351
| | | | | SpiceImage now replaces RedImage and has all image types in it. All image data are now chunked (and as such not copied when demarshalling).
* Convert SpicePath.segments to a pointer arrayAlexander Larsson2010-07-051-4/+3
|
* Properly parse and marshall SpiceStringGerd Hoffmann2010-07-021-66/+0
|
* Update for the SpicePath.segments type changeAlexander Larsson2010-07-011-2/+2
|
* fix for not clearing the cursor ring when the primary surface is destroyedYonit Halperin2010-07-011-14/+71
| | | | fixes a crash in qxl_soft_reset
* Simplify SpiceLineAttr by removing unsed stuffAlexander Larsson2010-06-301-3/+2
| | | | Also in new protocol don't send style data if not needed.
* Automatically marshall SpiceClipRectsAlexander Larsson2010-06-301-53/+38
|
* Automatically marshall SpicePathAlexander Larsson2010-06-301-3/+0
|
* Store SpicePath segment count rather than sizeAlexander Larsson2010-06-301-16/+23
| | | | | | | | | | | | | | | | | | | Internally and in the network protocol (for the new version) we now store the actual number of segments rather than the size of the full segments array in bytes. This change consists of multiple changes to handle this: * Make the qxl parser calculate num_segments * Make the canvas stroke code handle the new SpicePath layout. * Fix up is_equal_path in red_worker.c for the new layout * replace multiple calls to spice_marshall_PathSegment with a single spice_marshall_Path call * Make the byte_size() array size handling do the conversion from network size to number of elements when marshalling/demarshalling. * Update the current spice protocol to send the segment count rather than the size * Update the old spice protocol to use the new byte_size functionallity to calculate the size sent and the number of elements recieved
* qxl-abi: handle clip rect and path references.Gerd Hoffmann2010-06-301-271/+33
| | | | | | | | | | | | red_parse_qxl.c starts to follow QXLPHYSICAL references and build up data structures. Can zap a bunch of get_virt calls in red_worker.c, followed by cleanups. (de-) marshaller needs updates to deal with that. Also I suspect with the get_virt() calls being gone we can offload more work to generated marshaller code. client doesn't build.
* server: Don't call opengl if not enabledAlexander Larsson2010-06-291-0/+4
| | | | | If USE_OGL is not defined, really don't call or link in the opengl backend.
* remove unnecessary send of SPICE_MSG_DISPLAY_RESETYonit Halperin2010-06-291-3/+0
| | | | | | | when SPICE_MSG_DISPLAY_RESET was sent, SPICE_MSG_DISPLAY_SURFACE_DESTROY had already been sent for all surfaces. It also caused a client crash since DisplayChannel::handle_reset assumes that screen exists.
* qxl abi: parse QXLCursorCmd.Gerd Hoffmann2010-06-291-22/+24
|
* qxl abi: parse QXLSurfaceCmd.Gerd Hoffmann2010-06-291-10/+13
|
* qxl abi: parse QXLMessage.Gerd Hoffmann2010-06-291-4/+10
|
* qxl abi: parse QXLUpdateCmd.Gerd Hoffmann2010-06-291-9/+9
|
* qxl abi: parse QXLCopy + QXLBlend.Gerd Hoffmann2010-06-291-3/+3
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLOpaque.Gerd Hoffmann2010-06-291-1/+1
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLFill.Gerd Hoffmann2010-06-291-1/+1
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLCompatDrawable.Gerd Hoffmann2010-06-291-2/+7
|