1. 10 Aug, 2016 1 commit
  2. 09 Aug, 2016 1 commit
  3. 30 Jul, 2016 1 commit
    • Michel Dänzer's avatar
      present: Handle event mask updates as specified v2 · c833c086
      Michel Dänzer authored
      From the Present extension specification:
      
       An event context is associated with a specific window; using
       an existing event context with a different window generates
       a Match error.
      
       If eventContext specifies an existing event context, then if
       eventMask is empty, PresentSelectInput deletes the specified
       context, otherwise the specified event context is changed to
       select a different set of events.
      
       If eventContext is an unused XID, then if eventMask is empty
       no operation is performed. Otherwise, a new event context is
       created selecting the specified events.
      
      Without this change, there's no way for a client to explicitly change
      or destroy an existing event mask entry. Trying to do so as specified
      above would just result in a protocol error.
      
      v2: (Keith Packard)
      * Use dixLookupResourceByType instead of walking window_priv->events
      * Return BadMatch if the existing event context is associated with a
        different window or client
      * Call LEGAL_NEW_RESOURCE again when creating a new event context
      * Drop invalid "leak fix"
      Signed-off-by: Michel Dänzer's avatarMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      c833c086
  4. 28 Jul, 2016 3 commits
    • Michel Dänzer's avatar
      present: Only call restore_screen_pixmap once from set_abort_flip · 0924ac01
      Michel Dänzer authored
      present_restore_screen_pixmap's work doesn't need to be done several
      times for the same pending flip.
      
      Fixes a crash if the X server quits while a flip is pending, in which
      case present_set_abort_flip may be called several times, including when
      screen->root is already cleared to NULL.
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      0924ac01
    • Michel Dänzer's avatar
      xfree86: Hook up colormaps and RandR 1.2 gamma code v6 · b4e46c04
      Michel Dänzer authored
      Instead of breaking the former when the driver supports the latter,
      hook them up so that the hardware LUTs reflect the combination of the
      current colourmap and gamma states. I.e. combine the colourmap, the
      global gamma value/ramp and the RandR 1.2 per-CRTC gamma ramps into one
      combined LUT per CRTC.
      
      Fixes e.g. gamma sliders not working in games.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27222
      
      v2:
      * Initialize palette_size and palette struct members, fixes crash on
        server startup.
      v3:
      * Free randrp->palette in xf86RandR12CloseScreen, fixes memory leak.
      v4:
      * Call CMapUnwrapScreen if xf86RandR12InitGamma fails (Emil Velikov).
      * Still allow xf86HandleColormaps to be called with a NULL loadPalette
        parameter in the xf86_crtc_supports_gamma case.
      v5:
      * Clean up inner loops in xf86RandR12CrtcComputeGamma (Keith Packard)
      * Move palette update out of per-CRTC loop in xf86RandR12LoadPalette
        (Keith Packard)
      v6:
      * Handle reallocarray failure in xf86RandR12LoadPalette (Keith Packard)
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      b4e46c04
    • Michel Dänzer's avatar
      xfree86/modes: Remove xf86RandR12CrtcGetGamma · 17213b74
      Michel Dänzer authored
      This would normally return the same values the core RandR code passed to
      xf86RandR12CrtcSetGamma before, which is rather pointless. The only
      possible exception would be if a driver tried initializing
      crtc->gamma_red/green/blue to reflect the hardware LUT state on startup,
      but that can't work correctly if whatever set the LUT before the server
      started was running at a different depth.
      
      Even the pointless round-trip case will no longer work with the
      following change.
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      17213b74
  5. 27 Jul, 2016 1 commit
  6. 21 Jul, 2016 11 commits
  7. 19 Jul, 2016 3 commits
  8. 18 Jul, 2016 19 commits