Compare commits

...

70 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult 30fa596a30 randr: unexport and document RRTransformCopy()
Not used by any external drivers, so no neeed to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 16bd661dc3 randr: unexport and document RRTransformSetFilter()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult d20fb67a3d randr: unexport and document RRTransformEqual()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult d2ad808ded randr: unexport and document RRTransformInit()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult a8ce18143b randr: unexport and document RRXineramaExtensionInit()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult d45056e50b randr: unexport and document RRQueryOutputProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 3bae686683 randr: unexport and document RRGetOutputProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 9f5693973c randr: unexport resource type IDs
Not used by any external drivers, so no need to keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 26f0855f94 randr: unexport and document RRConfigureProviderProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult fc1f790598 randr: unexport and document RRChangeProviderProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 43e66b7bae randr: unexport and document RRDeleteProviderProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 7c4c0d98b2 randr: unexport and document RRQueryProviderProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 68dba9094a randr: unexport and document RRGetProviderProperty()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 4fe7f0ec40 randr: unexport and document RRProviderAutoConfigGpuScreen()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult a34abaf8c4 randr: unexport and document RRDeliverProviderEvent()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult b858c37315 randr: unexport and document RRProviderDestroy()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 90bd957157 randr: unexport and document RRProviderSetCapabilities()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult bde48e7df2 randr: unexport and document RRProviderCreate()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 5b5f090b38 randr: unexport and document RRProviderInitErrorValue()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 6f42b3bf2e randr: unexport and document RRProviderInit()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 9824454bbd randr: unexport and document RRDeleteAllOutputProperties()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 76b2ffd567 randr: unexport and document RRPointerScreenConfigured()
Not usde by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult d1c400f83e randr: unexport and document RROutputInitErrorValue()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 83953d87fc randr: unexport and document RROutputInit()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 0113a423e3 randr: unexport and document RRDeliverOutputEvent()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult f45bec1550 randr: unexport and document RROutputSetSubpixelOrder()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult feea24f2bc randr: unexport and document RROutputDeleteUserMode()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 670dce82c9 randr: unexport and document RROutputAddUserMode()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 89a4eaad73 randr: unexport and document RRModeInitErrorValue()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 6649392662 randr: unexport and document RRModeInit()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 21b0a81e82 randr: unexport and document RRModesForScreen()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 24cf645e3e randr: unexport and document RROutputIsLeased()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 306c136563 randr: unexport and document RRCrtcIsLeased()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 68e946afb0 randr: unexport and document RRLeaseFree()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 57c19389c0 randr: unexport and document RRLeaseTerminated()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 0c6d8e1227 randr: unexport and document RRClientKnowsRates()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult d73997dd23 randr: unexport and document RRHasScanoutPixmap()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 5eaa31020b randr: unexport and document RRReplaceScanoutPixmap()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult b1edfdc57a randr: unexport and document RRCrtcDetachScanoutPixmap()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 6d56c0c5cd randr: unexport and document RRCrtcInitErrorValue()
Not supposed to be called by drivers, just internal to the randr extsnsion,
so shouldn't have been exported in the first place.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 7db0e6796c randr: unexport and document RRCrtcInit()
Not supposed to be called by any driver, just internal to the extension,
so shouldn't have been exported in the first place.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult bf242cf605 randr: unexport and document RRCrtcDestroy()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 04a4562508 randr: unexport and document RRCrtcGetTransform()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 64e02013c4 randr: unexport and document RRCrtcGetScanoutSize()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 739cd6ec03 randr: unexport and document RRDeliverCrtcEvent()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 7d47d48bda randr: unexport and document RRCrtcSetTransformSupport()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:55 +02:00
Enrico Weigelt, metux IT consult 6485f1cab6 randr: unexport and document RRCrtcExists()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 12:28:52 +02:00
Enrico Weigelt, metux IT consult 59cdfcc375 randr: unexport and document RRVerticalRefresh()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:55:25 +02:00
Enrico Weigelt, metux IT consult 6fba494ec0 randr: unexport and document RROutputSetNonDesktop()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:55:21 +02:00
Enrico Weigelt, metux IT consult d51688448b randr: unexport and document RRFirstEnabledCrtc()
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:55:16 +02:00
Enrico Weigelt, metux IT consult 27746d6b8b randr: unexport and document RRInit()
Not called, and should not be called, by drivers, so no need to
keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:55:04 +02:00
Enrico Weigelt, metux IT consult f768720b9d randr: unexport and document RRResourcesChanged()
Not used by external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:54:59 +02:00
Enrico Weigelt, metux IT consult 120382506b randr: unexport and document RRDeliverScreenEvent()
Not used by external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult fe220534d6 randr: move remaining dispatch prototypes to rrdispatch.h
Since we now have a separate header for them, move them all over to there.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 2aa80dd31e randr: unexport provider related request handlers
Those aren't used by any drivers and never should so, thus no need to
keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 70e4bd8111 randr: unexport output related request handlers
Those aren't used by any drivers and never should so, thus no need to
keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 4e6cc3073c randr: unexport mode related request handlers
Those aren't used by any drivers and never should so, thus no need to
keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 2671931960 randr: unexport crtc related request handlers
Those aren't used by any drivers and never should so, thus no need to
keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 2579bf6ec0 randr: unexport screen related request handlers
Those aren't used by any drivers and never should so, thus no need to
keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult b6e5e1167d randr: make RRCrtcTransformSet() static
Only used locally inside rrcrtc.c, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult c91600ae9b randr: make RRCrtcPendingTransform() static
only used locally inside rrcrtc.c, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult dc77156e84 randr: make RRCrtcGammaGet() static
Only used locally inside rrcrtc.c, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 49048ceb5c randr: make RRCrtcChanged() static
Only used locally inside rrcrtc.c, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult d3cfc67a6d randr: drop obsolete RRTransformFini()
Not used anywhere, so no need to keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 2dee9fb854 randr: drop obsolete RRPostProviderPendingProperties()
Not used anywhere, so no need to keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 9e2d82412d randr: drop obsolete RRDeleteAllProviderProperties()
Not used by anybody, so no need to keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult be0a65e848 randr: drop obsolete RRProviderLookup()
Not used anywhere, so no need to keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:43 +02:00
Enrico Weigelt, metux IT consult 0a839a18f9 randr: drop unused RRPointerMoved()
Not used anywhere, so no need to keep it any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:42 +02:00
Enrico Weigelt, metux IT consult 9bc4a0af89 randr: drop unused dummy RRCrtcGammaNotify()
Not called by anybody and been just a dummy for quite a while,
so no need to keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:42 +02:00
Enrico Weigelt, metux IT consult 4315cce063 randr: drop obsolete RRGetRotation()
Not used anymore, so no need to keep it around anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-19 11:45:42 +02:00
27 changed files with 554 additions and 571 deletions

View File

@ -59,6 +59,7 @@
#include "os/cmdline.h" #include "os/cmdline.h"
#include "os/ddx_priv.h" #include "os/ddx_priv.h"
#include "os/osdep.h" #include "os/osdep.h"
#include "randr/randrstr_priv.h"
#include "servermd.h" #include "servermd.h"
#include "windowstr.h" #include "windowstr.h"
@ -82,7 +83,6 @@
#include "xf86InPriv.h" #include "xf86InPriv.h"
#include "xf86Crtc.h" #include "xf86Crtc.h"
#include "picturestr.h" #include "picturestr.h"
#include "randrstr.h"
#include "xf86Bus.h" #include "xf86Bus.h"
#ifdef XSERVER_LIBPCIACCESS #ifdef XSERVER_LIBPCIACCESS
#include "xf86VGAarbiter.h" #include "xf86VGAarbiter.h"

View File

@ -39,6 +39,7 @@
#include "config/hotplug_priv.h" #include "config/hotplug_priv.h"
#include "dix/screenint_priv.h" #include "dix/screenint_priv.h"
#include "randr/randrstr_priv.h"
#include "os.h" #include "os.h"
#include "systemd-logind.h" #include "systemd-logind.h"
@ -55,7 +56,6 @@
#include "xf86Config.h" #include "xf86Config.h"
#include "xf86Crtc.h" #include "xf86Crtc.h"
#include "randrstr.h"
int platformSlotClaimed; int platformSlotClaimed;
int xf86_num_platform_devices; int xf86_num_platform_devices;

View File

@ -29,6 +29,8 @@
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include "randr/randrstr_priv.h"
#include "xf86.h" #include "xf86.h"
#include "xf86DDC_priv.h" #include "xf86DDC_priv.h"
#include "xf86Crtc.h" #include "xf86Crtc.h"

View File

@ -7,6 +7,7 @@
#include <X11/X.h> #include <X11/X.h>
#include "dix/colormap_priv.h" #include "dix/colormap_priv.h"
#include "randr/randrstr_priv.h"
#include "misc.h" #include "misc.h"
#include "xf86.h" #include "xf86.h"
@ -18,7 +19,6 @@
#include "cursorstr.h" #include "cursorstr.h"
#include "mi.h" #include "mi.h"
#include "mipointer.h" #include "mipointer.h"
#include "randrstr.h"
#include "xf86CursorPriv.h" #include "xf86CursorPriv.h"
#include "servermd.h" #include "servermd.h"

View File

@ -27,13 +27,13 @@
#include <xwayland-config.h> #include <xwayland-config.h>
#include "os/client_priv.h" #include "os/client_priv.h"
#include "randr/randrstr_priv.h"
#ifdef WITH_LIBDRM #ifdef WITH_LIBDRM
#include <xf86drm.h> #include <xf86drm.h>
#include <xf86drmMode.h> #include <xf86drmMode.h>
#endif #endif
#include "randrstr_priv.h"
#include "xwayland-drm-lease.h" #include "xwayland-drm-lease.h"
#include "xwayland-screen.h" #include "xwayland-screen.h"
#include "xwayland-output.h" #include "xwayland-output.h"

View File

@ -35,6 +35,8 @@
#endif #endif
#include "win.h" #include "win.h"
#include "randr/randrstr_priv.h"
/* /*
* Answer queries about the RandR features supported. * Answer queries about the RandR features supported.
*/ */

View File

@ -21,6 +21,8 @@
*/ */
#include <dix-config.h> #include <dix-config.h>
#include "randr/randrstr_priv.h"
#include "present_priv.h" #include "present_priv.h"
#include <gcstruct.h> #include <gcstruct.h>

View File

@ -21,6 +21,8 @@
*/ */
#include <dix-config.h> #include <dix-config.h>
#include "randr/randrstr_priv.h"
#include "present_priv.h" #include "present_priv.h"
#include <misync.h> #include <misync.h>
#include <misyncstr.h> #include <misyncstr.h>

View File

@ -28,8 +28,9 @@
#include <dix-config.h> #include <dix-config.h>
#include "randrstr_priv.h"
#include "extinit_priv.h" #include "extinit_priv.h"
#include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
/* From render.h */ /* From render.h */
#ifndef SubPixelUnknown #ifndef SubPixelUnknown

View File

@ -462,8 +462,6 @@ typedef struct _RRClient {
/* RRTimesRec times[0]; */ /* RRTimesRec times[0]; */
} RRClientRec, *RRClientPtr; } RRClientRec, *RRClientPtr;
extern _X_EXPORT RESTYPE RRCrtcType, RRModeType, RROutputType, RRProviderType, RRLeaseType;
#ifdef RANDR_12_INTERFACE #ifdef RANDR_12_INTERFACE
/* /*
* Set the range of sizes for the screen * Set the range of sizes for the screen
@ -498,36 +496,6 @@ RRScreenSizeSet(ScreenPtr pScreen,
extern _X_EXPORT void extern _X_EXPORT void
RRSendConfigNotify(ScreenPtr pScreen); RRSendConfigNotify(ScreenPtr pScreen);
/*
* screen dispatch
*/
extern _X_EXPORT int
ProcRRGetScreenSizeRange(ClientPtr client);
extern _X_EXPORT int
ProcRRSetScreenSize(ClientPtr client);
extern _X_EXPORT int
ProcRRGetScreenResources(ClientPtr client);
extern _X_EXPORT int
ProcRRGetScreenResourcesCurrent(ClientPtr client);
extern _X_EXPORT int
ProcRRSetScreenConfig(ClientPtr client);
extern _X_EXPORT int
ProcRRGetScreenInfo(ClientPtr client);
/*
* Deliver a ScreenNotify event
*/
extern _X_EXPORT void
RRDeliverScreenEvent(ClientPtr client, WindowPtr pWin, ScreenPtr pScreen);
extern _X_EXPORT void
RRResourcesChanged(ScreenPtr pScreen);
/* randr.c */ /* randr.c */
/* set a screen change on the primary screen */ /* set a screen change on the primary screen */
extern _X_EXPORT void extern _X_EXPORT void
@ -545,19 +513,10 @@ extern _X_EXPORT void
extern _X_EXPORT Bool extern _X_EXPORT Bool
RRGetInfo(ScreenPtr pScreen, Bool force_query); RRGetInfo(ScreenPtr pScreen, Bool force_query);
extern _X_EXPORT Bool RRInit(void);
extern _X_EXPORT Bool RRScreenInit(ScreenPtr pScreen); extern _X_EXPORT Bool RRScreenInit(ScreenPtr pScreen);
extern _X_EXPORT RROutputPtr RRFirstOutput(ScreenPtr pScreen); extern _X_EXPORT RROutputPtr RRFirstOutput(ScreenPtr pScreen);
extern _X_EXPORT RRCrtcPtr RRFirstEnabledCrtc(ScreenPtr pScreen);
extern _X_EXPORT Bool RROutputSetNonDesktop(RROutputPtr output, Bool non_desktop);
extern _X_EXPORT CARD16
RRVerticalRefresh(xRRModeInfo * mode);
#ifdef RANDR_10_INTERFACE #ifdef RANDR_10_INTERFACE
/* /*
* This is the old interface, deprecated but left * This is the old interface, deprecated but left
@ -584,41 +543,21 @@ extern _X_EXPORT void
RRSetCurrentConfig(ScreenPtr pScreen, RRSetCurrentConfig(ScreenPtr pScreen,
Rotation rotation, int rate, RRScreenSizePtr pSize); Rotation rotation, int rate, RRScreenSizePtr pSize);
extern _X_EXPORT Rotation RRGetRotation(ScreenPtr pScreen);
#endif #endif
/* rrcrtc.c */ /* rrcrtc.c */
/*
* Notify the CRTC of some change; layoutChanged indicates that
* some position or size element changed
*/
extern _X_EXPORT void
RRCrtcChanged(RRCrtcPtr crtc, Bool layoutChanged);
/* /*
* Create a CRTC * Create a CRTC
*/ */
extern _X_EXPORT RRCrtcPtr RRCrtcCreate(ScreenPtr pScreen, void *devPrivate); extern _X_EXPORT RRCrtcPtr RRCrtcCreate(ScreenPtr pScreen, void *devPrivate);
/*
* Tests if findCrtc belongs to pScreen or secondary screens
*/
extern _X_EXPORT Bool RRCrtcExists(ScreenPtr pScreen, RRCrtcPtr findCrtc);
/* /*
* Set the allowed rotations on a CRTC * Set the allowed rotations on a CRTC
*/ */
extern _X_EXPORT void extern _X_EXPORT void
RRCrtcSetRotations(RRCrtcPtr crtc, Rotation rotations); RRCrtcSetRotations(RRCrtcPtr crtc, Rotation rotations);
/*
* Set whether transforms are allowed on a CRTC
*/
extern _X_EXPORT void
RRCrtcSetTransformSupport(RRCrtcPtr crtc, Bool transforms);
/* /*
* Notify the extension that the Crtc has been reconfigured, * Notify the extension that the Crtc has been reconfigured,
* the driver calls this whenever it has updated the mode * the driver calls this whenever it has updated the mode
@ -631,9 +570,6 @@ RRCrtcNotify(RRCrtcPtr crtc,
Rotation rotation, Rotation rotation,
RRTransformPtr transform, int numOutputs, RROutputPtr * outputs); RRTransformPtr transform, int numOutputs, RROutputPtr * outputs);
extern _X_EXPORT void
RRDeliverCrtcEvent(ClientPtr client, WindowPtr pWin, RRCrtcPtr crtc);
/* /*
* Request that the Crtc be reconfigured * Request that the Crtc be reconfigured
*/ */
@ -650,23 +586,6 @@ RRCrtcSet(RRCrtcPtr crtc,
extern _X_EXPORT Bool extern _X_EXPORT Bool
RRCrtcGammaSet(RRCrtcPtr crtc, CARD16 *red, CARD16 *green, CARD16 *blue); RRCrtcGammaSet(RRCrtcPtr crtc, CARD16 *red, CARD16 *green, CARD16 *blue);
/*
* Request current gamma back from the DDX (if possible).
* This includes gamma size.
*/
extern _X_EXPORT Bool
RRCrtcGammaGet(RRCrtcPtr crtc);
/*
* Notify the extension that the Crtc gamma has been changed
* The driver calls this whenever it has changed the gamma values
* in the RRCrtcRec
*/
extern _X_EXPORT Bool
RRCrtcGammaNotify(RRCrtcPtr crtc);
/* /*
* Set the size of the gamma table at server startup time * Set the size of the gamma table at server startup time
*/ */
@ -674,110 +593,6 @@ extern _X_EXPORT Bool
extern _X_EXPORT Bool extern _X_EXPORT Bool
RRCrtcGammaSetSize(RRCrtcPtr crtc, int size); RRCrtcGammaSetSize(RRCrtcPtr crtc, int size);
/*
* Return the area of the frame buffer scanned out by the crtc,
* taking into account the current mode and rotation
*/
extern _X_EXPORT void
RRCrtcGetScanoutSize(RRCrtcPtr crtc, int *width, int *height);
/*
* Return crtc transform
*/
extern _X_EXPORT RRTransformPtr RRCrtcGetTransform(RRCrtcPtr crtc);
/*
* Check whether the pending and current transforms are the same
*/
extern _X_EXPORT Bool
RRCrtcPendingTransform(RRCrtcPtr crtc);
/*
* Destroy a Crtc at shutdown
*/
extern _X_EXPORT void
RRCrtcDestroy(RRCrtcPtr crtc);
/*
* Set the pending CRTC transformation
*/
extern _X_EXPORT int
RRCrtcTransformSet(RRCrtcPtr crtc,
PictTransformPtr transform,
struct pixman_f_transform *f_transform,
struct pixman_f_transform *f_inverse,
char *filter, int filter_len, xFixed * params, int nparams);
/*
* Initialize crtc type
*/
extern _X_EXPORT Bool
RRCrtcInit(void);
/*
* Initialize crtc type error value
*/
extern _X_EXPORT void
RRCrtcInitErrorValue(void);
/*
* Detach and free a scanout pixmap
*/
extern _X_EXPORT void
RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc);
extern _X_EXPORT Bool
RRReplaceScanoutPixmap(DrawablePtr pDrawable, PixmapPtr pPixmap, Bool enable);
/*
* Return if the screen has any scanout_pixmap's attached
*/
extern _X_EXPORT Bool
RRHasScanoutPixmap(ScreenPtr pScreen);
/*
* Crtc dispatch
*/
extern _X_EXPORT int
ProcRRGetCrtcInfo(ClientPtr client);
extern _X_EXPORT int
ProcRRSetCrtcConfig(ClientPtr client);
extern _X_EXPORT int
ProcRRGetCrtcGammaSize(ClientPtr client);
extern _X_EXPORT int
ProcRRGetCrtcGamma(ClientPtr client);
extern _X_EXPORT int
ProcRRSetCrtcGamma(ClientPtr client);
extern _X_EXPORT int
ProcRRSetCrtcTransform(ClientPtr client);
extern _X_EXPORT int
ProcRRGetCrtcTransform(ClientPtr client);
/* rrdispatch.c */
extern _X_EXPORT Bool
RRClientKnowsRates(ClientPtr pClient);
extern _X_EXPORT void
RRLeaseTerminated(RRLeasePtr lease);
extern _X_EXPORT void
RRLeaseFree(RRLeasePtr lease);
extern _X_EXPORT Bool
RRCrtcIsLeased(RRCrtcPtr crtc);
extern _X_EXPORT Bool
RROutputIsLeased(RROutputPtr output);
/* rrmode.c */ /* rrmode.c */
/* /*
* Find, and if necessary, create a mode * Find, and if necessary, create a mode
@ -792,35 +607,6 @@ extern _X_EXPORT RRModePtr RRModeGet(xRRModeInfo * modeInfo, const char *name);
extern _X_EXPORT void extern _X_EXPORT void
RRModeDestroy(RRModePtr mode); RRModeDestroy(RRModePtr mode);
/*
* Return a list of modes that are valid for some output in pScreen
*/
extern _X_EXPORT RRModePtr *RRModesForScreen(ScreenPtr pScreen, int *num_ret);
/*
* Initialize mode type
*/
extern _X_EXPORT Bool
RRModeInit(void);
/*
* Initialize mode type error value
*/
extern _X_EXPORT void
RRModeInitErrorValue(void);
extern _X_EXPORT int
ProcRRCreateMode(ClientPtr client);
extern _X_EXPORT int
ProcRRDestroyMode(ClientPtr client);
extern _X_EXPORT int
ProcRRAddOutputMode(ClientPtr client);
extern _X_EXPORT int
ProcRRDeleteOutputMode(ClientPtr client);
/* rroutput.c */ /* rroutput.c */
/* /*
@ -850,69 +636,18 @@ extern _X_EXPORT Bool
RROutputSetModes(RROutputPtr output, RROutputSetModes(RROutputPtr output,
RRModePtr * modes, int numModes, int numPreferred); RRModePtr * modes, int numModes, int numPreferred);
extern _X_EXPORT int
RROutputAddUserMode(RROutputPtr output, RRModePtr mode);
extern _X_EXPORT int
RROutputDeleteUserMode(RROutputPtr output, RRModePtr mode);
extern _X_EXPORT Bool extern _X_EXPORT Bool
RROutputSetCrtcs(RROutputPtr output, RRCrtcPtr * crtcs, int numCrtcs); RROutputSetCrtcs(RROutputPtr output, RRCrtcPtr * crtcs, int numCrtcs);
extern _X_EXPORT Bool extern _X_EXPORT Bool
RROutputSetConnection(RROutputPtr output, CARD8 connection); RROutputSetConnection(RROutputPtr output, CARD8 connection);
extern _X_EXPORT Bool
RROutputSetSubpixelOrder(RROutputPtr output, int subpixelOrder);
extern _X_EXPORT Bool extern _X_EXPORT Bool
RROutputSetPhysicalSize(RROutputPtr output, int mmWidth, int mmHeight); RROutputSetPhysicalSize(RROutputPtr output, int mmWidth, int mmHeight);
extern _X_EXPORT void
RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output);
extern _X_EXPORT void extern _X_EXPORT void
RROutputDestroy(RROutputPtr output); RROutputDestroy(RROutputPtr output);
extern _X_EXPORT int
ProcRRGetOutputInfo(ClientPtr client);
extern _X_EXPORT int
ProcRRSetOutputPrimary(ClientPtr client);
extern _X_EXPORT int
ProcRRGetOutputPrimary(ClientPtr client);
/*
* Initialize output type
*/
extern _X_EXPORT Bool
RROutputInit(void);
/*
* Initialize output type error value
*/
extern _X_EXPORT void
RROutputInitErrorValue(void);
/* rrpointer.c */
extern _X_EXPORT void
RRPointerMoved(ScreenPtr pScreen, int x, int y);
extern _X_EXPORT void
RRPointerScreenConfigured(ScreenPtr pScreen);
/* rrproperty.c */
extern _X_EXPORT void
RRDeleteAllOutputProperties(RROutputPtr output);
extern _X_EXPORT RRPropertyValuePtr
RRGetOutputProperty(RROutputPtr output, Atom property, Bool pending);
extern _X_EXPORT RRPropertyPtr
RRQueryOutputProperty(RROutputPtr output, Atom property);
extern _X_EXPORT void extern _X_EXPORT void
RRDeleteOutputProperty(RROutputPtr output, Atom property); RRDeleteOutputProperty(RROutputPtr output, Atom property);
@ -928,113 +663,9 @@ extern _X_EXPORT int
RRConfigureOutputProperty(RROutputPtr output, Atom property, RRConfigureOutputProperty(RROutputPtr output, Atom property,
Bool pending, Bool range, Bool immutable, Bool pending, Bool range, Bool immutable,
int num_values, const INT32 *values); int num_values, const INT32 *values);
extern _X_EXPORT int
ProcRRChangeOutputProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRGetOutputProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRListOutputProperties(ClientPtr client);
extern _X_EXPORT int
ProcRRQueryOutputProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRConfigureOutputProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRDeleteOutputProperty(ClientPtr client);
/* rrprovider.c */ /* rrprovider.c */
#define PRIME_SYNC_PROP "PRIME Synchronization" #define PRIME_SYNC_PROP "PRIME Synchronization"
extern _X_EXPORT void
RRProviderInitErrorValue(void);
extern _X_EXPORT int
ProcRRGetProviders(ClientPtr client);
extern _X_EXPORT int
ProcRRGetProviderInfo(ClientPtr client);
extern _X_EXPORT int
ProcRRSetProviderOutputSource(ClientPtr client);
extern _X_EXPORT int
ProcRRSetProviderOffloadSink(ClientPtr client);
extern _X_EXPORT Bool
RRProviderInit(void);
extern _X_EXPORT RRProviderPtr
RRProviderCreate(ScreenPtr pScreen, const char *name,
int nameLength);
extern _X_EXPORT void
RRProviderDestroy (RRProviderPtr provider);
extern _X_EXPORT void
RRProviderSetCapabilities(RRProviderPtr provider, uint32_t capabilities);
extern _X_EXPORT Bool
RRProviderLookup(XID id, RRProviderPtr *provider_p);
extern _X_EXPORT void
RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider);
extern _X_EXPORT void
RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr primaryScreen);
/* rrproviderproperty.c */
extern _X_EXPORT void
RRDeleteAllProviderProperties(RRProviderPtr provider);
extern _X_EXPORT RRPropertyValuePtr
RRGetProviderProperty(RRProviderPtr provider, Atom property, Bool pending);
extern _X_EXPORT RRPropertyPtr
RRQueryProviderProperty(RRProviderPtr provider, Atom property);
extern _X_EXPORT void
RRDeleteProviderProperty(RRProviderPtr provider, Atom property);
extern _X_EXPORT int
RRChangeProviderProperty(RRProviderPtr provider, Atom property, Atom type,
int format, int mode, unsigned long len,
void *value, Bool sendevent, Bool pending);
extern _X_EXPORT int
RRConfigureProviderProperty(RRProviderPtr provider, Atom property,
Bool pending, Bool range, Bool immutable,
int num_values, INT32 *values);
extern _X_EXPORT Bool
RRPostProviderPendingProperties(RRProviderPtr provider);
extern _X_EXPORT int
ProcRRGetProviderProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRListProviderProperties(ClientPtr client);
extern _X_EXPORT int
ProcRRQueryProviderProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRConfigureProviderProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRChangeProviderProperty(ClientPtr client);
extern _X_EXPORT int
ProcRRDeleteProviderProperty(ClientPtr client);
/* rrxinerama.c */
#ifdef XINERAMA
extern _X_EXPORT void
RRXineramaExtensionInit(void);
#endif
#endif /* _RANDRSTR_H_ */ #endif /* _RANDRSTR_H_ */

View File

@ -29,6 +29,8 @@
#ifndef _XSERVER_RANDRSTR_PRIV_H_ #ifndef _XSERVER_RANDRSTR_PRIV_H_
#define _XSERVER_RANDRSTR_PRIV_H_ #define _XSERVER_RANDRSTR_PRIV_H_
#include <X11/Xdefs.h>
#include "randrstr.h" #include "randrstr.h"
extern int RREventBase, RRErrorBase; extern int RREventBase, RRErrorBase;
@ -36,6 +38,12 @@ extern int RREventBase, RRErrorBase;
extern RESTYPE RRClientType, RREventType; /* resource types for event masks */ extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
extern DevPrivateKeyRec RRClientPrivateKeyRec; extern DevPrivateKeyRec RRClientPrivateKeyRec;
extern RESTYPE RRCrtcType; /* X resource type: Randr CRTC */
extern RESTYPE RRModeType; /* X resource type: Randr MODE */
extern RESTYPE RROutputType; /* X resource type: Randr OUTPUT */
extern RESTYPE RRProviderType; /* X resource type: Randr PROVIDER */
extern RESTYPE RRLeaseType; /* X resource type: Randr LEASE */
#define RRClientPrivateKey (&RRClientPrivateKeyRec) #define RRClientPrivateKey (&RRClientPrivateKeyRec)
#define VERIFY_RR_OUTPUT(id, ptr, a)\ #define VERIFY_RR_OUTPUT(id, ptr, a)\
@ -91,10 +99,6 @@ extern DevPrivateKeyRec RRClientPrivateKeyRec;
#define GetRRClient(pClient) ((RRClientPtr)dixLookupPrivate(&(pClient)->devPrivates, RRClientPrivateKey)) #define GetRRClient(pClient) ((RRClientPtr)dixLookupPrivate(&(pClient)->devPrivates, RRClientPrivateKey))
#define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient) #define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient)
int ProcRRGetPanning(ClientPtr client);
int ProcRRSetPanning(ClientPtr client);
void RRConstrainCursorHarder(DeviceIntPtr, ScreenPtr, int, int *, int *); void RRConstrainCursorHarder(DeviceIntPtr, ScreenPtr, int, int *, int *);
/* rrlease.c */ /* rrlease.c */
@ -123,22 +127,431 @@ int RRMonitorAdd(ClientPtr client, ScreenPtr screen, RRMonitorPtr monitor);
void RRMonitorFree(RRMonitorPtr monitor); void RRMonitorFree(RRMonitorPtr monitor);
int ProcRRGetMonitors(ClientPtr client); /*
* Deliver a ScreenChangeNotity event to given client
*
* @param pClient the client to notify
* @param pWin the window to refer to in the event
* @param pScreen the screen where the change happened
*/
void RRDeliverScreenEvent(ClientPtr pClient, WindowPtr pWin, ScreenPtr pScreen);
int ProcRRSetMonitor(ClientPtr client); /*
* Mark screen resources as changed, so listeners will get updates on them.
*
* @param pScreen the screen where changes occoured
*/
void RRResourcesChanged(ScreenPtr pScreen);
int ProcRRDeleteMonitor(ClientPtr client); /*
* Initialize randr subsystem
*
* @return TRUE on success
*/
Bool RRInit(void);
int ProcRRCreateLease(ClientPtr client); /*
* Retrieve the first enabled CRTC on given screen
*
* @param pScreen the screen to query
* @return pointer to CRTC structure or NULL
*/
RRCrtcPtr RRFirstEnabledCrtc(ScreenPtr pScreen);
int ProcRRFreeLease(ClientPtr client); /*
* Set non-desktop property on given output. This flag should be TRUE on
* outputs where usual desktops shouldn't expand onto (eg. head displays,
* additional display bars in various handhelds, etc)
*/
Bool RROutputSetNonDesktop(RROutputPtr output, Bool non_desktop);
int ProcRRQueryVersion(ClientPtr client); /*
* Compute vertical refresh rate from randr mode information
*
* @param mode pointer to randr mode info
* @return vertical refresh rate
*/
CARD16 RRVerticalRefresh(xRRModeInfo * mode);
int ProcRRSelectInput(ClientPtr client); /*
* Tests if findCrtc belongs to pScreen or secondary screens
*
* @param pScreen the screen to check on
* @param findCrtc the Crtc to check for
* @return TRUE if given CRTC belongs to pScreen / secondard screens
*/
Bool RRCrtcExists(ScreenPtr pScreen, RRCrtcPtr findCrtc);
int ProcRRDispatch(ClientPtr client); /*
* Set whether transforms are allowed on a CRTC
*
* @param crtc the CRTC to set the flag on
* @param transforms TRUE if transforms are allowed
*/
void RRCrtcSetTransformSupport(RRCrtcPtr crtc, Bool transforms);
int SProcRRDispatch(ClientPtr client); /*
* Deliver CRTC update event to given client
*
* @param pClient the client to send event to
* @param pWin the window whose screen had been changed
* @param crtc the CRTC that had been changed
*/
void RRDeliverCrtcEvent(ClientPtr pClient, WindowPtr pWin, RRCrtcPtr crtc);
/*
* Return the area of the frame buffer scanned out by the crtc,
* taking into account the current mode and rotation
*
* @param crtc the CRTC to query
* @param width return buffer for width value
* @param height return buffer for height value
*/
void RRCrtcGetScanoutSize(RRCrtcPtr crtc, int *width, int *height);
/*
* Retrieve CRTCs current transform
*
* @param crtc the CRTC to query
* @return pointer to CRTCs current transform
*/
RRTransformPtr RRCrtcGetTransform(RRCrtcPtr crtc);
/*
* Destroy a Crtc at shutdown
*
* @param crtc the CRTC to destroy
*/
void RRCrtcDestroy(RRCrtcPtr crtc);
/*
* Initialize crtc resource type
*/
Bool RRCrtcInit(void);
/*
* Initialize crtc type error value
*/
void RRCrtcInitErrorValue(void);
/*
* Detach and free a scanout pixmap
*
* @param crtc the CRTC to act on
*/
void RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc);
/*
* Handler for the ReplaceScanoutPixmap screen proc
* Should not be called directly.
*/
Bool RRReplaceScanoutPixmap(DrawablePtr pDrawable, PixmapPtr pPixmap, Bool enable);
/*
* Check whether given screen has any scanout pixmap attached
*
* @param pScreen the screen to check
* @return TRUE if the screen has a scanout pixmap attached
*/
Bool RRHasScanoutPixmap(ScreenPtr pScreen);
/*
* Check whether client is operating on recent enough protocol version
* to know about refresh rates. This has influence on reply packet formats
*
* @param pClient the client to check
* @return TRUE if client using recent enough protocol version
*/
Bool RRClientKnowsRates(ClientPtr pClient);
/*
* Called by DIX to notify RANDR extension that a lease had been terminated.
*
* @param lease the lease that had been terminated
*/
void RRLeaseTerminated(RRLeasePtr lease);
/*
* Free a RRLease structure
*
* @param lease pointer to the lease to be freed
*/
void RRLeaseFree(RRLeasePtr lease);
/*
* Check whether given CRTC has an active lease
*
* @param crtc the CRTC to check
* @return TRUE if there is any active lease on that CRTC
*/
Bool RRCrtcIsLeased(RRCrtcPtr crtc);
/*
* Check whether given output is leased
*
* @param output the output to check
* @return TRUE if theere is any active lease on that output
*/
Bool RROutputIsLeased(RROutputPtr output);
/*
* Query a list of modes valid for some output in given screen
*
+ The list is allocated by that function and must be freed by caller.
* `num_ret` holds the number of entries (the buffer might be larger)
*
* @param pScreen the screen to query
* @param num_ret return buffer for number of returned modes
* @return pointer to array of RRModePtr's
*/
RRModePtr *RRModesForScreen(ScreenPtr pScreen, int *num_ret);
/*
* Initialize mode resource type
*
* @return TRUE on success
*/
Bool RRModeInit(void);
/*
* Initialize mode type error value
*
* @return TRUE on success
*/
void RRModeInitErrorValue(void);
/*
* Add user-given mode to output
*
* @param output the output where to which a mode should be added
* @param mode the mode to add to the output
* @return X error code
*/
int RROutputAddUserMode(RROutputPtr output, RRModePtr mode);
/*
* Delete user-given mode (that had been added via RROutputAddUserMode)
* from output.
*
* @param output the output from which the mode is to be removed
* @param mode the mode to be removed from output
* @return X error code
*/
int RROutputDeleteUserMode(RROutputPtr output, RRModePtr mode);
/*
* Set subpixel order on given output
*
* @param output the output to set subpixel order on
* @param order subpixel order value to set
*/
void RROutputSetSubpixelOrder(RROutputPtr output, int order);
/*
* Deliver RROutputChangeNotify event to client
*
* @param pClient the client to send notify even to
* @param pWin the window who's screen is acted on
* @param output the output who's changes are delivered
*/
void RRDeliverOutputEvent(ClientPtr pClient, WindowPtr pWin, RROutputPtr output);
/*
* Initialize output resource type
*
* @return TRUE on success
*/
Bool RROutputInit(void);
/*
* Initialize output type error value
*/
void RROutputInitErrorValue(void);
/*
* When the screen is reconfigured, move all pointers to the nearest
* CRTC
*
* @param pScreen the screen that had been reconfigured
*/
void RRPointerScreenConfigured(ScreenPtr pScreen);
/*
* Retrieve output property value
*
* @param output the output to query
* @param property Atom ID of the property to retrieve
* @param pending retrieve pending instead of current value
* @return pointer to property value or NULL (if not found)
*/
RRPropertyValuePtr RRGetOutputProperty(RROutputPtr output, Atom property, Bool pending);
/*
* Retrieve full property structure from output
*
* @param output the output to query
* @param property Atom ID of the property to query
* @return pointer to property structure, or NULL if not found
*/
RRPropertyPtr RRQueryOutputProperty(RROutputPtr output, Atom property);
/*
* Delete all properties on given output
*
* @param output the output whose properties shall be deleted
*/
void RRDeleteAllOutputProperties(RROutputPtr output);
/*
* Initialize render provider resource type
*
* @return TRUE on success
*/
Bool RRProviderInit(void);
/*
* Initialize RR provider error values
*/
void RRProviderInitErrorValue(void);
/*
* Create / allocate new provider structure
*
* @param pScreen the screen the provider belongs to
* @param name name of the provider (counted string)
* @param nameLen size of the provider name
* @return new provider structure, or NULL on failure
*/
RRProviderPtr RRProviderCreate(ScreenPtr pScreen, const char *name,
int nameLen);
/*
* Set provider capabilities field
*
* @param provider the provider whose capabilities are to be set
* @param capabilities the new capabilities
*/
void RRProviderSetCapabilities(RRProviderPtr provider, uint32_t capabilities);
/*
* Destroy a provider and free it's memory
*
* @param provider the provider to be destroyed
*/
void RRProviderDestroy (RRProviderPtr provider);
/*
* Deliver provider ProviderChangeNotify event to client
*
* @param pClient the client to send even to
* @param pWin the window whose screen was changed
* @param provider the provider which was changed
*/
void RRDeliverProviderEvent(ClientPtr pClient, WindowPtr pWin, RRProviderPtr provider);
/*
* Auto configure a GPU screen
*
* @param pScreen the GPU screen to configure
* @param primaryScreen the associated primary screen
*/
void RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr primaryScreen);
/*
* Retrieve property value from provider
*
* @param provider the provider to query
* @param property Atom ID of the property to retrieve
* @param pending TRUE if pending (instead of current) value shall be fetched
* @return pointer to property value if found, otherwise NULL
*/
RRPropertyValuePtr RRGetProviderProperty(RRProviderPtr provider, Atom property, Bool pending);
/*
* Retrieve full property structure
* (instead of just the value -- @see RRGetProviderProperty)
*
* @param provider the provider to query
* @param property Atom ID of the property to retrieve
* @return pointer to render property structure if found, otherwise NULL
*/
RRPropertyPtr RRQueryProviderProperty(RRProviderPtr provider, Atom property);
/*
* Delete property from provider
*
* @param provider the provider to remove property from
* @param property Atom ID of the property to remove
*/
void RRDeleteProviderProperty(RRProviderPtr provider, Atom property);
/*
* Change property of provider
*
* @param provider the provider to change property on
* @param property Atom ID of the property to change
* @param type type Atom ID of the new property value
* @param format format (8/16/32) of the new property value
* @param len length in (format specific) units of the new property value
* @param value pointer to value data
* @param sendevent TRUE when change notify event shall be sent
* @param pending TRUE when pending instead of current value shall be changed
* @return X error code
*/
int RRChangeProviderProperty(RRProviderPtr provider, Atom property, Atom type,
int format, int mode, unsigned long len,
void *value, Bool sendevent, Bool pending);
/*
* Configure a (custom) property in given provider
*
* @param provider the provider to configure property in
* @param property Atom ID of the property
* @param pending TRUE on pending value
* @param range TRUE when limited range
* @param immutable TRUE when it's immutable
* @param num_values number of allowed values
* @param values allowed values (array of num_values length)
*/
int RRConfigureProviderProperty(RRProviderPtr provider, Atom property,
Bool pending, Bool range, Bool immutable,
int num_values, INT32 *values);
/*
* Init xinerama specific extension parts
*/
void RRXineramaExtensionInit(void);
/*
* Init transform structure
*
* @param transform the transform structure to initialized
*/
void RRTransformInit(RRTransformPtr transform);
/*
* Compare two transform structures
*
* @param a first transform
* @param b second transform
* @return TRUE if both transforms are equal
*/
Bool RRTransformEqual(RRTransformPtr a, RRTransformPtr b);
/*
* Set filter on transform structure
*/
Bool RRTransformSetFilter(RRTransformPtr dst, PictFilterPtr filter,
xFixed *params, int nparams, int width, int height);
/*
* Copy transform structure to another
*
* @param dst destination structure pointer
* @param src source structure pointer
* @return TRUE on success
*/
Bool RRTransformCopy(RRTransformPtr dst, RRTransformPtr src);
#endif /* _XSERVER_RANDRSTR_PRIV_H_ */ #endif /* _XSERVER_RANDRSTR_PRIV_H_ */

View File

@ -20,8 +20,11 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE. * OF THIS SOFTWARE.
*/ */
#include <dix-config.h>
#include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "randrstr_priv.h"
#include "swaprep.h" #include "swaprep.h"
#include "mipointer.h" #include "mipointer.h"
@ -32,7 +35,7 @@ RESTYPE RRCrtcType = 0;
/* /*
* Notify the CRTC of some change * Notify the CRTC of some change
*/ */
void static void
RRCrtcChanged(RRCrtcPtr crtc, Bool layoutChanged) RRCrtcChanged(RRCrtcPtr crtc, Bool layoutChanged)
{ {
ScreenPtr pScreen = crtc->pScreen; ScreenPtr pScreen = crtc->pScreen;
@ -720,6 +723,17 @@ rrCheckEmulated(RROutputPtr output)
return FALSE; return FALSE;
} }
/*
* Check whether the pending and current transforms are the same
*/
static inline Bool
RRCrtcPendingTransform(RRCrtcPtr crtc)
{
return !RRTransformEqual(&crtc->client_current_transform,
&crtc->client_pending_transform);
}
/* /*
* Request that the Crtc be reconfigured * Request that the Crtc be reconfigured
*/ */
@ -854,16 +868,6 @@ RRCrtcGetTransform(RRCrtcPtr crtc)
return transform; return transform;
} }
/*
* Check whether the pending and current transforms are the same
*/
Bool
RRCrtcPendingTransform(RRCrtcPtr crtc)
{
return !RRTransformEqual(&crtc->client_current_transform,
&crtc->client_pending_transform);
}
/* /*
* Destroy a Crtc at shutdown * Destroy a Crtc at shutdown
*/ */
@ -946,7 +950,7 @@ RRCrtcGammaSet(RRCrtcPtr crtc, CARD16 *red, CARD16 *green, CARD16 *blue)
* Request current gamma back from the DDX (if possible). * Request current gamma back from the DDX (if possible).
* This includes gamma size. * This includes gamma size.
*/ */
Bool static Bool
RRCrtcGammaGet(RRCrtcPtr crtc) RRCrtcGammaGet(RRCrtcPtr crtc)
{ {
Bool ret = TRUE; Bool ret = TRUE;
@ -1005,19 +1009,6 @@ Bool RRCrtcExists(ScreenPtr pScreen, RRCrtcPtr findCrtc)
return FALSE; return FALSE;
} }
/*
* Notify the extension that the Crtc gamma has been changed
* The driver calls this whenever it has changed the gamma values
* in the RRCrtcRec
*/
Bool
RRCrtcGammaNotify(RRCrtcPtr crtc)
{
return TRUE; /* not much going on here */
}
static void static void
RRModeGetScanoutSize(RRModePtr mode, PictTransformPtr transform, RRModeGetScanoutSize(RRModePtr mode, PictTransformPtr transform,
int *width, int *height) int *width, int *height)
@ -1077,7 +1068,7 @@ RRCrtcGammaSetSize(RRCrtcPtr crtc, int size)
* Set the pending CRTC transformation * Set the pending CRTC transformation
*/ */
int static int
RRCrtcTransformSet(RRCrtcPtr crtc, RRCrtcTransformSet(RRCrtcPtr crtc,
PictTransformPtr transform, PictTransformPtr transform,
struct pixman_f_transform *f_transform, struct pixman_f_transform *f_transform,

View File

@ -23,6 +23,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "os/fmt.h" #include "os/fmt.h"
#include "protocol-versions.h" #include "protocol-versions.h"

75
randr/rrdispatch_priv.h Normal file
View File

@ -0,0 +1,75 @@
/* SPDX-License-Identifier: MIT OR X11
*
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
*
* @brief: prototypes for the individual request handlers
*/
#ifndef _XSERVER_RANDR_RRDISPATCH_H
#define _XSERVER_RANDR_RRDISPATCH_H
#include "include/dix.h"
/* screen related dispatch */
int ProcRRGetScreenSizeRange(ClientPtr client);
int ProcRRSetScreenSize(ClientPtr client);
int ProcRRGetScreenResources(ClientPtr client);
int ProcRRGetScreenResourcesCurrent(ClientPtr client);
int ProcRRSetScreenConfig(ClientPtr client);
int ProcRRGetScreenInfo(ClientPtr client);
/* crtc related dispatch */
int ProcRRGetCrtcInfo(ClientPtr client);
int ProcRRSetCrtcConfig(ClientPtr client);
int ProcRRGetCrtcGammaSize(ClientPtr client);
int ProcRRGetCrtcGamma(ClientPtr client);
int ProcRRSetCrtcGamma(ClientPtr client);
int ProcRRSetCrtcTransform(ClientPtr client);
int ProcRRGetCrtcTransform(ClientPtr client);
/* mode related dispatch */
int ProcRRCreateMode(ClientPtr client);
int ProcRRDestroyMode(ClientPtr client);
int ProcRRAddOutputMode(ClientPtr client);
int ProcRRDeleteOutputMode(ClientPtr client);
/* output related dispatch */
int ProcRRGetOutputInfo(ClientPtr client);
int ProcRRSetOutputPrimary(ClientPtr client);
int ProcRRGetOutputPrimary(ClientPtr client);
int ProcRRChangeOutputProperty(ClientPtr client);
int ProcRRGetOutputProperty(ClientPtr client);
int ProcRRListOutputProperties(ClientPtr client);
int ProcRRQueryOutputProperty(ClientPtr client);
int ProcRRConfigureOutputProperty(ClientPtr client);
int ProcRRDeleteOutputProperty(ClientPtr client);
/* provider related dispatch */
int ProcRRGetProviders(ClientPtr client);
int ProcRRGetProviderInfo(ClientPtr client);
int ProcRRSetProviderOutputSource(ClientPtr client);
int ProcRRSetProviderOffloadSink(ClientPtr client);
int ProcRRGetProviderProperty(ClientPtr client);
int ProcRRListProviderProperties(ClientPtr client);
int ProcRRQueryProviderProperty(ClientPtr client);
int ProcRRConfigureProviderProperty(ClientPtr client);
int ProcRRChangeProviderProperty(ClientPtr client);
int ProcRRDeleteProviderProperty(ClientPtr client);
/* monitor related dispatch */
int ProcRRGetMonitors(ClientPtr client);
int ProcRRSetMonitor(ClientPtr client);
int ProcRRDeleteMonitor(ClientPtr client);
int ProcRRGetPanning(ClientPtr client);
int ProcRRSetPanning(ClientPtr client);
int ProcRRCreateLease(ClientPtr client);
int ProcRRFreeLease(ClientPtr client);
int ProcRRQueryVersion(ClientPtr client);
int ProcRRSelectInput(ClientPtr client);
int ProcRRDispatch(ClientPtr client);
int SProcRRDispatch(ClientPtr client);
#endif /* _XSERVER_RANDR_RRDISPATCH_H */

View File

@ -19,8 +19,9 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE. * OF THIS SOFTWARE.
*/ */
#include <dix-config.h>
#include "randrstr.h" #include "randr/randrstr_priv.h"
#ifdef RANDR_10_INTERFACE #ifdef RANDR_10_INTERFACE
static RRModePtr static RRModePtr
@ -297,17 +298,6 @@ RRRegisterRate(ScreenPtr pScreen, RRScreenSizePtr pSize, int rate)
return TRUE; return TRUE;
} }
Rotation
RRGetRotation(ScreenPtr pScreen)
{
RROutputPtr output = RRFirstOutput(pScreen);
if (!output)
return RR_Rotate_0;
return output->crtc->rotation;
}
void void
RRSetCurrentConfig(ScreenPtr pScreen, RRSetCurrentConfig(ScreenPtr pScreen,
Rotation rotation, int rate, RRScreenSizePtr pSize) Rotation rotation, int rate, RRScreenSizePtr pSize)

View File

@ -25,6 +25,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "os/client_priv.h" #include "os/client_priv.h"
#include "swaprep.h" #include "swaprep.h"

View File

@ -23,6 +23,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
RESTYPE RRModeType; RESTYPE RRModeType;

View File

@ -23,6 +23,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "swaprep.h" #include "swaprep.h"

View File

@ -26,6 +26,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
RESTYPE RROutputType; RESTYPE RROutputType;
@ -286,15 +287,13 @@ RROutputSetConnection(RROutputPtr output, CARD8 connection)
return TRUE; return TRUE;
} }
Bool void RROutputSetSubpixelOrder(RROutputPtr output, int subpixelOrder)
RROutputSetSubpixelOrder(RROutputPtr output, int subpixelOrder)
{ {
if (output->subpixelOrder == subpixelOrder) if (output->subpixelOrder == subpixelOrder)
return TRUE; return;
output->subpixelOrder = subpixelOrder; output->subpixelOrder = subpixelOrder;
RROutputChanged(output, FALSE); RROutputChanged(output, FALSE);
return TRUE;
} }
Bool Bool

View File

@ -22,35 +22,11 @@
#include <dix-config.h> #include <dix-config.h>
#include "dix/cursor_priv.h" #include "dix/cursor_priv.h"
#include "randr/randrstr_priv.h"
#include "randrstr.h" #include "randrstr.h"
#include "inputstr.h" #include "inputstr.h"
/*
* When the pointer moves, check to see if the specified position is outside
* any of theavailable CRTCs and move it to a 'sensible' place if so, where
* sensible is the closest monitor to the departing edge.
*
* Returns whether the position was adjusted
*/
static Bool
RRCrtcContainsPosition(RRCrtcPtr crtc, int x, int y)
{
RRModePtr mode = crtc->mode;
int scan_width, scan_height;
if (!mode)
return FALSE;
RRCrtcGetScanoutSize(crtc, &scan_width, &scan_height);
if (crtc->x <= x && x < crtc->x + scan_width &&
crtc->y <= y && y < crtc->y + scan_height)
return TRUE;
return FALSE;
}
/* /*
* Find the CRTC nearest the specified position, ignoring 'skip' * Find the CRTC nearest the specified position, ignoring 'skip'
*/ */
@ -104,33 +80,6 @@ RRPointerToNearestCrtc(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y,
pScrPriv->pointerCrtc = nearest; pScrPriv->pointerCrtc = nearest;
} }
void
RRPointerMoved(ScreenPtr pScreen, int x, int y)
{
rrScrPriv(pScreen);
RRCrtcPtr pointerCrtc = pScrPriv->pointerCrtc;
int c;
/* Check last known CRTC */
if (pointerCrtc && RRCrtcContainsPosition(pointerCrtc, x, y))
return;
/* Check all CRTCs */
for (c = 0; c < pScrPriv->numCrtcs; c++) {
RRCrtcPtr crtc = pScrPriv->crtcs[c];
if (RRCrtcContainsPosition(crtc, x, y)) {
/* Remember containing CRTC */
pScrPriv->pointerCrtc = crtc;
return;
}
}
/* None contain pointer, find nearest */
ErrorF("RRPointerMoved: Untested, may cause \"bogus pointer event\"\n");
RRPointerToNearestCrtc(inputInfo.pointer, pScreen, x, y, pointerCrtc);
}
/* /*
* When the screen is reconfigured, move all pointers to the nearest * When the screen is reconfigured, move all pointers to the nearest
* CRTC * CRTC

View File

@ -24,6 +24,7 @@
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/rrdispatch_priv.h"
#include "randrstr_priv.h" #include "randrstr_priv.h"
#include "propertyst.h" #include "propertyst.h"

View File

@ -28,6 +28,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "swaprep.h" #include "swaprep.h"
@ -459,16 +460,6 @@ RRProviderInit(void)
return TRUE; return TRUE;
} }
Bool
RRProviderLookup(XID id, RRProviderPtr *provider_p)
{
int rc = dixLookupResourceByType((void **)provider_p, id,
RRProviderType, NullClient, DixReadAccess);
if (rc == Success)
return TRUE;
return FALSE;
}
void void
RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider) RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider)
{ {

View File

@ -22,8 +22,9 @@
#include <dix-config.h> #include <dix-config.h>
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
#include "randrstr_priv.h"
#include "propertyst.h" #include "propertyst.h"
#include "swaprep.h" #include "swaprep.h"
@ -82,17 +83,6 @@ RRDeleteProperty(RRProviderRec * provider, RRPropertyRec * prop)
RRDestroyProviderProperty(prop); RRDestroyProviderProperty(prop);
} }
void
RRDeleteAllProviderProperties(RRProviderPtr provider)
{
RRPropertyPtr prop, next;
for (prop = provider->properties; prop; prop = next) {
next = prop->next;
RRDeleteProperty(provider, prop);
}
}
static void static void
RRInitProviderPropertyValue(RRPropertyValuePtr property_value) RRInitProviderPropertyValue(RRPropertyValuePtr property_value)
{ {
@ -248,46 +238,6 @@ RRChangeProviderProperty(RRProviderPtr provider, Atom property, Atom type,
return Success; return Success;
} }
Bool
RRPostProviderPendingProperties(RRProviderPtr provider)
{
RRPropertyValuePtr pending_value;
RRPropertyValuePtr current_value;
RRPropertyPtr property;
Bool ret = TRUE;
if (!provider->pendingProperties)
return TRUE;
provider->pendingProperties = FALSE;
for (property = provider->properties; property; property = property->next) {
/* Skip non-pending properties */
if (!property->is_pending)
continue;
pending_value = &property->pending;
current_value = &property->current;
/*
* If the pending and current values are equal, don't mark it
* as changed (which would deliver an event)
*/
if (pending_value->type == current_value->type &&
pending_value->format == current_value->format &&
pending_value->size == current_value->size &&
!memcmp(pending_value->data, current_value->data,
pending_value->size * (pending_value->format / 8)))
continue;
if (RRChangeProviderProperty(provider, property->propertyName,
pending_value->type, pending_value->format,
PropModeReplace, pending_value->size,
pending_value->data, TRUE, FALSE) != Success)
ret = FALSE;
}
return ret;
}
RRPropertyPtr RRPropertyPtr
RRQueryProviderProperty(RRProviderPtr provider, Atom property) RRQueryProviderProperty(RRProviderPtr provider, Atom property)
{ {

View File

@ -23,6 +23,7 @@
#include "dix/dix_priv.h" #include "dix/dix_priv.h"
#include "randr/randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
static CARD16 static CARD16
RR10CurrentSizeID(ScreenPtr pScreen); RR10CurrentSizeID(ScreenPtr pScreen);

View File

@ -19,8 +19,10 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE. * OF THIS SOFTWARE.
*/ */
#include <dix-config.h>
#include "randrstr_priv.h" #include "randr/randrstr_priv.h"
#include "randr/rrdispatch_priv.h"
static int _X_COLD static int _X_COLD
SProcRRQueryVersion(ClientPtr client) SProcRRQueryVersion(ClientPtr client)

View File

@ -19,9 +19,10 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE. * OF THIS SOFTWARE.
*/ */
#include <dix-config.h>
#include "randrstr.h" #include "randr/randrstr_priv.h"
#include "rrtransform.h" #include "randr/rrtransform.h"
void void
RRTransformInit(RRTransformPtr transform) RRTransformInit(RRTransformPtr transform)
@ -34,12 +35,6 @@ RRTransformInit(RRTransformPtr transform)
transform->nparams = 0; transform->nparams = 0;
} }
void
RRTransformFini(RRTransformPtr transform)
{
free(transform->params);
}
Bool Bool
RRTransformEqual(RRTransformPtr a, RRTransformPtr b) RRTransformEqual(RRTransformPtr a, RRTransformPtr b)
{ {

View File

@ -39,24 +39,6 @@ struct _rrTransform {
int height; int height;
}; };
extern _X_EXPORT void
RRTransformInit(RRTransformPtr transform);
extern _X_EXPORT void
RRTransformFini(RRTransformPtr transform);
extern _X_EXPORT Bool
RRTransformEqual(RRTransformPtr a, RRTransformPtr b);
extern _X_EXPORT Bool
RRTransformSetFilter(RRTransformPtr dst,
PictFilterPtr filter,
xFixed * params, int nparams, int width, int height);
extern _X_EXPORT Bool
RRTransformCopy(RRTransformPtr dst, RRTransformPtr src);
/* /*
* Compute the complete transformation matrix including * Compute the complete transformation matrix including
* client-specified transform, rotation/reflection values and the crtc * client-specified transform, rotation/reflection values and the crtc