summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* fix crash in nouveau_glamor_set_shared_pixmap_backingMaarten Lankhorst2014-10-221-0/+5
|
* move down call to nouveau_present_init until after fb init.Maarten Lankhorst2014-10-221-1/+1
|
* enable dri3 support without glamorMaarten Lankhorst2014-10-226-10/+143
|
* kepler: remove unnecessary texbars, add live-only tex for nvf0Ilia Mirkin2014-10-0420-42/+24
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* allow path to envyas binary to be specifiedIlia Mirkin2014-10-041-6/+7
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* copy: don't bother trying to create copy on pre-nva3Ilia Mirkin2014-10-041-1/+5
| | | | | | | | Only the NVA3/5/8/F tesla chips have a copy engine. Don't bother trying to create one on earlier tesla chips (and thus printing an error on failure). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* Bump version to 1.0.11 for release.xf86-video-nouveau-1.0.11Mario Kleiner2014-09-011-1/+1
| | | | | | | | | | | | | | | | | | | Highlights: - Support for server managed fd's. - Glamor support. - Maxwell support. - DRI3 and initial Present support. - vsync'ed kms pageflip performance fixes when running on Linux 3.13+ - Multi-display vsync, vblank, swap scheduling, timestamping fixes. - Multi x-screen support fixes. - ZaphodHead support on for multiple outputs per x-screen. - EXA nv-10 fixes. - Enable sync of swaps to vblank by default (Option GLXVblank "on"). - Disable pseudo-triplebuffering by default (Option SwapLimit "1"). Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Set default SwapLimit to 1 for double-buffering.Mario Kleiner2014-09-012-4/+4
| | | | | | | | | | | | | | | This used to be 2 for pseudo-triplebuffering on XOrg 1.12+. However, it caused problems like unthrottled swapping at up to twice the video refresh rate for redirected windows under desktop composition, which can't be easily fixed under dri2. Default to double-buffering. Users can override this, but dri3 provides better solutions for this. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* xv/dri2/dri3: Switch to optimized crtc selection for drawables.Mario Kleiner2014-09-017-57/+138
| | | | | | | | | | | | | | | | | | | Make crtc selection consistent with ati and intel ddx. Pick the crtc to use for vblank events, swap scheduling and kms-pageflip completion events as the one with maximum pixel area intersection between its viewport and the drawable. If multiple crtc's viewports display the same amount of area of a drawable, select the crtc whose output is the designated "primary output" for the x-screen. The latter allows, e.g., in a clone display setup, to select the important output on which tearing should be minimized. The former makes sure to minimize or avoid tearing on the display which shows the largest part of the drawable. This method is transplanted from the ati ddx. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Add file "compile" to .gitignoreMario Kleiner2014-09-011-0/+1
| | | | | | | | Some auto-generated file by new make systems to deal with some old compilers. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Fix event handling on multi-x-screen configs.Mario Kleiner2014-08-172-8/+24
| | | | | | | | | | | | | | | | | | | | | Only register the wakeup handler and event socket once per card fd and server generation, as the fd and device file is shared between all x-screens for a given card during a given server generation. Without this fix, vblank and kms-pageflip completion event processing don't work properly, as the server doesn't kick the wakeup handler for gpu events, and therefore the desktop will freeze, unless the user manually kicks the wakeup handler by moving the mouse or hitting the keyboard. Add proper reference counting and checks to make it so. This fix is derived from a similar and proven fix in the ati ddx for the same problem. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Make new ZaphodHeads work across server regenerations.Mario Kleiner2014-08-172-0/+9
| | | | | | | | Reset the mask of already assigned crtc's at start of each new server generation. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2 and xv: Fix NVxxSyncToVBlank() for multi-x-screen's.Mario Kleiner2014-08-173-3/+15
| | | | | | | | Use helper function drmmode_head() to choose proper hw-crtc to sync to. Fixes xv blits, and dri2 Copy-Swaps. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* fix glamor header checkBen Skeggs2014-08-111-7/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* present: use drmmode_head() where it's appropriateBen Skeggs2014-08-111-22/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Allow/Fix use of multiple ZaphodHead outputs per x-screen.Mario Kleiner2014-08-113-15/+37
| | | | | | | | | | | | | | | | | | | | Defining multiple ZaphodHead outputs per x-screen in a multiple x-screen's per gpu configuration caused all outputs except one per x-screen to go dark, because there was a fixed mapping x-screen number -> crtc number, limiting the number of crtc's per x-screen to one. On a ZaphodHead's setup, be more clever and assign as many crtc's to a given x-screen as there are ZaphodHeads defined for that screen, assuming there are enough unused crtc's available. Tested on a triple display setup with different combos of one, two or three ZaphodHeads per one, two or three x-screens. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Fix drmWaitVblank on multi-x-screen configs.Mario Kleiner2014-08-114-12/+33
| | | | | | | | | | | | | | | | | Old mapping of xf86Crtc -> display head index was too simple and only worked on a single x-screen config. Introduce a new helper function drmmode_hw_head_index() which returns proper mapping also for multi x-screens per gpu and ZaphodHeads setups and other non-standard multi- display configurations. Tested on triple-head setup with various ZaphodHead and server layout combos. This helper will be also needed for dri3/present code. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
* exa/nv10: src ops should use the SF macroIlia Mirkin2014-08-111-1/+1
| | | | | | | Doesn't actually end up mattering. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* exa/nv10: fix blend function setup to check the correct maskIlia Mirkin2014-08-111-3/+3
| | | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* exa/nv10: use color 0 when the pict format has no RGB componentIlia Mirkin2014-08-111-1/+1
| | | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* exa/nv10: use same clip settings as mesa driverIlia Mirkin2014-08-111-2/+2
| | | | | | | | | | The higher 0x800 was getting overwritten by the 0x7ff anyways, so it wasn't doing any good. The mesa driver just uses 0x800 for the low portion and doesn't set the 8 bit in the higher portion, so do the same thing here. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* xorg_list: define the xorg_list* symbolsEmil Velikov2014-07-033-0/+26
| | | | | | | | | | ...when building against pre 1.12 x. The build will fail as earlier versions of X were missing the xorg_ prefix of the symbols - struct and util functions. Reported-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* fix a harmless typoBen Skeggs2014-07-011-1/+1
| | | | | | | fdo#80738 Reported-by: Paulo Sérgio Travaglia <pstglia@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Add support for handling more than 2 crtc'sMario Kleiner2014-06-241-5/+21
| | | | | | | | | Need to use the DRM_VBLANK_HIGH_CRTC bits to allow selecting crtc's with id > 1 on latest gpu's with up to four display engines. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* present: build only when glamor is enabledMarcin Slusarz2014-06-242-2/+6
| | | | | | | | nouveau_present_flip_exec references glamor_fd_from_pixmap, which do not exist when glamor is disabled Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* glamor: fix build without glamor.hMarcin Slusarz2014-06-241-1/+7
| | | | | | | | | | | | xorg-server can be built without glamor, which leads to: CC nouveau_xv.lo In file included from nouveau_xv.c:41:0: nouveau_glamor.h:12:20: fatal error: glamor.h: No such file or directory compilation terminated. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Enable sync of bufferswaps to Vblank by default.Mario Kleiner2014-06-212-1/+2
| | | | | | | Make this consistent with other drivers default behaviour. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Fix kms pageflip completion timestamping.Mario Kleiner2014-06-211-1/+1
| | | | | Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Add kernel async_flip cap detection. Part II of double-sync fix.Mario Kleiner2014-06-211-0/+11
| | | | | | | | | Query if kernel supports the async_flip cap, thereby needs the new sync behavior. Linux 3.13+ nouveau-kms have this cap and need this fix. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: Fix double-sync of pageflips on Linux 3.13+ - Part IMario Kleiner2014-06-212-3/+15
| | | | | | | | | | | | | | | | Linux 3.13 and later sync kms pageflips to vblank in the kms driver, so we must not emit a sync to vblank pushbuf in the ddx on such kernels, or maximum framerate will be cut into half! A sync-to-vblank-pushbuf is emitted for copyswaps as in the past, also for older kernels which don't support async_pageflip's and don't sync by themselves. This adds the implementation, but not the detection logic for async_pageflip support in the kernel. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* Fix nouveau_copy_init()Mario Kleiner2014-06-211-0/+1
| | | | | Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* another build fix...Ben Skeggs2014-06-201-1/+1
|
* present: initial supportBen Skeggs2014-06-207-2/+378
| | | | | | Until glamor grows its own implementation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* kms: implement a more generic event mechanismBen Skeggs2014-06-203-42/+161
| | | | | | Present wants to use this too. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: move page flip handling out of drmmodeBen Skeggs2014-06-203-136/+138
| | | | | | | Nothing to see here... This is to (hopefully) avoid busting DRI2 while implementing Present support. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: move away from directly touching drmmode on page flipsBen Skeggs2014-06-202-18/+31
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: shuffle some functions aroundBen Skeggs2014-06-201-121/+125
| | | | | | Nothing to see here... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* glamor: fix randr resizeBen Skeggs2014-06-202-7/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* sync: fix build against DRI3-less serverBen Skeggs2014-06-201-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* update man page with new chips, AccelMethod optionIlia Mirkin2014-06-191-6/+23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* default to glamor on maxwellBen Skeggs2014-06-191-1/+6
| | | | | | We have no RENDER/Xv acceleration in EXA for Maxwell. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* glamor: provide dri3 support when enabledBen Skeggs2014-06-196-2/+160
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* glamor: initial support (no dri)Ben Skeggs2014-06-199-13/+338
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* add support for maxwell, minus Xv/renderaccelBen Skeggs2014-06-193-1/+6
| | | | | | | | More extensive acceleration will be via glamor, at least to begin with. It seems to make sense to jump on the bandwagon now, and deal with any issues that arise before it it becomes the standard for XWayland. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* 50/c0/e0 -> tesla/fermi/keplerBen Skeggs2014-06-1911-52/+53
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* merge nv_dma.c into nv_accel_common.cBen Skeggs2014-06-195-138/+80
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pull copy engine handling into one place, a place that isn't also exaBen Skeggs2014-06-1916-268/+471
| | | | | | As a side-effect, we now allow Kepler to use async copies too. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* exa: move module load into nouveau_exa_initBen Skeggs2014-06-192-7/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* dri2: move "is supported" checks out of nv_driver.cBen Skeggs2014-06-192-5/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* replace NoAccel with AccelMethod in preparation for glamor supportBen Skeggs2014-06-197-40/+56
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>