Stuart Bennett [Sun, 24 Aug 2008 02:56:16 +0000 (03:56 +0100)]
randr12: unify output funcs for analogue and tmds
Stuart Bennett [Sun, 24 Aug 2008 02:12:58 +0000 (03:12 +0100)]
randr12: unified entry path for dpms
Stuart Bennett [Sun, 24 Aug 2008 03:45:48 +0000 (04:45 +0100)]
randr12: nouveau_output -> nouveau_connector
Stuart Bennett [Sun, 24 Aug 2008 01:45:41 +0000 (02:45 +0100)]
randr12: separate encoder struct
Stuart Bennett [Sun, 14 Sep 2008 15:53:12 +0000 (16:53 +0100)]
Another DCB 1.4/1.5 TV (#17471)
I think we've got enough for TVs to no longer be fatal
Stuart Bennett [Sun, 14 Sep 2008 15:44:32 +0000 (16:44 +0100)]
Only use OF bios image on PPC
Ben Skeggs [Wed, 10 Sep 2008 17:29:46 +0000 (03:29 +1000)]
nv50/exa: work around corruption issues (see detailed commit msg)
It's not possible for us to do this properly without using the exa
pixmap hooks, they require a real memory manager, and is being
worked on in the ng branches, which doesn't currently support nv5x
at all.
For a better solution until then:
http://nouveau.freedesktop.org/wiki/NV50Support
Stephane Marchesin [Fri, 5 Sep 2008 21:08:14 +0000 (23:08 +0200)]
Maarten Maathuis [Fri, 5 Sep 2008 20:51:27 +0000 (22:51 +0200)]
exa: align offscreenBase to something sensible
- Aligning virtualY makes no sense whatsoever.
- displayWidth is the "pitch-width" of the framebuffer.
Stephane Marchesin [Thu, 4 Sep 2008 05:51:03 +0000 (07:51 +0200)]
Add 8200 detection.
Maarten Maathuis [Sat, 30 Aug 2008 15:51:05 +0000 (17:51 +0200)]
nv50: solid fill shouldn't use a pattern rop + minor changes
Stuart Bennett [Sat, 23 Aug 2008 23:18:40 +0000 (00:18 +0100)]
randr12: merge output detection functions
Stuart Bennett [Sat, 23 Aug 2008 23:08:41 +0000 (00:08 +0100)]
randr12: remember the edid from detection for getting modes later
also split native mode finding into separate function
Stuart Bennett [Sun, 24 Aug 2008 18:56:24 +0000 (19:56 +0100)]
randr12: detypedef private structs and use a define to get to the privates
Stuart Bennett [Sat, 23 Aug 2008 23:31:35 +0000 (00:31 +0100)]
Remove unused code
Stuart Bennett [Mon, 25 Aug 2008 19:23:05 +0000 (20:23 +0100)]
randr12: make the nouveau experience less green
Maarten Maathuis [Sat, 23 Aug 2008 01:44:28 +0000 (03:44 +0200)]
nv50: micro cleanup
Maarten Maathuis [Sat, 23 Aug 2008 01:39:39 +0000 (03:39 +0200)]
nv50: do ROPs properly this time
- Table should work for pre-nv50 as well, i just don't have a card plugged in to be sure.
Maarten Maathuis [Fri, 22 Aug 2008 15:56:31 +0000 (17:56 +0200)]
nv10: composite is an async operation by default, no need to call exaMarkSync().
Maarten Maathuis [Fri, 22 Aug 2008 15:53:11 +0000 (17:53 +0200)]
exa: FIRE_RING at the end of composite
Maarten Maathuis [Thu, 21 Aug 2008 21:17:06 +0000 (23:17 +0200)]
nv50: move VERTEX_{START,END} to {Prepare,Done}Composite
- If PrepareComposite returns TRUE, then everything upto DoneComposite is required.
Maarten Maathuis [Thu, 21 Aug 2008 20:50:49 +0000 (22:50 +0200)]
nv50: minor tweaks to composite
- Make the blend stuff more consistent with other composite implementations.
- Verified with "rendercheck -f a8r8g8b8,x8r8g8b8,r5g6b5,a8 -t {blend,composite,cacomposite}" for all accelerated ops.
Maarten Maathuis [Thu, 21 Aug 2008 18:01:49 +0000 (20:01 +0200)]
nv50: handle ROPs better
- Handle ROP's more like pre-NV50 code.
- Special case for 32bpp which seems to work.
- This does NOT fix all rendering issues, just an improvement.
Maarten Maathuis [Wed, 20 Aug 2008 17:14:54 +0000 (19:14 +0200)]
nv50: clip SIFC and add {Prepare,Finish}Access hooks.
- when w*cpp is not aligned to a dword, then it's possible to end up with crap at the end of a line, so clip it.
- {Prepare,Finish}Access hooks force tiled memory to be migrated upon cpu access.
- Added an option to disable these hooks in case you hit a xserver bug that existed up until very recently.
Stuart Bennett [Mon, 18 Aug 2008 23:02:00 +0000 (00:02 +0100)]
randr12: don't cache pll values (fixes newrestore removal regression)
for 5ms, it's really not worth it
Stuart Bennett [Mon, 18 Aug 2008 20:50:37 +0000 (21:50 +0100)]
Remove some of the inaccuracies in the manpage
Stuart Bennett [Mon, 18 Aug 2008 20:40:36 +0000 (21:40 +0100)]
NV_ARCH_04 can have rotated output, it's just not accelerated
Stuart Bennett [Mon, 18 Aug 2008 20:39:18 +0000 (21:39 +0100)]
Delete ShadowFB rotation
And nothing of value was lost.
Stuart Bennett [Sun, 17 Aug 2008 23:59:32 +0000 (00:59 +0100)]
Bye bye 8 bit depth
Stuart Bennett [Sun, 17 Aug 2008 22:52:28 +0000 (23:52 +0100)]
CrtcNumber option is long gone
Stuart Bennett [Sun, 17 Aug 2008 22:17:01 +0000 (23:17 +0100)]
Micro-tidyups to nv_driver and nouveau_xv
Stuart Bennett [Sun, 17 Aug 2008 15:57:17 +0000 (16:57 +0100)]
randr12: a few line length improvements
Stephane Marchesin [Sun, 17 Aug 2008 20:44:11 +0000 (22:44 +0200)]
Kill some 8 bit code.
Stephane Marchesin [Sun, 17 Aug 2008 20:25:43 +0000 (22:25 +0200)]
Fix IFC for 16bpp. Also fix the color accuracy of 16bpp solid fills.
Stuart Bennett [Sun, 17 Aug 2008 02:51:39 +0000 (03:51 +0100)]
0x48 exception does not apply on BIT cards
Stuart Bennett [Sun, 17 Aug 2008 01:48:33 +0000 (02:48 +0100)]
randr12: some code simplification, rearrangement and tidying
We don't claim to support a bpp of 15 or 24, so some old calculations can be simplified
Stuart Bennett [Sun, 17 Aug 2008 01:27:42 +0000 (02:27 +0100)]
NewRestore: remove, due to lack of interest
nobody wants to do text modes manually. for any future masochists, it's here in the history
Stuart Bennett [Sun, 17 Aug 2008 00:37:41 +0000 (01:37 +0100)]
randr12: remove another field member
Stuart Bennett [Sun, 17 Aug 2008 00:26:20 +0000 (01:26 +0100)]
randr12: fpWidth and fpHeight no more
Stuart Bennett [Sat, 16 Aug 2008 23:38:23 +0000 (00:38 +0100)]
randr12: improve aspect scaling code
Stuart Bennett [Sat, 16 Aug 2008 22:15:29 +0000 (23:15 +0100)]
randr12: for native scaling, a clock check isn't enough
1280x1024 and 1280x960 can have the same clock
Stuart Bennett [Fri, 15 Aug 2008 22:02:48 +0000 (23:02 +0100)]
Apply minimum front porch only when necessary (#15949)
Also, read minimum front porch from bios table
Maarten Maathuis [Sat, 16 Aug 2008 15:18:21 +0000 (17:18 +0200)]
NV50: disallow doublescan modes on TMDS/LVDS
Maarten Maathuis [Sat, 16 Aug 2008 13:33:13 +0000 (15:33 +0200)]
NV50: extra warning message
Maarten Maathuis [Sat, 16 Aug 2008 13:28:43 +0000 (15:28 +0200)]
NV50: a half decent attempt at doing something when LVDS has no DDC
Maarten Maathuis [Sat, 16 Aug 2008 12:35:05 +0000 (14:35 +0200)]
Forgot something.
Maarten Maathuis [Sat, 16 Aug 2008 12:24:18 +0000 (14:24 +0200)]
NV50: support extended i2c ports (4 and 5)
Maarten Maathuis [Sat, 16 Aug 2008 12:02:51 +0000 (14:02 +0200)]
nv50: fix some of the rendering bugs
- It seems that 32bpp solid fill only works well for for the non-rop case.
- The SRCCOPY_PREMULT comes from nv and seems to work well, in combination with the above fallback.
- This does not affect the strange stripes with font rendering issue.
Stuart Bennett [Fri, 15 Aug 2008 00:40:01 +0000 (01:40 +0100)]
Redo parsing for panels with EDID, and fix nv3x in the process (#17138)
breakage a possibility :)
Stuart Bennett [Tue, 12 Aug 2008 13:15:03 +0000 (14:15 +0100)]
Try harder to load a good vbios image
Stuart Bennett [Tue, 5 Aug 2008 23:31:39 +0000 (00:31 +0100)]
Deal with mobile cards that scribble over the fp strap at POST
It's probably safe to assume a mobile card will have been POSTed at boot, so
this should be fine.
Hopefully there are no cards which have bit 2 set at 0x48 and now break...
Stephane Marchesin [Thu, 14 Aug 2008 22:43:02 +0000 (00:43 +0200)]
Fix a 16bpp issue, also remove old code that mostly worked around core EXA issues in older xservers.
Maarten Maathuis [Tue, 5 Aug 2008 11:08:22 +0000 (13:08 +0200)]
NV50: Disable messages from hide, show and load cursor, as they clutter the logs.
Ben Skeggs [Mon, 4 Aug 2008 06:09:28 +0000 (16:09 +1000)]
xv: fix thinko from when source was reformatted
Younes Manton [Sun, 3 Aug 2008 16:29:57 +0000 (12:29 -0400)]
g3dvl: Temporarily disable IDCT.
Ben Skeggs [Tue, 29 Jul 2008 13:38:45 +0000 (23:38 +1000)]
nv50: fix mystery typo
Ben Skeggs [Mon, 28 Jul 2008 15:26:20 +0000 (01:26 +1000)]
remove use of implicit variables from pushbuf macros
This matches the gallium winsys now. At some point the ddx will get updates
so the "common" code is once again in sync to make it easier to do mm
changes to both the ddx and dri simultaneously.
But, I want to get this part out of the way first as the changes might take
a bit of work - and I don't want to have to deal with merge conflicts
everywhere if someone changes the accel code before I'm done :)
Younes Manton [Sun, 27 Jul 2008 20:48:58 +0000 (16:48 -0400)]
g3dvl: Basic XvMC initialization.
Maarten Maathuis [Sat, 26 Jul 2008 22:09:02 +0000 (00:09 +0200)]
NV50: I was proven wrong quicker than i thought, reinstate a slightly prettier hack.
Maarten Maathuis [Sat, 26 Jul 2008 19:53:26 +0000 (21:53 +0200)]
NV50: forgot something
Maarten Maathuis [Sat, 26 Jul 2008 19:50:34 +0000 (21:50 +0200)]
NV50: my best guess at the lvds bios table, time will tell if it's correct for more than a few cases
Dave Airlie [Thu, 24 Jul 2008 05:41:57 +0000 (15:41 +1000)]
nouveau: fix macro as pointed out my moondrake on irc
Ben Skeggs [Thu, 24 Jul 2008 00:13:05 +0000 (10:13 +1000)]
nv50: support YUY2 in textured video adaptor
Ben Skeggs [Wed, 23 Jul 2008 23:39:09 +0000 (09:39 +1000)]
nv50: remove 32bpp solid fill fallback
It seems to work, but there's probably a good reason it's a fallback in nv,
so may be reincarnated with a more specific fallback if needed.
Ben Skeggs [Wed, 23 Jul 2008 23:38:27 +0000 (09:38 +1000)]
Revert "NV50EXA: read the notes + cleanup + enabled 32bpp solid fill"
This reverts commit
0b6249fed6909af30856e1afc1a0dd4cd98c0b9e.
Maarten Maathuis [Wed, 23 Jul 2008 23:30:16 +0000 (01:30 +0200)]
NV50EXA: serious brain fart of my part, sorry
- prepare copy may set up a rop and will set operation appropriately.
Maarten Maathuis [Wed, 23 Jul 2008 19:01:57 +0000 (21:01 +0200)]
NV50EXA: read the notes + cleanup + enabled 32bpp solid fill
- I observe occasional corruption, some of this goes away when using a compositing manager.
- The above statement contradicts my earlier statement in the previous commit message.
- 32bpp solid fills seem to work fine, but i left the original fallback in case something pops up.
- There is definately something wrong somewhere, i just don't know what.
Maarten Maathuis [Wed, 23 Jul 2008 11:34:28 +0000 (13:34 +0200)]
EXA: put NOUVEAU_FALLBACK in a do { } while (0), fixed opera corruption for me.
- I don't understand why a single line define would need this, but i noticed that turning on the fallback info fixed rendering.
Maarten Maathuis [Sun, 20 Jul 2008 13:44:47 +0000 (15:44 +0200)]
NV50_KMS: some basic scaling and dithering output property support
Ben Skeggs [Sat, 19 Jul 2008 12:14:50 +0000 (22:14 +1000)]
nv50: no more sync in composite() :)
0x502d mthd 0x0110 some kind of 2D cache flush?
Ben Skeggs [Fri, 18 Jul 2008 03:57:13 +0000 (13:57 +1000)]
nv50: sync after composite for the moment
This corrects some severe text rendering issues that get *very* bad with
server 1.5. Will look into a proper fix soon.
Ben Skeggs [Fri, 18 Jul 2008 03:39:59 +0000 (13:39 +1000)]
nv50: punt vertex emission macro out to header
Ben Skeggs [Thu, 17 Jul 2008 01:15:59 +0000 (11:15 +1000)]
exa: missed a reloc delta
Can't actually hit this bug currently, but one day perhaps :)
Ben Skeggs [Thu, 17 Jul 2008 01:15:08 +0000 (11:15 +1000)]
nv50: remove acquire/release surface stuff
It's left over from code that never made it to git in the first place,
long overdue removal.
Ben Skeggs [Thu, 17 Jul 2008 01:14:02 +0000 (11:14 +1000)]
exa: rename m2mf locals to prevent some confusion
Danny [Fri, 18 Jul 2008 02:07:38 +0000 (03:07 +0100)]
randr12: fix dithering output property endian issue (#16624)
tweaked and commented by Stuart Bennett
Pawel Worach [Thu, 17 Jul 2008 23:17:18 +0000 (01:17 +0200)]
Fix for #14858 - freebsd compile. Someone still needs to fix the kernel part though.
Ben Skeggs [Fri, 11 Jul 2008 16:24:54 +0000 (02:24 +1000)]
nv30: more header name changes...
Ben Skeggs [Fri, 11 Jul 2008 16:15:08 +0000 (02:15 +1000)]
nv30: more bustage from header update
Ben Skeggs [Fri, 11 Jul 2008 16:03:58 +0000 (02:03 +1000)]
nv30: un-change something that somehow changed in an earlier commit. oops!
Ben Skeggs [Tue, 8 Jul 2008 02:28:18 +0000 (12:28 +1000)]
nv50: exa/xv share some stuff, punt it out to nv50_accel.[ch]
Ben Skeggs [Tue, 8 Jul 2008 02:09:09 +0000 (12:09 +1000)]
nv50: Xv support
The NV12 YCbCr->RGB shader is hand-written just like the composite shaders,
hopefully correct! I'll probably put a disasm next to each opcode at some
point so it doesn't look like just a bunch of magics.
You'll need to use a composite manager if you want to watch videos, we can't
render directly to the screen for the same reasons as mentioned in the
composite commit. Though, a simple workaround is possible in the Xv case,
so that'll probably come at some point. For now, PutImage() will fail with
BadMatch.
The Y and UV plane upload may not be 100% for what NV50 requires, I want to
rework all that at some point anyway. For now, at least there's some form
of accelerated video to work with.
Enjoy :)
Ben Skeggs [Sun, 6 Jul 2008 10:38:44 +0000 (20:38 +1000)]
nv50: de-magic things before someone accuses me of being an NVIDIA employee
Ben Skeggs [Sat, 5 Jul 2008 15:30:21 +0000 (01:30 +1000)]
nv50: exa composite
Ben Skeggs [Sat, 5 Jul 2008 15:21:39 +0000 (01:21 +1000)]
nv50: tile offscreen pixmaps
Until someone figures out how to make the display engine scan out from
tiled surfaces things will be a bit painful. Future commits for exa
composite and Xv will require the use of the 3D engine, which will *not*
render to linear surfaces.. a composite manager will probably be a must
for it to be usable.
I really don't want the NOUVEAU_MEM_TILE ioctl in the end, but we'll have
to deal with it until we can drop support for <xorg-server-1.5. EXA driver
handled pixmaps are far far nicer :)
Ben Skeggs [Sat, 5 Jul 2008 14:57:08 +0000 (00:57 +1000)]
exa: pass window coords to m2mf-based UTS/DFS
Ben Skeggs [Sun, 6 Jul 2008 15:03:02 +0000 (01:03 +1000)]
xv: remove some disturbing abuses of buffer related things
Also brings to attention a point about the overlay when we use a real
memory manager. We'll need to find a way for the overlay to signal it's
finished with a buffer, or just resort to pinning pPriv->video_mem..
Maarten Maathuis [Sun, 6 Jul 2008 11:45:32 +0000 (13:45 +0200)]
EXA: add a pixmapIsOffscreen hook.
Maarten Maathuis [Sun, 6 Jul 2008 10:52:16 +0000 (12:52 +0200)]
NV50_KMS: support gamma changes
Maarten Maathuis [Sun, 6 Jul 2008 10:29:13 +0000 (12:29 +0200)]
NV50: Unaccelerated rotation support.
- This will need a PixmapIsOffscreen hook before it will be considered for acceleration.
Maarten Maathuis [Sat, 5 Jul 2008 23:03:44 +0000 (01:03 +0200)]
NV50_KMS: Unaccelerated rotation support.
- This will need a PixmapIsOffscreen hook for it to be ever considered for acceleration.
Maarten Maathuis [Sat, 5 Jul 2008 23:02:45 +0000 (01:02 +0200)]
Revert "EXA: Add PixmapIsOffscreen hook for EXA versions that allow it."
This reverts commit
5a5aee10f84fbea70eee69ece17ddf6e797497a6.
This was never supposed to end up here as it's broken.
Maarten Maathuis [Sat, 5 Jul 2008 21:07:58 +0000 (23:07 +0200)]
EXA: Add PixmapIsOffscreen hook for EXA versions that allow it.
- This should allow more flexibility for rotation shadow buffers.
Ben Skeggs [Sat, 5 Jul 2008 17:50:03 +0000 (03:50 +1000)]
xv: remove some defines that are in a header now
Ben Skeggs [Sat, 5 Jul 2008 16:28:26 +0000 (02:28 +1000)]
xv: remove drawable handling from hw-specific PutImage.. it's common...
Ben Skeggs [Sat, 5 Jul 2008 15:57:17 +0000 (01:57 +1000)]
xv: misc cleanups
Maarten Maathuis [Sat, 5 Jul 2008 10:47:48 +0000 (12:47 +0200)]
NV50_KMS: minor change
Maarten Maathuis [Fri, 4 Jul 2008 21:05:20 +0000 (23:05 +0200)]
Fix some compile warnings.
Ben Skeggs [Thu, 3 Jul 2008 13:54:13 +0000 (23:54 +1000)]
xv: reformat source so mere mortals can understand it
Ben Skeggs [Thu, 3 Jul 2008 07:07:45 +0000 (17:07 +1000)]
xv: nv_video.c to nouveau_xv.c