summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-230.0.15: now with xspice!HEADxf86-video-qxl-0.0.15masterAlon Levy1-1/+1
xspice is a new X server that is also a Spice server. See README.xspice for more information. + added configure options to accomodate an extra driver (spiceqxl_drv.so) built alongside existing qxl_drv.so + XSPICE define where the code could not be split easily (qxl_driver.c and qxl.h) - no functional changes to driver. + some small cleanups (still too many warnings)
2011-07-23add missing copyright headersAlon Levy11-2/+248
2011-07-23xspice: fix make distcheckAlon Levy2-0/+11
2011-07-23xspice: add most options existing in qemuAlon Levy5-15/+433
Add (copy from ui/spice-core.c) most of the options from qemu for spice server. Notable exception is per channel port selection, so the only sure way to verify all channels use the secure port (or the normal one) is to not set the port (or not set the secure port). About options: All options are settable either from environment variables called XSPICE_SOMETHING or by a SpiceSomething parameter in the Device section of the xorg configuration file. The xspice wrapper added later makes use of those environment variables and gives a more standard command line parameter interface.
2011-07-23spiceqxl_io_port: s/init_qxl_ram/xspice_init_qxl_ram/Alon Levy3-4/+4
2011-07-23xspice/qxl_driver: fix implicitly defined function warningAlon Levy1-0/+1
2011-07-23xspice: qxl_unmap_memory: stop worker and track worker statusAlon Levy3-0/+12
stop the worker thread and track the status, ignoring io requests (i.e. prevent red_dispatcher writes to red_worker) if red_worker is stopped. This fixes spice red_worker asserts from actions attepted after X has destroyed a screen. X runs in a loop destroying and recreating screens multiple times during the process lifetime, whenever the last X client has exited. Note that the spice server is kept up during a X screen restart. This is on purpose, to avoid a spice-client closing when doing a window manager restart. Cleanup of the spice-server on atexit - still to do.
2011-07-23xspice/qxl_ring: yield when ring is fullAlon Levy1-1/+5
2011-07-23xspice: README, TODO, config, xspice launcher scriptAlon Levy8-2/+393
xspice is placed under scripts, adding a new Makefile.am, only installed if --enable-xspice. spiceqxl.xorg.conf.example is placed under examples to be installed to share/doc if --enable-xspice.
2011-07-22xspice: add inputs (mouse and keyboard)Alon Levy4-0/+388
uses xf86AddInputDriver, xf86PostButtonEvent, xf86PostMotionEvent and xf86PostKeyboardEvent reused xspice_get_spice_server to access the single spice server instance.
2011-07-22xspice: implement ioport_writeAlon Levy1-0/+181
2011-07-22xspice: add init_qxl_ramAlon Levy3-0/+55
2011-07-22xspice: add display interfaceAlon Levy5-0/+358
2011-07-22xspice: init spice server, add main loopAlon Levy5-0/+370
Initialize a SpiceServer instance, and implement SpiceCoreInterface, that is fd read, write notification and watchs (timers). The SpiceServer instance creation is wrapped in xspice_get_spice_server to allow access from the pointer and keyboard drivers introduced later. The fd implementation is off because Xserver doesn't allow us to be notified on write unblock, only read. Workaround is to poll.
2011-07-22xspice: add SpicePort config optionAlon Levy2-0/+6
2011-07-22xspice: implement map_helper, unmap_helper, add init_qxl_romAlon Levy5-0/+179
Memory is taken from malloc instead of from the pci bar. Adds shadow_rom to qxl_screen_t. Introduces init_qxl_rom, which is directly taken from the qxl device in qemu. Plenty of TODO's added in this commit about various constants and about factoring out the code to not do this copy paste from qemu.
2011-07-22xspice: use spiceqxlModuleData as entry pointAlon Levy1-1/+7
2011-07-22xspice: don't load ramdac and vgahw sub modulesAlon Levy1-3/+6
2011-07-22xspice: allocate a single slotAlon Levy1-0/+4
2011-07-22xspice: stop using pci and vgaAlon Levy2-10/+88
This ifdefs out all the parts in qxl_driver.c that are pci device specific and are not required by xspice. No functional change. The resulting spiceqxl_drv.so doesn't run.
2011-07-22xspice: add spiceqxl_io_port, empty implementationAlon Levy4-0/+24
2011-07-22xspice: use spiceqxl as name of xspice driverAlon Levy2-3/+8
Fixes a few places that have hardcoded "qxl" to use the already defined QXL_DRIVER_NAME.
2011-07-22xspice: add configure option and make targetAlon Levy2-0/+55
adds --enable-xspice[=no|yes|only], which builds an spiceqxl_drv.so target, and defines SUPPORT_XSPICE. Fails build if spice-server not found. If you set to only it will not build the qxl driver. This is useful for easier packaging by not creating unpackaged artifacts.
2011-07-22configure.ac: show configure optionsAlon Levy1-0/+12
2011-07-22qxl_driver: introduce helpers for memory map and unmapAlon Levy1-20/+32
qxl_map_memory_helper and qxl_unmap_memory_helper introduced, here as a simple split, later different implementation if XSPICE defined will be added. Nicer then putting an ifdef inside the map/unmap functions.
2011-07-22qxl_driver: add setup_slot helperAlon Levy1-45/+42
used in qxl_reset. Later ifdefed with XSPICE, which only uses a single slot covering all memory (really it should just avoid calling the translation mechanism, but for now this is simple enough).
2011-07-22add config options (empty for now)Alon Levy2-0/+16
2011-07-22partially replace outb with ioport_writeAlon Levy4-9/+15
replace everywhere it is needed for xspice - places left out are ifdefed out later based on the same define mentioned in qxl.h, XSPICE.
2011-07-22qxl_ring: keep qxl pointerAlon Levy3-9/+12
Add a qxl_screen_t* member to qxl_ring to make generelizing outb to ioport_write easier in the next patch. This means we do an extra deref and addition for every outb, but it means the code becomes simpler for doing outb in qxl_drv.so and a function call for spiceqxl_drv.so
2011-07-22qxl: bump spice-protocol to 0.8.1 for RINGs size definesAlon Levy1-1/+1
2011-07-22log git commit if any during loadAlon Levy2-0/+9
2011-07-22configure.ac: remove unused DRIVER_NAMEAlon Levy1-3/+0
2011-07-22qxl_surface: fix unused print_region warningAlon Levy1-3/+5
introduced a define for enableing it, DEBUG_REGIONS.
2011-07-15Revert "use spice-protocol defines for ring sizes"Søren Sandmann Pedersen1-3/+3
This reverts commit 9ee2aa1ccefe1f3fecaf481f38581c9b0f201ef4. Conflicts: src/qxl_driver.c
2011-07-140.0.14Søren Sandmann Pedersen1-1/+1
2011-04-29cleanup (add eol between system and non system includes)pre_xspice_cleanupsAlon Levy1-0/+1
2011-04-29qxl_driver: whitespace fixesAlon Levy1-26/+26
removing whitespace in lines consisting only of it. most of those areas are touched later, but not all.
2011-04-29qxl_driver: fix three incompatible pointer passed warningsAlon Levy1-4/+4
2011-04-29qxl_driver: fix initialization from wrong pointer warningAlon Levy1-1/+1
2011-04-29use spice-protocol defines for ring sizesAlon Levy1-3/+3
2011-04-27qxl.h: move spice include right after system includesAlon Levy1-2/+1
2011-04-27qxl_image.c: fix defined but unused warningAlon Levy1-0/+2
2011-04-27qxl_mem.c: fix pointer arithmatic warning (-Wpointer-arith)Alon Levy1-1/+1
2011-04-27qxl.h: double include protectionAlon Levy1-0/+5
2011-03-20Fix VT switchingSøren Sandmann Pedersen4-3/+34
- Surfaces need to be evacuated before switching VT - The device must be reset - Framebuffer access must be turned off - Pixmaps created while switched away must be created in host memory.
2011-03-19Generate tighter damage for PolyFillRectSøren Sandmann Pedersen1-21/+14
https://bugzilla.redhat.com/show_bug.cgi?id=552000
2011-03-19Tiled upload of images after software fallback.Søren Sandmann Pedersen1-1/+26
Instead of uploading the full software image in one go, upload it in 512x512 tiles to avoid having to find huge huge blocks of memory and potentially running out.
2011-03-19Don't re-upload read-only surfaces after a software fallback.Søren Sandmann Pedersen1-14/+24
Surfaces that were used in a read-only way don't need to be uploaded again since they didn't change. This is a particularly important optimization for Composite since sources and masks there don't have tight damage tracking regions.
2011-02-14s/qxl_ram_header/QXLRam/Alon Levy3-37/+15
2011-02-14use structs from spice-protocol qxl_dev.hAlon Levy5-520/+93
A bunch of renames and just plain removal (where the struct was never used): * s/qxl_cursor_cmd/QXLCursorCmd/ * s/qxl_mode/QXLMode/ * s/qxl_command/QXLCommand/ * remove qxl_command_ext * s/qxl_rect/QXLRect/ * s/qxl_release_info/QXLReleaseInfo/ * remove QXLReleaseInfo_ext (prev qxl_release_info_ext) * s/qxl_clip/QXLClip/ * s/qxl_point/QXLPoint/ * s/qxl_pattern/QXLPattern/ * s/qxl_point16/QXLPoint16/ * s/qxl_brush/QXLBrush/ * s/qxl_mask/QXLQMask/ * s/QXL_BRUSH/SPICE_BRUSH/ * s/QXL_IMAGE/SPICE_IMAGE/ * s/qxl_image_descriptor/QXLImageDescriptor/ * s/qxl_data_chunk/QXLDataChunk/ * s/qxl_bitmap_format/SpiceBitmapFmt/ * s/qxl_bitmap/QXLBitmap/ * s/qxl_image/QXLImage/ * s/qxl_fill/QXLFill/ * s/qxl_opaque/QXLOpaque/ * s/qxl_copy/QXLCopy/ * s/qxl_transparent/QXLTransparent/ * s/qxl_alpha_blend/QXLAlphaBlend/ * s/qxl_copy_bits/QXLCopyBits/ * s/qxl_blend/QXLBlend/ * s/qxl_rop3/QXLRop3/ * s/qxl_line_attr/QXLLineAttr/ * s/qxl_stroke/QXLStroke/ * s/qxl_text/QXLText/ * use QXLBlackness,QXLInvers (typo needs fixing later), QXLWhiteness * s/QXL_CLIP_TYPE/SPICE_CLIP_TYPE/ * s/qxl_compat_drawable/QXLCompatDrawable/ * s/qxl_drawable/QXLDrawable/ * s/qxl_surface_cmd/QXLSurfaceCmd/ * remove qxl_compat_update_cmd * remove qxl_update_cmd * remove QXL_CURSOR_DEVICE_DATA_SIZE * s/CURSOR_TYPE/SPICE_CURSOR_TYPE/ * s/qxl_cursor/QXLCursor/ * s/qxl_rom/QXLRom/ * remove QXL_SURF_TYPE_PRIMARY * s/qxl_surface_create/QXLSurfaceCreate/