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.
Matthieu Castet [Wed, 6 Dec 2006 21:09:23 +0000 (22:09 +0100)]
Merge branch 'master' of git+ssh://matc@git.freedesktop.org/git/nouveau/xf86-video-nouveau/
Matthieu Castet [Wed, 6 Dec 2006 21:07:26 +0000 (22:07 +0100)]
More pgraph regs
Stephane Marchesin [Sun, 3 Dec 2006 09:20:04 +0000 (10:20 +0100)]
Merge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/xf86-video-nouveau
Stephane Marchesin [Sun, 3 Dec 2006 09:14:04 +0000 (10:14 +0100)]
Introduce lock step versioning with the drm.
Fix the MEM_ALLOC issue.
Matthieu Castet [Tue, 28 Nov 2006 18:12:55 +0000 (19:12 +0100)]
Don't alloc fifo if it is not needed.
Stephane Marchesin [Sun, 26 Nov 2006 23:03:11 +0000 (00:03 +0100)]
Mandatory oops commit.
Andrew Mitchell [Sun, 26 Nov 2006 22:59:06 +0000 (23:59 +0100)]
Remove XF86DRI defines from the driver. It's already mandatory anyway.
airlied [Fri, 17 Nov 2006 05:23:38 +0000 (16:23 +1100)]
add VGA CRTC registers from haiku
Dave Airlie [Fri, 17 Nov 2006 01:55:37 +0000 (12:55 +1100)]
remove nvvga.h unused
Dave Airlie [Fri, 17 Nov 2006 01:51:11 +0000 (12:51 +1100)]
find and version DRM earlier in startup sequence so it is loaded firstup
Matthieu Castet [Thu, 16 Nov 2006 23:59:58 +0000 (00:59 +0100)]
Cleanup of PVIDEO.
Matthieu Castet [Wed, 15 Nov 2006 21:10:27 +0000 (22:10 +0100)]
Use objects from nouveau_reg.h.
Ben Skeggs [Tue, 14 Nov 2006 14:22:18 +0000 (01:22 +1100)]
Set SURFACE_FORMAT in NVExaPrepareCopy. Fixes one of the many issues with xorg-server-1.2
Ben Skeggs [Tue, 14 Nov 2006 13:47:04 +0000 (00:47 +1100)]
nv_exa.c tab goodness
Ben Skeggs [Mon, 13 Nov 2006 21:31:21 +0000 (08:31 +1100)]
Fix type. 0x84 is DEBUG_1
Ben Skeggs [Mon, 13 Nov 2006 16:09:05 +0000 (03:09 +1100)]
Fill in front_offset/front_pitch
Ben Skeggs [Sun, 12 Nov 2006 05:04:32 +0000 (16:04 +1100)]
Add NVDRIFinishScreenInit.
Dave Airlie [Sun, 12 Nov 2006 03:08:45 +0000 (14:08 +1100)]
add some names to registers
Ben Skeggs [Sat, 11 Nov 2006 20:43:24 +0000 (07:43 +1100)]
Import nouveau_dri.h from the 3D driver as nv_dri.h, and setup DRIInfo->devPrivate.
Ben Skeggs [Sat, 11 Nov 2006 20:33:53 +0000 (07:33 +1100)]
Temporary workaround for DRI drmMap problem, not sure of what we actually need to do here yet.
Ben Skeggs [Sat, 11 Nov 2006 20:28:31 +0000 (07:28 +1100)]
nv_dri.c still had some space-indented functions, not anymore :)
Stephane Marchesin [Mon, 6 Nov 2006 02:14:07 +0000 (03:14 +0100)]
Merge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/xf86-video-nouveau
Stephane Marchesin [Mon, 6 Nov 2006 02:13:50 +0000 (03:13 +0100)]
Added a DRI visual configs functions. It should work but I can't test it...
Ben Skeggs [Mon, 6 Nov 2006 00:54:19 +0000 (11:54 +1100)]
Fix TEX0_IN_TEX1 fragprog.. I must've been asleep when I did that..
Dave Airlie [Mon, 6 Nov 2006 00:45:53 +0000 (11:45 +1100)]
use pagesize to work out the sarea size
Dave Airlie [Sun, 5 Nov 2006 21:39:49 +0000 (08:39 +1100)]
don't fail dri module load if loaded already
Dave Airlie [Sun, 5 Nov 2006 07:00:29 +0000 (18:00 +1100)]
Merge ssh://10.1.1.200/home/airlied/git/xf86-video-nouveau
Dave Airlie [Sun, 5 Nov 2006 06:59:17 +0000 (17:59 +1100)]
fix G5 endianness issue with panel size regs
Dave Airlie [Sun, 5 Nov 2006 06:53:53 +0000 (17:53 +1100)]
Merge branch 'master' of ssh://git.freedesktop.org/git/nouveau/xf86-video-nouveau
Dave Airlie [Sun, 5 Nov 2006 06:51:10 +0000 (17:51 +1100)]
set the PPC use BE MMIO
Stephane Marchesin [Sat, 4 Nov 2006 15:57:30 +0000 (16:57 +0100)]
Remove the context object flags handling from the DDX since it's now in the DRM.
Stephane Marchesin [Sat, 4 Nov 2006 03:47:57 +0000 (04:47 +0100)]
Add the NV44A 3D object class.
Ben Skeggs [Thu, 2 Nov 2006 17:00:09 +0000 (04:00 +1100)]
Use "do { blah; } while(0)" instead of just braces. (suggestion from megari on irc)
Ben Skeggs [Thu, 2 Nov 2006 05:07:26 +0000 (16:07 +1100)]
Install NV30_TCL EXA hooks if NV_ENABLE_3D is defined.
Ok.. Firstly I don't recommend using this code, it is not ready for general
usage. We probably only want to keep the Composite hook, but the others are
useful to test things with.
1. You will most likely (read: definitely) need to start X with the binary
driver before starting X with nouveau/NV30_TCL.. If you don't PGRAPH will
yell at you and X will crash.
2. Copy() is bad when the src and dest are the same, so scrolling and moving
windows around will fall back to software rendering..
3. Composite() is slightly better than the one in nv_exa.c, but it's buggy in
a few cases and not complete yet. Particularly, transforms are missing.
4. There are some correctness problems that I haven't bothered to fix yet, so
you'll probably see bits of windows left behind when moving them around..
5. Don't be surprised if it's horribly broken :)
Ben Skeggs [Thu, 2 Nov 2006 04:57:47 +0000 (15:57 +1100)]
Put braces around NVDmaSetObjectOnSubchannel...
Ben Skeggs [Thu, 2 Nov 2006 03:52:24 +0000 (14:52 +1100)]
Merge >=NV30-specific EXA code.. hard-disabled pending testing on my C51, and a proper commit message..
Ben Skeggs [Wed, 1 Nov 2006 14:29:34 +0000 (01:29 +1100)]
Reformat NVExaInit
Ben Skeggs [Wed, 1 Nov 2006 14:18:14 +0000 (01:18 +1100)]
First part of preparation for NV30_TCL EXA code merge.
Ben Skeggs [Wed, 1 Nov 2006 13:38:53 +0000 (00:38 +1100)]
Reindent nv_dma.c with tabs..
Ben Skeggs [Wed, 11 Oct 2006 00:06:16 +0000 (11:06 +1100)]
s/init/alloc/
Stephane Marchesin [Tue, 10 Oct 2006 22:39:36 +0000 (00:39 +0200)]
Remove the PFIFO_REINIT hack, and enable the irq by default. This commit requires the matching drm commit, and will probably break stuff.
Ben Skeggs [Thu, 14 Sep 2006 02:56:28 +0000 (12:56 +1000)]
It usually helps to wait on a notifier, and not on a NVAllocRec.. Oops.
Ben Skeggs [Thu, 14 Sep 2006 02:17:32 +0000 (12:17 +1000)]
Allocate notifiers with NVAllocateMemory.
Fix some warnings.
Return success/fail for DMA and Context object creation.
Stephane Marchesin [Tue, 5 Sep 2006 05:39:10 +0000 (07:39 +0200)]
Port some of the least intrusive nv03 code to the nouveau driver.