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
Maarten Maathuis [Thu, 3 Jul 2008 06:30:43 +0000 (08:30 +0200)]
NV50_KMS: autodetect kernel modesetting when active
Maarten Maathuis [Wed, 2 Jul 2008 17:04:58 +0000 (19:04 +0200)]
NV50_KMS: no int10 please
Stuart Bennett [Fri, 27 Jun 2008 15:21:19 +0000 (16:21 +0100)]
Backport console font save/restore from nouveau_ms
Stuart Bennett [Thu, 26 Jun 2008 13:44:45 +0000 (14:44 +0100)]
randr12: fix mode detection for when screen size changes
also some mem leaks
Maarten Maathuis [Sat, 28 Jun 2008 13:47:18 +0000 (15:47 +0200)]
NV04-NV4E: Save and restore FB_START
Maarten Maathuis [Fri, 27 Jun 2008 16:49:16 +0000 (18:49 +0200)]
NV50_KMS: switch to output dpms
Maarten Maathuis [Wed, 25 Jun 2008 17:45:12 +0000 (19:45 +0200)]
Properly close drm when exiting + misc cleanup.
Maarten Maathuis [Wed, 25 Jun 2008 17:07:58 +0000 (19:07 +0200)]
Fixup and add some license statements.
- The changed statements are a response to nv commit
2fdcda8ea62eba1b7885f0a75249884715936247.
Ben Skeggs [Tue, 24 Jun 2008 18:01:21 +0000 (04:01 +1000)]
change hack to work with latest drm changes..
Maarten Maathuis [Mon, 23 Jun 2008 22:02:25 +0000 (00:02 +0200)]
NV50: unbreak kms and implement a basic off mode/dpms
Ben Skeggs [Mon, 23 Jun 2008 16:24:42 +0000 (02:24 +1000)]
nv50: stub out NV50SorSetClockMode for LVDS, it doesn't work there
Ben Skeggs [Sun, 22 Jun 2008 16:10:09 +0000 (02:10 +1000)]
nv50: bring in int10-constole-restore hack from nv driver
Lack of console restore has been annoying me personally lately while working
on 3D, I lack the time/modsetting skills to fix it properly at the moment,
so this'll do.
Ben Skeggs [Sun, 22 Jun 2008 15:47:55 +0000 (01:47 +1000)]
fix non-kms build/run
Maarten Maathuis [Sun, 22 Jun 2008 14:34:22 +0000 (16:34 +0200)]
NV50: Some basic code to get kernel modesetting going.
- This will get a cleanup later on.
Stuart Bennett [Fri, 13 Jun 2008 01:11:09 +0000 (02:11 +0100)]
No need for G80+ LVDS conf bits reports
I've got a few already.
Stuart Bennett [Fri, 13 Jun 2008 00:58:41 +0000 (01:58 +0100)]
More DCB 1.5 TV variants (#16252 and #16342)
Stuart Bennett [Fri, 13 Jun 2008 00:40:31 +0000 (01:40 +0100)]
Be a little more discerning about the BIT bios signature
Thank you ABIT
Stuart Bennett [Fri, 13 Jun 2008 00:25:49 +0000 (01:25 +0100)]
LVDS_INIT should not always use head A
While the script doesn't need the head variable set correctly,
link_head_and_output still gets called and will therefore break panels expecting
to be on head B
Fixes Apple NV34 console restore
Maarten Maathuis [Fri, 13 Jun 2008 17:12:38 +0000 (19:12 +0200)]
NV50: lvds is probably still broken, but it's a step in the right direction
- Just something i had lingering around.
- Note that lvds still doesn't run by default, but you're more than welcome to fix it ;-)
Maarten Maathuis [Thu, 22 May 2008 19:08:48 +0000 (21:08 +0200)]
NV50: A small extra piece of init that may prove useful to someone, somewhere, at some point for something.
Maarten Maathuis [Tue, 20 May 2008 17:19:53 +0000 (19:19 +0200)]
NV50: Be consistent with rules-ng.
Maarten Maathuis [Sat, 10 May 2008 19:58:00 +0000 (21:58 +0200)]
NV50: Some misc things.
Stuart Bennett [Thu, 8 May 2008 20:36:05 +0000 (21:36 +0100)]
Cosmetic g80 laptop dcb parsing enhancement
Stuart Bennett [Thu, 8 May 2008 13:17:38 +0000 (14:17 +0100)]
randr12: some reordering, tidying &c
Stuart Bennett [Tue, 29 Apr 2008 18:42:54 +0000 (19:42 +0100)]
Enable RandR 1.2 code-path by default
Stuart Bennett [Wed, 7 May 2008 20:25:03 +0000 (21:25 +0100)]
Don't call call_lvds_script with a null dcbent pointer
Stumbled over by hiyuh :)
Stuart Bennett [Sun, 4 May 2008 23:56:28 +0000 (00:56 +0100)]
randr12: tidy up some nv50 remnants in the pre nv50 code
Maarten Maathuis [Tue, 6 May 2008 17:46:52 +0000 (19:46 +0200)]
NV50: Some misc fixes.
- Even though tv-out is mentioned, it by no means implies that is (nearly) functional.
Maarten Maathuis [Mon, 5 May 2008 09:02:07 +0000 (11:02 +0200)]
nv50_exa.c had no license statement.
Maarten Maathuis [Sun, 4 May 2008 23:26:37 +0000 (01:26 +0200)]
NV50: Rework the modesetting code into a different model.
- There is now interface independent code for most things.
- This structure, although not exclusive, is only used for NV50 atm.
- The change in approach is that the concept of a connector is added to the model (randr12 sucks in this aspect).
- I'm hacking around randr trying to create a single output for each connector, the indices are the bus numbers.
- Limitations: Hot swapping vga and dvi of same monitor will not make randr12 think it changed, so for the moment force a change.
- Concept is largely inspired by the radeonhd driver.