Arthur Huillet [Mon, 20 Aug 2007 21:50:43 +0000 (23:50 +0200)]
Workaround for NVComposite bug #11949
Accepting only PictOpSrc now, PictOpOver causing crashes.
Arthur Huillet [Mon, 20 Aug 2007 11:18:15 +0000 (13:18 +0200)]
Xv: fixed wrong fix of big endian NV12 copy, as explained by Daniel Chassot
No sleepless coding ever again. <- big lie
Arthur Huillet [Sun, 19 Aug 2007 22:46:00 +0000 (00:46 +0200)]
Xv: patch from Daniel Chassot to do 32bit memory writes in NVCopyNV12ColorPlanes, with minor reworking of mine
Arthur Huillet [Sun, 19 Aug 2007 19:04:00 +0000 (21:04 +0200)]
Xv: this time a correct matching ? :)
Arthur Huillet [Sun, 19 Aug 2007 18:18:49 +0000 (20:18 +0200)]
Xv: stupid build error. blah.
Arthur Huillet [Sun, 19 Aug 2007 18:14:38 +0000 (20:14 +0200)]
Xv: now catching all chips < NV17
Arthur Huillet [Sun, 19 Aug 2007 17:50:57 +0000 (19:50 +0200)]
Xv: disabled YV12 overlay on < NV17
Arthur Huillet [Thu, 16 Aug 2007 22:45:47 +0000 (00:45 +0200)]
Xv: now only uploading the part of source image that is used to workaround bandwidth problems
Arthur Huillet [Wed, 15 Aug 2007 00:27:15 +0000 (02:27 +0200)]
Cleaner DMA and CPU copy upload of color plane for overlay. Fixes a few bugs and is necessary for the bandwidth problem workaround.
Patrice Mandin [Tue, 14 Aug 2007 20:26:02 +0000 (22:26 +0200)]
Can not setup dfp modes with xorg-server-1.1 also
Patrice Mandin [Tue, 14 Aug 2007 20:12:37 +0000 (22:12 +0200)]
Make NV30 EXA disablable
Arthur Huillet [Tue, 14 Aug 2007 13:01:58 +0000 (15:01 +0200)]
Implemented CPU copy fallback for native YV12 overlay as well.
Arthur Huillet [Tue, 14 Aug 2007 12:47:44 +0000 (14:47 +0200)]
Native YV12 overlay support, cleaner Xv code
Added support for a native YV12 overlay for NV10+ cards.
Cleaned up Xv code.
CPU copy fallback does not do native YV12 yet.
Bandwidth problem with YV12.
Carlos Martín Nieto [Sat, 11 Aug 2007 10:27:56 +0000 (12:27 +0200)]
Don't dereference the uninitialised pNv->FB pointer.
Opps, mea culpa. I accidentally commited a debug statement that
dereferences an uninitialised pointer.
Carlos Martín Nieto [Fri, 10 Aug 2007 18:01:27 +0000 (20:01 +0200)]
Move DRI's FB to the higher half of VRAM
If we don't, DRM's push buffer takes the map away from us.
This is just a workaround until that useless DRI mapping goes away.
Arthur Huillet [Fri, 10 Aug 2007 18:59:12 +0000 (20:59 +0200)]
of course, we don't need Xv debug messages upstream
Arthur Huillet [Fri, 10 Aug 2007 17:28:22 +0000 (19:28 +0200)]
"smart" overlay with composite, and a tentative fix of flickering when dropping frames
added "smart overlay" when composite is enabled. not extensively tested
now not changing the buffer when skipping frames - not sure it even has an impact.
Ben Skeggs [Wed, 8 Aug 2007 15:46:46 +0000 (01:46 +1000)]
Fix blit adaptor + NVWaitVBlank() (ie. replace old magic 0x400710 hack)
Stephane Marchesin [Wed, 8 Aug 2007 10:45:59 +0000 (12:45 +0200)]
And of course, we don't really need these ErrorFs. Not any more than last time.
Stephane Marchesin [Wed, 8 Aug 2007 10:38:14 +0000 (12:38 +0200)]
Oh, and of course we need a new object.
Stephane Marchesin [Wed, 8 Aug 2007 10:37:31 +0000 (12:37 +0200)]
Use IMAGE_FROM_CPU for smaller UTS. This is async and helps a lot with glyphs especially.
Ben Skeggs [Wed, 8 Aug 2007 01:48:48 +0000 (11:48 +1000)]
Add forgotten prototype
Ben Skeggs [Wed, 8 Aug 2007 00:32:08 +0000 (10:32 +1000)]
Timeouts got lost somewhere along the way..
Stephane Marchesin [Tue, 7 Aug 2007 21:42:09 +0000 (23:42 +0200)]
Fix some overlooked hardcoded subchannels...
Stephane Marchesin [Mon, 6 Aug 2007 21:30:04 +0000 (23:30 +0200)]
Fix explicit usage of subchannels, and remove subchannel defines altogether.
Matthieu Castet [Mon, 6 Aug 2007 17:55:52 +0000 (19:55 +0200)]
make XAA work on nv17
Stephane Marchesin [Mon, 6 Aug 2007 16:27:19 +0000 (18:27 +0200)]
oops remove the debugging ErrorFs.
Stephane Marchesin [Mon, 6 Aug 2007 16:13:13 +0000 (18:13 +0200)]
Fix UTS/DFS when gart is smaller than transfer size.
Ben Skeggs [Mon, 6 Aug 2007 16:09:30 +0000 (02:09 +1000)]
NVDmaSetObjectFromSubchannel doesn't exist anymore!
Stephane Marchesin [Mon, 6 Aug 2007 15:29:41 +0000 (17:29 +0200)]
Add subchannel handling code
Ben Skeggs [Mon, 6 Aug 2007 11:45:50 +0000 (21:45 +1000)]
Adapt to drm 0.0.10
Arthur Huillet [Sun, 5 Aug 2007 23:37:17 +0000 (01:37 +0200)]
Xv: waiting for last transfers to finish before freeing notifiers
Ben Skeggs [Sun, 5 Aug 2007 14:13:35 +0000 (00:13 +1000)]
Clamp NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT to 2047 lines.
At least NV40 can't handle values larger than this. Patch fixes hang
when visiting opengl.org.
Arthur Huillet [Mon, 30 Jul 2007 01:27:55 +0000 (03:27 +0200)]
Xv now manages a pool of 6 notifiers for its double buffering. Also improved the memory allocation logic.
Arthur Huillet [Sat, 28 Jul 2007 23:54:42 +0000 (01:54 +0200)]
Xv: fixed bugs when displayed only part of the source image (tvtime with overscan)
Xv: fixed bug with overlay behaving badly when window is partly out of screen
Xv: clean up NVPutImage code
Dave Airlie [Sat, 28 Jul 2007 06:34:49 +0000 (16:34 +1000)]
exa: disable compositing on big endian machines
This at least allows me to see what I'm typing for now :-)
Arthur Huillet [Fri, 27 Jul 2007 17:50:48 +0000 (19:50 +0200)]
no overlay with composite
Arthur Huillet [Fri, 27 Jul 2007 14:28:48 +0000 (16:28 +0200)]
Xv: gotos are evil
Arthur Huillet [Fri, 27 Jul 2007 13:11:31 +0000 (15:11 +0200)]
Removed comments in preparation for upstream push
Arthur Huillet [Thu, 26 Jul 2007 21:00:02 +0000 (23:00 +0200)]
re-added CPU copy code as a second fallback option (first being to use X GARTScratch)
Arthur Huillet [Thu, 26 Jul 2007 14:08:40 +0000 (16:08 +0200)]
Completely removed notifier wait, when using double buffered stuff.
I may have to re-add a wait in the future, but I'm not sure yet how to use two notifiers at a time.
Arthur Huillet [Thu, 26 Jul 2007 13:21:08 +0000 (15:21 +0200)]
Preliminary implementation of "host-side double buffering" to improve performance of Xv
Arthur Huillet [Wed, 25 Jul 2007 20:23:37 +0000 (22:23 +0200)]
removed pointless sleep in notifier wait
Arthur Huillet [Fri, 20 Jul 2007 15:46:18 +0000 (17:46 +0200)]
cleaner Xv code - fallback on CPU copy yet to be implemented
Arthur Huillet [Thu, 19 Jul 2007 23:33:49 +0000 (01:33 +0200)]
Now using GART as the source for the blitter - preliminary implementation, gotta clean it up
Arthur Huillet [Thu, 19 Jul 2007 23:22:11 +0000 (01:22 +0200)]
now yielding in the wait for notifier for Xv only
Arthur Huillet [Sat, 14 Jul 2007 23:00:19 +0000 (01:00 +0200)]
VERY EXPERIMENTAL now EXA waits for sync before its operations - this removed the text corruption and didn't affect performance here, please report.
Arthur Huillet [Sat, 14 Jul 2007 22:35:46 +0000 (00:35 +0200)]
VERY EXPERIMENTAL moved the notifier wait at the beginning of NvPutImage
Arthur Huillet [Thu, 12 Jul 2007 01:19:21 +0000 (03:19 +0200)]
new structure for PutImage, and DMA transfers
Ben Skeggs [Tue, 17 Jul 2007 03:09:34 +0000 (13:09 +1000)]
Emit NOTIFY+NOP sequence after M2MF.
Ben Skeggs [Fri, 13 Jul 2007 05:28:56 +0000 (15:28 +1000)]
Play "nuke the typedef"
Ben Skeggs [Thu, 12 Jul 2007 00:47:53 +0000 (10:47 +1000)]
Match drm 0.0.9 interface changes.
Arthur Huillet [Wed, 11 Jul 2007 00:42:24 +0000 (02:42 +0200)]
added support for PCI GART when no AGP is available - requires DRM interface version 8
Ben Skeggs [Sun, 1 Jul 2007 08:22:37 +0000 (18:22 +1000)]
Always provide UTS, fallback to memcpy if no GART.
Ben Skeggs [Sun, 1 Jul 2007 08:19:44 +0000 (18:19 +1000)]
Always provide DFS, use memcpy fallback if no GART.
Ben Skeggs [Sat, 30 Jun 2007 05:27:07 +0000 (15:27 +1000)]
Remove some unused cruft
Ben Skeggs [Fri, 29 Jun 2007 18:26:48 +0000 (04:26 +1000)]
No need to call exaMarkSync() in UTS/DFS.
Ben Skeggs [Thu, 28 Jun 2007 05:16:35 +0000 (15:16 +1000)]
Bail if GlxSetVisualConfigs isn't found.
Ben Skeggs [Mon, 25 Jun 2007 02:45:31 +0000 (12:45 +1000)]
Bump required xorg-server version to 1.3
Ben Skeggs [Mon, 25 Jun 2007 02:44:12 +0000 (12:44 +1000)]
Check PRAMIN for BIOS image if not found in PROM.
Ben Skeggs [Sun, 24 Jun 2007 07:48:33 +0000 (17:48 +1000)]
Implement NV40 EXA composite hooks with 3D engine.
Named NV30EXA, but won't work on NV30 just yet. This should change at some
point in the future.
Will likely break non-voodoo'd NV4X cards (if the latest drm changes didn't
already break them). Use EXANoComposite xorg.conf option to disable the hook
if that's the case.
Ben Skeggs [Sun, 24 Jun 2007 07:34:10 +0000 (17:34 +1000)]
Slightly saner UploadToScreen implementation
Ben Skeggs [Sun, 24 Jun 2007 07:27:42 +0000 (17:27 +1000)]
Wait on notifier instead of PGRAPH_STATUS
When multiple channels are in use, PGRAPH_STATUS may report busy even if the
ddx's channel is idle.
Ben Skeggs [Sun, 24 Jun 2007 07:21:27 +0000 (17:21 +1000)]
Match drm 0.0.7 interface changes
Ben Skeggs [Sun, 24 Jun 2007 06:47:36 +0000 (16:47 +1000)]
Hide the allocator's use of physical addresses
Ben Skeggs [Sun, 24 Jun 2007 06:46:40 +0000 (16:46 +1000)]
Pass pScrn instead of pNv in a few places
Ben Skeggs [Mon, 11 Jun 2007 10:36:28 +0000 (20:36 +1000)]
don't nuke user-specified CFLAGS
Henry Zhao [Sun, 22 Apr 2007 23:38:09 +0000 (01:38 +0200)]
Import from nv : Need to inject a mode corresponding panel width/height for validation
Richard Hughes [Sun, 15 Apr 2007 21:01:52 +0000 (23:01 +0200)]
Fix make dist.
Ben Skeggs [Sun, 25 Mar 2007 15:04:15 +0000 (01:04 +1000)]
nouveau: rip out card init, everything except modesetting.
Ben Skeggs [Wed, 21 Mar 2007 06:55:38 +0000 (17:55 +1100)]
nouveau: bump for drm interface changes (v0.0.5)
Matthieu Castet [Sun, 18 Mar 2007 10:30:54 +0000 (11:30 +0100)]
Fix "Fix NoAccel mode" commit : NVAccelCommonInit return a bool
Matthieu Castet [Sun, 18 Mar 2007 10:28:04 +0000 (11:28 +0100)]
Fix NoAccel mode
Ben Skeggs [Wed, 7 Mar 2007 10:41:22 +0000 (21:41 +1100)]
Rip out nv30_exa.c, we have other means to play with the 3D engine now.
Ben Skeggs [Wed, 7 Mar 2007 05:46:27 +0000 (16:46 +1100)]
Xv: Make the blit adaptor play nice with EXA
Previously the blit adaptor assumed that all drawing (ie. XAA) would occur to
the screen pixmap, so it didn't bother touching surface offsets. Now, with
EXA this isn't true and the card complained about exceeding the colour buffer
limits when attempting to play video.
This patch kills 2 birds with one stone; instead of pointing the GPU back at
the screen pixmap when playing video, we point it at the destination drawable.
So, Xv will also hopefully play nicely with redirected windows now.
Ben Skeggs [Wed, 7 Mar 2007 02:58:48 +0000 (13:58 +1100)]
Only use Y32 for Solid().
It's the only place the workaround is needed at this point, and in some places
we need to use the "proper" ARGB format (Xv for instance).
Ben Skeggs [Tue, 6 Mar 2007 17:33:44 +0000 (04:33 +1100)]
Fail configure if xorg-server isn't at least version 1.1
The minimum requirement has been 1.1 for a while now, but would only fail
at compile time when compiling nv_exa.c. This patch makes configure fail,
and removes the remaining conditional support for older servers.
Hopefully the configure.ac is ok, I suck at autofoo.
Ben Skeggs [Tue, 6 Mar 2007 17:22:24 +0000 (04:22 +1100)]
reindent and move nv_video.c around a bit
Ben Skeggs [Mon, 5 Mar 2007 18:42:29 +0000 (05:42 +1100)]
Use Y32 format instead of A8R8G8B8 for 32-bpp pixmaps
fixes 32-bpp EXA solid-fills, previously alpha was forced to 0xff.
Ben Skeggs [Mon, 5 Mar 2007 03:45:04 +0000 (14:45 +1100)]
move NVAccel* funcs into nv_accel_common.c
Stephane Marchesin [Sun, 4 Mar 2007 21:40:48 +0000 (22:40 +0100)]
Joint patch from Ben Skeggs and me that fixes some (all ?) composite issues.
Ben Skeggs [Wed, 28 Feb 2007 21:39:23 +0000 (08:39 +1100)]
nouveau: avoid attempting an AGP-only alloc
will fail on non-AGP cards, and leave nasty messages in Xorg.log...
Ben Skeggs [Wed, 28 Feb 2007 04:30:52 +0000 (15:30 +1100)]
match drm v4 interface changes
context (gr/dma) object handling:
- remove use of flags/dmaobj when creating objects
- move object creation/setup into nv_accel_common.c
- NV04: make PGRAPH complain a bit more if we program the hardware
incorrectly.
- NV04/NV10: enable PGRAPH_DEBUG_3_CTX_METHODS
This bit seems to enable the use of SET_* methods.
- NV04/NV10/NV40: enable PGRAPH_DEBUG_3_IGNORE_PATCHVALID
Objects no longer get PATCH_CONFIG_VALID set in their context.
Not sure how to get this set other than to intercept the
PATCH_EXCEPTION error and enable the flag. I opted for the
same method NVIDIA use, which makes PGRAPH ignore it.
misc:
- use NV04_SCALED_IMAGE_FROM_MEMORY on all NV_ARCH_04 cards
- fix offScreenBase calculation (EXA)
- move mem alloc/free helpers into nv_mem.c
Adam Jackson [Tue, 27 Feb 2007 19:46:20 +0000 (14:46 -0500)]
Typo fix.
Damien Thebault [Tue, 13 Feb 2007 23:35:50 +0000 (00:35 +0100)]
Don't output the chipset list to the log file, silence some warnings.
Stephane Marchesin [Tue, 13 Feb 2007 23:29:52 +0000 (00:29 +0100)]
Fix the workaround (or workaround the fix).
Stephane Marchesin [Wed, 24 Jan 2007 19:39:40 +0000 (20:39 +0100)]
Make NV_DMA_DEBUG print the fifo position.
Stephane Marchesin [Wed, 24 Jan 2007 18:13:05 +0000 (19:13 +0100)]
Increase the fifo dump size.
B. Rathmann [Wed, 24 Jan 2007 12:46:16 +0000 (13:46 +0100)]
Fix the G70 issues.
Ben Skeggs [Fri, 19 Jan 2007 04:40:22 +0000 (15:40 +1100)]
bump drm patchlevel
Jeremy Kolb [Fri, 19 Jan 2007 02:28:51 +0000 (21:28 -0500)]
Fill in some more nv30 magic values. Not sure what they do yet but they don't hurt anything.
Apply names to other registers.
Jeremy Kolb [Wed, 17 Jan 2007 13:34:56 +0000 (08:34 -0500)]
Fix PGRAPH_DEBUG* regs to match what's done on the nv35. Specifically change DEBUG_3 | 0x00de0000 for data/format/dma checking. This is consistent with other cards and dumps so it should be correct.
David Jeannot [Mon, 15 Jan 2007 23:03:56 +0000 (00:03 +0100)]
Indent nv_bios.c properly.
Patrice Mandin [Fri, 12 Jan 2007 19:25:16 +0000 (20:25 +0100)]
Add missing include for malloc/free
Jeremy Kolb [Fri, 12 Jan 2007 05:26:20 +0000 (00:26 -0500)]
NV30: Set DEBUG3 reg bit 1. Turns on automatic hw context switching.
jkolb@brandeis.edu [Fri, 3 Nov 2006 01:23:36 +0000 (20:23 -0500)]
Just a superficial cleaning up. Nothing exciting.
Ben Skeggs [Tue, 2 Jan 2007 04:08:36 +0000 (15:08 +1100)]
NV4x changes to work with latest drm.
Stephane Marchesin [Wed, 27 Dec 2006 20:52:15 +0000 (21:52 +0100)]
Output the driver date to the logs on startup.
Ben Skeggs [Mon, 11 Dec 2006 13:13:05 +0000 (00:13 +1100)]
Remove final remaining PRAMIN access (NV04-specific), the drm handles it now
Ben Skeggs [Fri, 8 Dec 2006 07:09:26 +0000 (18:09 +1100)]
Provide some visuals with a stencil buffer, and actually call NVDRIInitVisualConfigs.