Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XPresentPixmap(3)	    Library Functions Manual	       XPresentPixmap(3)

NAME
     XPresentPixmap - provide pixmap for presentation as window contents

SYNTAX
     #include <X11/extensions/Xpresent.h>

     void XPresentPixmap (Display *display,
	  Window window,
	  Pixmap pixmap,
	  uint32_t serial,
	  XserverRegion valid,
	  XserverRegion update,
	  int x_off,
	  int y_off,
	  RRCrtc target_crtc,
	  XSyncFence wait_fence,
	  XSyncFence idle_fence,
	  uint32_t options,
	  uint64_t target_msc,
	  uint64_t divisor,
	  uint64_t remainder,
	  XPresentNotify *notifies,
	  int nnotifies);

DESCRIPTION
     XPresentPixmap  provides  new  content  for  the specified window, on the X
     server specified by display, to be made visible at the specified time  (de-
     fined  by	target-msc,  divisor  and remainder). If the depth of pixmap and
     window do not match, a Match error will be generated.

     serial is an arbitrary client-specified value which will be returned in the
     associated PresentCompleteNotify event so that the client can associate the
     event and request.

     valid-area defines the portion of pixmap which contains valid  window  con-
     tents, or None if the pixmap contains valid contents for the whole window.

     update-area  defines the subset of the window to be updated, or None if the
     whole window is to be updated.

     XPresentPixmap may use any region of pixmap which contains update-area  and
     which  is contained by valid-area. In other words, areas inside update-area
     will be presented from pixmap, areas outside valid-area will  not	be  pre-
     sented  from pixmap and areas inside valid-area but outside update-area may
     or may not be presented at the discretion of the X server.

     x-off and y-off define the location in the window where the 0,0 location of
     the pixmap will be presented.  valid-area and update-area are  relative  to
     the pixmap.

     wait-fence and idle-fence are fences from the XSync extension, which may be
     created with XSyncCreateFence().

     The  X  server will block the presentation action until wait-fence is trig-
     gered, but the XPresentPixmap function returns immediately.

     When the X server has finished using pixmap for  this  operation,	it  will
     send  a  PresentIdleNotify event and arrange for any idle-fence to be trig-
     gered. This may be at any time following the PresentPixmap request  --  the
     contents  may  be immediately copied to another buffer, copied just in time
     for the vblank interrupt or the pixmap may be used directly for display (in
     which case it will be busy until some future PresentPixmap operation).

     If idle-fence is not None, then the client guarantees to the X server  that
     it  will  wait  for  that	fence  to be signalled before it uses the pixmap
     again. If idle-fence is None, then the X server must arrange for the pixmap
     to be re-usable by the client as soon as the  PresentIdleNotify  event  has
     been  received.  Note that if PresentCapabilityFence is set for the associ-
     ated CRTC, then clients should use fences to improve overall system perfor-
     mance. If PresentCapabilityFence is not set, then using  fences  offers  no
     benefit, but also no cost.

     If  target-msc is greater than the current msc for window, the presentation
     will occur at (or after) the target-msc field. Otherwise, the  presentation
     will occur after the next field where msc % divisor == remainder.

     If  target-crtc  is None, then the X server will choose a suitable CRTC for
     synchronization.

     If options contains PresentOptionAsync, and the target-msc is less than  or
     equal to the current Media Stream Counter (msc) for window, then the opera-
     tion will be performed as soon as possible, not necessarily waiting for the
     next vertical blank interval.

     If  options contains PresentOptionCopy, then pixmap will be idle, and idle-
     fence triggered as soon as the operation occurs.  If options contains  Pre-
     sentOptionUST,  then  target-msc, divisor, and remainder will all be inter-
     preted as UST values instead of MSC values and the  frame	update	will  be
     scheduled	for the specified UST time, If the target-crtc supports Present-
     CapabilityUST, then the swap time will be as close to the	target	time  as
     the  driver can manage. Otherwise, the server will take the target UST time
     and convert it to a suitable target MSC value.

     If options contains PresentOptionSuboptimal, then the PresentCompleteNotify
     event can have mode PresentCompleteModeSuboptimalCopy as  the  client  sup-
     ports it.

     After the presentation occurs, a PresentCompleteNotify event with kind Pre-
     sentCompleteKindPixmap  will  be  generated,  both to window as well as all
     members of notifies.  notifies is specified as an array  of  XPresentNotify
     structures with nnotifies members in the array.

     If  window  is destroyed before the presentation occurs, then the presenta-
     tion action will not be completed.

     The X server holds a reference to pixmap until the presentation occurs,  so
     pixmap may be immediately freed after the request executes, even if that is
     before the presentation occurs.

     If  idle-fence is destroyed before the presentation occurs, then idle-fence
     will not be signaled but the presentation will occur normally.

     If wait-fence is destroyed before it becomes triggered, then the  presenta-
     tion  operation  will  no	longer wait for it and will occur when the other
     conditions are satisfied.

SEE ALSO
     Xpresent(3), XPresentNotifyMSC(3), XPresentQueryCapabilities(3), XPresentS-
     electInput(3)

AUTHORS
     Keith Packard, Intel

X Version 11			libXpresent 1.0.1	       XPresentPixmap(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XPresentPixmap&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help