summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gitlab CI: add a basic build testHEADmasterAlan Coopersmith2022-01-251-0/+98
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Update Sun license notices to current X.Org standard formAlan Coopersmith2022-01-231-22/+19
| | | | | | | | | | | As noted in https://lists.freedesktop.org/archives/xorg-devel/2009-November/003670.html Sun relicensed all its contributions to X.Org to use the standard X.Org form of the MIT license, to reduce the number of MIT license variants in X.Org projects. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Build xz tarballs instead of bzip2Alan Coopersmith2022-01-221-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* remove sarea.h usageIlia Mirkin2021-04-261-1/+0
| | | | | | | | This header hasn't been used in ages, and is apparently no longer shipped in some places. Just stop relying on it entirely. Reported-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nouveau: fixup driver for new X server ABIDave Airlie2021-02-203-4/+8
|
* Bump version to 1.0.17xf86-video-nouveau-1.0.17Ilia Mirkin2021-01-231-2/+2
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* present: fix handling of drmWaitVBlank failuresIlia Mirkin2020-08-291-1/+12
| | | | | | When drmWaitVBlank fails, make sure to remove the event from the queue. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* drmmode: make event handler leave a note that there are stuck eventsIlia Mirkin2020-08-151-0/+11
| | | | | | | | | We don't really expect to have too many events in the queue. If there are, then the algorithm we use isn't appropriate. Add a warning when the queue gets very long, as it's an indication of something having gone wrong. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* present: don't enable if there's no accelerationIlia Mirkin2020-08-081-1/+1
| | | | | | | | All the present logic relies on EXA being used to wrap everything. Unclear if present could even be used without the other things EXA enables, but better be safe. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* drmmode: fix screen resize without accelerationIlia Mirkin2020-08-081-1/+1
| | | | | | | | This got broken with commit 86024cee back in 2014! drmmode_pixmap/nouveau_pixmap expect there to be EXA wrapping around the pixmap now, which is not there without accel. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* make error when failing to allocate surface more descriptiveIlia Mirkin2019-10-261-1/+1
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* dri2,present: move in pixmap before getting addressesIlia Mirkin2019-10-122-4/+29
| | | | | | | | | | | First of all, we were not forcing the pixmap to be moved in before attempting to present it. Secondly, in certain configurations, we avoid ever backing pixmaps with vram (in GPUs with 32MB of VRAM or less). This fixes the observed cases where we ended up assuming that a bo was backing a pixmap without doing the explicit move-in. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nv4/exa: tiling is unsupported pre-nv10, reduce alignment requirementsIlia Mirkin2019-10-122-2/+6
| | | | | | | | | | | | | | Commit 8c8f15c9d3 added increased pitch alignment requirements to handle nv10-nv40 tiling (which must have a small number * PoT pitch). While NV4/NV5 do have tiling, this was never supported in nouveau. This change enables 1920x1200 resolutions since the maximum surface pitch has to be strictly less than 8192. The current logic will align 1920*4 up to 8192 unnecessarily. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: Marcin Kościelnicki <koriakin@0x04.net> Cc: Francisco Jerez <currojerez@riseup.net>
* Don't advertise any PRIME offloading capabilities without accelerationCarlo Caione2019-10-121-0/+3
| | | | | | | | | Acceleration is required even for display offloading. Trying to enable display offloading without acceleration resulted in a crash. https://bugs.freedesktop.org/show_bug.cgi?id=101220 Signed-off-by: Carlo Caione <carlo@endlessm.com>
* Bump version to 1.0.16xf86-video-nouveau-1.0.16Ilia Mirkin2019-01-281-1/+1
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* update known chipsets listIlia Mirkin2019-01-272-3/+13
| | | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Rhys Kidd <rhyskidd@gmail.com>
* Revert "wfb: Fix missing init function decls behind FB_ACCESS_WRAPPER"Ilia Mirkin2019-01-231-1/+0
| | | | | | | | | | This reverts commit d7ba24fb6e4fce43adc3c73369c5d1035ae080a9. When built and run against Xorg 1.20.3, part way through init, I got an error about wfbPictureInit not existing despite not having wfb_enabled set. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* present: rotated crtc's work fineIlia Mirkin2019-01-231-4/+1
| | | | | | | The "pick best" logic takes rotation into account. However flipping a rotated CRTC can't work, so we disable that. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* Adapt to PixmapDirtyUpdateRec::src being a DrawablePtrRhys Kidd2019-01-211-1/+8
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* config: Suggest upstream to find macros in case they are missingRhys Kidd2019-01-211-2/+6
| | | | | | | | | | Added upstream suggestion to error message in case xorg macros or xserver macros are missing. No actual package manager references in suggestion since these are 'user' and/or 'distribution' preferences. (Cherry picked from xf86-video-intel 90538ecfff9c324d61419f451d41d26ab026f232) Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Complete bug report URL for Xorg DDX nouveau driverRhys Kidd2019-01-211-1/+1
| | | | Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Set automake options consistently in one locationRhys Kidd2019-01-212-3/+1
| | | | | | | Avoid use of two manners of setting automake configuration options, and consolidate them into AM_INIT_AUTOMAKE macro. Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: remove unused sdkdir=$(pkg-config...) statementRhys Kidd2019-01-211-1/+0
| | | | | | | | The sdkdir variable is not used, so remove the statement. (Copied from xf86-video-ati 36bd69affc996c92c40b7360a7fbaa1a3a46abfd) Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Remove unrequired AC_SUBST for LIBDRM_NOUVEAU and LIBUDEVRhys Kidd2019-01-211-4/+0
| | | | | | | These macros are called by the PKG_CHECK_MODULES macro, for all versions of pkg-config >= 0.24.0 (released May 23, 2010). Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Add comments for main statementsRhys Kidd2019-01-211-3/+6
| | | | Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Use LT_INIT option instead of AC_DISABLE_STATICRhys Kidd2019-01-211-4/+2
| | | | | | | | | | | | | | Since libtool 2.2 (released March 2008) the preferred initiation of libtool is with the LT_INIT() macro, instead of AC_PROG_LIBTOOL. As we are using LT_INIT anyway we might as well pass the disable-static option directly to it instead of using the AC_DISABLE_STATIC macro. See: - https://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html - https://www.x.org/wiki/NewModuleGuidelines/ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Utilize util-macros 1.8 for additional man page supportRhys Kidd2019-01-211-18/+2
| | | | | | | Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS The value of MAN_SUBST is the same for all X.Org packages. Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: remove unrequired AC_HEADER_STDCRhys Kidd2019-01-211-3/+0
| | | | | | | | | | | | | | | | | | Autoconf says: "This macro is obsolescent, as current systems have conforming header files. New programs need not use this macro". Was previously required to ensure the system has C header files conforming to ANSI C89 (ISO C90). Specifically, this macro checks for stdlib.h, stdarg.h, string.h, and float.h. This autoconf option was used to provide conditional fallback support via defined STDC_HEADERS. xf86-video-nouveau does not do so, so this macro is obsolete and unused, so let's drop it. Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Use XORG_DEFAULT_OPTIONS which replaces six XORG_* macrosRhys Kidd2019-01-211-3/+0
| | | | | | | | | | | | | | | | | | | | | | | This macro expands into several macros and provide several build functions [0]. Refer to the module generated aclocal.m4 file as this is subject to change. At present, this includes: - XORG_CWARNFLAGS: platform adjusted compiler warning flags - XORG_STRICT_OPTION: additional warning flags - XORG_RELEASE_VERSION: defines variables for major, minor and patch level - XORG_CHANGELOG: contains a makefile rule which creates the ChangeLog file from Git - XORG_INSTALL: contains a makefile rule which provides the INSTALL file in the module root directory - XORG_MANPAGE_SECTIONS: platform adjusted man page section number The above macros invoke the following Autoconf macros: - AC_PROG_INSTALL - AC_PROG_CC_C99 - AC_PROG_SED - AC_CANONICAL_HOST [0] https://www.x.org/wiki/NewModuleGuidelines/ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: libtoolize: put macros in AC_CONFIG_MACRO_DIR, 'm4'Rhys Kidd2019-01-214-5/+9
| | | | | | | | | | | | | | | | | As suggested by one tool called by autoreconf. Necessitates change to: - configure.ac: Call AC_CONFIG_MACRO_DIR() - Makefile.am: Set ACLOCAL_AMFLAGS = -I m4 - Create placeholder m4 folders - Update gitignore files >From the autoconf documentation: "Starting from version 2.58, autoconf provide the macro AC_CONFIG_MACRO_DIR to declare where additional macro files are to be put and found. The argument passed to this macro is commonly m4." https://autotools.io/autoconf/macros.html Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* gitignore: Update to mirror modern X.org driversRhys Kidd2019-01-211-11/+65
| | | | | | | | | | Avoids git showing autoconf/automake generated files (e.g. tarballs) that are local build artifacts and should not be committed. Cherry picked from xf86-video-intel as at: https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/blob/7c9dbc980b760e0053d83ca2d7cb147613285680/.gitignore Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: remove AC_PROG_CC as it overrides AC_PROG_C_C99Rhys Kidd2019-01-211-1/+0
| | | | | | | | XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls AC_PROG_C_C99. This sets gcc with -std=gnu99. If AC_PROG_CC macro is called afterwards, it resets CC to gcc. Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Rely upon list.h as at least xorg-server 1.8 requiredRhys Kidd2019-01-211-12/+5
| | | | | Fixes: edd1608 ("xorg_list: define the xorg_list* symbols") Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Only check for presence of libdrm package onceRhys Kidd2019-01-211-1/+1
| | | | | | | | After a version-conditioned check for libdrm was added, no longer necessary to check a second time, especially without a version number check. Fixes: 779b8d4 ("Link against libdrm") Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config, nv: Use xorg-macros PACKAGE_VERSION_{MAJOR, MINOR, PATCHLEVEL}Rhys Kidd2019-01-212-10/+1
| | | | | | | | | | | Use xorg-macros provided PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} rather than rolling our own in xf86-video-nouveau. Macro has been available since xorg-macros 1.1.5 (we rely on >= 1.8) provided that XORG_DEFAULT_OPTIONS is called. Fixes: b82aacd ("configure: require xorg-macros 1.8") Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* config: Fix typo in commentRhys Kidd2019-01-211-1/+1
| | | | Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* xv/nv30, nv40: Mark local NV30GetSurfaceFormat and NV40GetSurfaceFormat as ↵Rhys Kidd2019-01-202-2/+2
| | | | | | | | | | | | | | | | static Avoids warnings with gcc 8.2: nv30_xv_tex.c:138:1: warning: no previous prototype for ‘NV30GetSurfaceFormat’ [-Wmissing-prototypes] NV30GetSurfaceFormat(PixmapPtr ppix, int *fmt_ret) ^~~~~~~~~~~~~~~~~~~~ nv40_xv_tex.c:138:1: warning: no previous prototype for ‘NV40GetSurfaceFormat’ [-Wmissing-prototypes] NV40GetSurfaceFormat(PixmapPtr ppix, int *fmt_ret) ^~~~~~~~~~~~~~~~~~~~ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* xv: Mark local NVSetupTexturedVideo function as staticRhys Kidd2019-01-201-1/+1
| | | | | | | | | | Avoids warning with gcc 8.2: nouveau_xv.c:2136:1: warning: no previous prototype for ‘NVSetupTexturedVideo’ [-Wmissing-prototypes] NVSetupTexturedVideo (ScreenPtr pScreen, XF86VideoAdaptorPtr *textureAdaptor) ^~~~~~~~~~~~~~~~~~~~ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* dri2: Mark local create/destroy buffer and copy region functions as staticRhys Kidd2019-01-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Avoids warnings with gcc 8.2: nouveau_dri2.c:38:1: warning: no previous prototype for ‘nouveau_dri2_create_buffer2’ [-Wmissing-prototypes] nouveau_dri2_create_buffer2(ScreenPtr pScreen, DrawablePtr pDraw, unsigned int attachment, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nouveau_dri2.c:109:1: warning: no previous prototype for ‘nouveau_dri2_create_buffer’ [-Wmissing-prototypes] nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment, ^~~~~~~~~~~~~~~~~~~~~~~~~~ nouveau_dri2.c:117:1: warning: no previous prototype for ‘nouveau_dri2_destroy_buffer2’ [-Wmissing-prototypes] nouveau_dri2_destroy_buffer2(ScreenPtr pScreen, DrawablePtr pDraw, DRI2BufferPtr buf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nouveau_dri2.c:131:1: warning: no previous prototype for ‘nouveau_dri2_destroy_buffer’ [-Wmissing-prototypes] nouveau_dri2_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nouveau_dri2.c:137:1: warning: no previous prototype for ‘nouveau_dri2_copy_region2’ [-Wmissing-prototypes] nouveau_dri2_copy_region2(ScreenPtr pScreen, DrawablePtr pDraw, RegionPtr pRegion, ^~~~~~~~~~~~~~~~~~~~~~~~~ nouveau_dri2.c:215:1: warning: no previous prototype for ‘nouveau_dri2_copy_region’ [-Wmissing-prototypes] nouveau_dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion, ^~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* wfb: Remove declaration for undefined function nouveau_wfb_init()Rhys Kidd2019-01-201-1/+0
| | | | | Fixes: 794a277 ("nv50: use libwfb for pixmap access when driver pixmaps enabled") Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* xv: Avoid shadowed declaration of 'int ret' in NVPutImageRhys Kidd2019-01-201-1/+1
| | | | | | | | | | | | | | | | Warning reported by gcc 8.2: nouveau_xv.c: In function ‘NVPutImage’: nouveau_xv.c:1369:7: warning: declaration of ‘ret’ shadows a previous local [-Wshadow] int ret = BadImplementation; ^~~ nouveau_xv.c:1073:6: note: shadowed declaration is here int ret, i; ^~~ Fixes: a50bba6 ("xv: misc cleanups") Cc: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* xv: Avoid shadowed declaration of 'int i' in NVPutImageRhys Kidd2019-01-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | int i is accessed outside immediate scope so leave declaration at the highest common scope level: 1073: int ret, i; ... // Highest common scope ... 1193: if (newTTSize <= destination_buffer->size) { ... // Used in this scope ... 1248: } else { ... // Used in this scope ... 1316: } // Not used in this scope Warning reported by gcc 8.2: nouveau_xv.c: In function ‘NVPutImage’: nouveau_xv.c:1195:7: warning: declaration of ‘i’ shadows a previous local [-Wshadow] int i = 0; ^ nouveau_xv.c:1073:11: note: shadowed declaration is here int ret, i; ^ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* wfb: Fix missing init function decls behind FB_ACCESS_WRAPPERRhys Kidd2019-01-201-0/+1
| | | | | | | | | | | | | Fixes warning with xserver 1.20 and gcc 8.2: nv_driver.c:1443:9: warning: implicit declaration of function ‘wfbScreenInit’; did you mean ‘fbScreenInit’? [-Wimplicit-function-declaration] ret = wfbScreenInit(pScreen, FBStart, pScrn->virtualX, ^~~~~~~~~~~~~ fbScreenInit (See xserver 706e6d9cd074da606016ed4ecff51e9c2a822087) Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* xv: Silence build warning regarding const qualifierRhys Kidd2019-01-201-1/+1
| | | | | | | | | | | | | | | | Silences warning with gcc 8.2: nouveau_xv.c: In function ‘NVInitVideo’: nouveau_xv.c:2247:68: warning: passing argument 2 of ‘vlCreateAdaptorXvMC’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] adaptorsXvMC[0] = vlCreateAdaptorXvMC(pScreen, textureAdaptor[0]->name); ~~~~~~~~~~~~~~~~~^~~~~~ In file included from nouveau_xv.c:42: vl_hwmc.h:6:63: note: expected ‘char *’ but argument is of type ‘const char *’ XF86MCAdaptorPtr vlCreateAdaptorXvMC(ScreenPtr pScreen, char *xv_adaptor_name); ~~~~~~^~~~~~~~~~~~~~~ Signed-off-by: Rhys Kidd <rhyskidd@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
* Check for xf86CursorResetCursor()Rhys Kidd2019-01-202-0/+10
| | | | | | | | | | | | | | | | | | | | | | | If it's available, xorg-server calls it on each mode configuration change. It does what xf86_reload_cursors does (and more), so we don't need to call the latter anymore. Avoids gcc 8.2 warning: drmmode_display.c: In function ‘drmmode_set_mode_major’: drmmode_display.c:525:2: warning: ‘xf86_reload_cursors’ is deprecated [-Wdeprecated-declarations] xf86_reload_cursors(crtc->scrn->pScreen); ^~~~~~~~~~~~~~~~~~~ In file included from nv_type.h:10, from nv_include.h:69, from drmmode_display.c:36: /usr/include/xorg/xf86Crtc.h:1068:37: note: declared here static _X_INLINE _X_DEPRECATED void xf86_reload_cursors(ScreenPtr screen) {} ^~~~~~~~~~~~~~~~~~~ (Ported from radeon commit d670c5c9851b4eff21c845d26c7d7e4eb5ee0fa9) Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
* drmmode: update logic for dynamic connectors, paths, and tilesIlia Mirkin2018-12-091-55/+335
| | | | | | This largely copies the code from modesetting with minor adjustments. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* Fix colormap handling at screen depth 30. (v2)Mario Kleiner2018-12-091-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | The various clut handling functions like a setup consistent with the x-screen color depth. Otherwise we observe improper sampling in the gamma tables at depth 30. Tested at depths 16, 24 and 30 and tested at depths 24 and 30 that xgamma and gamma table animations work, and with measurement equipment to make sure identity gamma ramps actually are identity mappings at the output. v2: Also deal with X-Server 1.19 and earlier, which as of v1.19.6 lack a fix to color palette handling and can not deal with depths/bpc > 24/8 bpc. On < 1.20 we skip xf86HandleColormaps() setup at > 8 bpc. This disables color palette handling on such servers at > 8 bpc, but still keeps RandR gamma table handling intact. Tested on 1.19.6 and 1.20.0 to do the right thing. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* drmmode: provide better error when failing to set gammaIlia Mirkin2018-12-091-1/+2
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* dri3: don't check permissions on render nodeIlia Mirkin2018-03-081-14/+8
| | | | | | | The permission check fails if udev sets the render node to 0666 but leaves the card at 0660, as is done in at least udev-236. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nv50/xv: add support for depth 30 xv outputIlia Mirkin2018-02-043-4/+13
| | | | | | | Ostensibly it should probably be looking at the pixmap format. However it's always the window pixmap, so we can assume it's what we expect. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>