Ben Skeggs [Fri, 3 Oct 2008 02:45:56 +0000 (12:45 +1000)]
bo: remove fence usage for the moment
Ben Skeggs [Fri, 3 Oct 2008 02:43:33 +0000 (12:43 +1000)]
bo: call drm to wait for GPU to finish with buffer before map
Ben Skeggs [Wed, 1 Oct 2008 15:03:32 +0000 (01:03 +1000)]
Merge remote branch 'origin/master' into ng
Conflicts:
src/nv_exa.c
Ben Skeggs [Wed, 1 Oct 2008 11:06:51 +0000 (21:06 +1000)]
fence: remove signal callback code
Was only used previously to delay destruction of buffers until we were
sure they were idle on the GPU, this is handled by the kernel bufmgr
now.
Ben Skeggs [Wed, 1 Oct 2008 11:02:25 +0000 (21:02 +1000)]
bo: change api for shared objects
Ben Skeggs [Wed, 1 Oct 2008 10:56:51 +0000 (20:56 +1000)]
fence: ref could destroy the object it was referencing, fix that!
Ben Skeggs [Wed, 1 Oct 2008 10:54:37 +0000 (20:54 +1000)]
bo: make ref/del work like the rest
Stuart Bennett [Sat, 20 Sep 2008 23:52:56 +0000 (00:52 +0100)]
Oops.
Stuart Bennett [Sat, 20 Sep 2008 23:44:50 +0000 (00:44 +0100)]
Optimizing memory usage for unaccelerated case is not interesting
Stuart Bennett [Sat, 20 Sep 2008 23:43:57 +0000 (00:43 +0100)]
randr12: rename mon -> edid
Stuart Bennett [Sat, 20 Sep 2008 23:31:40 +0000 (00:31 +0100)]
randr12: crtc destroy
also alleviate world shortage of curly braces
Stuart Bennett [Sat, 20 Sep 2008 22:57:06 +0000 (23:57 +0100)]
Need to increment dcb entry index when fabricating additional entries
Maarten Maathuis [Fri, 19 Sep 2008 19:23:04 +0000 (21:23 +0200)]
Also remove man page entry.
Maarten Maathuis [Fri, 19 Sep 2008 19:14:09 +0000 (21:14 +0200)]
NV50: remove {Prepare,Finish}Access since i realise now it's not so useful
- despite that the xserver code suggests that pixmaps can be offscreen on this call, that is not done as far as i can tell
- not to mention that there is no way to know for sure if a pixmap is offscreen (exaPixmapIsOffscreen is not exported), making the
offset useless
- this will (obviously) become relevant as soon as driver managed pixmaps come into play, but that is for another day
Maarten Maathuis [Fri, 19 Sep 2008 18:41:59 +0000 (20:41 +0200)]
NV50: The TMDS dual link threshold is meaningless for LVDS
Stuart Bennett [Mon, 25 Aug 2008 00:47:45 +0000 (01:47 +0100)]
randr12: multiple encoders per connector (DVI-I)
that this doesn't break things in subtle and unexpected ways is too much to
hope for. one not-subtle and expected way things will break is that xorg.confs
with specific setups for DVI-A-n and DVI-D-n connections will need renaming (to
DVI-I-n).
as the last patch in the series, this also fixes an issue introduced with
144b04a2 (randr12: fix dpms, detect, destroy, ...), that for a screen connected
to a dvi connector, both the analogue and digital variants were detected as
connected
Ben Skeggs [Wed, 17 Sep 2008 12:12:07 +0000 (22:12 +1000)]
nv50: 0xa0 family uses class 0x8397 for 3D
Stuart Bennett [Sun, 14 Sep 2008 22:01:49 +0000 (23:01 +0100)]
randr12: avoid weirdness when tv-out happens to share i2c_index with another output
Stuart Bennett [Sun, 24 Aug 2008 03:15:20 +0000 (04:15 +0100)]
randr12: fix dpms, detect, destroy, save and restore for multiple encoders per connector
Stuart Bennett [Sun, 24 Aug 2008 03:26:19 +0000 (04:26 +0100)]
randr12: re-do detection of dvi-a vs vga
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 19:13:39 +0000 (05:13 +1000)]
Merge remote branch 'origin/master' into origin-ng
Conflicts:
src/nv_crtc.c
src/nv_exa.c
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
Ben Skeggs [Thu, 28 Aug 2008 15:35:26 +0000 (01:35 +1000)]
dri: pass GEM handle of front buffer to DRI client
Ben Skeggs [Wed, 27 Aug 2008 14:33:41 +0000 (00:33 +1000)]
gem: separate read/write domains
Ben Skeggs [Tue, 26 Aug 2008 14:51:50 +0000 (00:51 +1000)]
move compile-time header check to nouveau_device.c
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
Ben Skeggs [Sun, 24 Aug 2008 13:59:45 +0000 (23:59 +1000)]
nv04-nv40: avoid some METHOD_CNT insanity with GDI_RECTANGLE_TEXT..
For some reason any activity on another subchannel between setting rect
colour, and emitting the rectangle will cause a METHOD_CNT exception.
If the pushbuf gets flushed between these the drm will insert commands
for the fence counter, and expose this odd aspect of the GDI_RECT object.
We can improve how we do this, and I probably will at some point.. But
getting a workable mm is a higher priority :)
Ben Skeggs [Sun, 24 Aug 2008 13:44:24 +0000 (23:44 +1000)]
respect drm subchan assignments
I'll do this all better at some point..
Ben Skeggs [Sat, 23 Aug 2008 11:11:16 +0000 (21:11 +1000)]
Revert "exa: FIRE_RING at the end of composite"
This reverts commit
9f11d13e68bbf72be814b37fa3d03853eec981b9.
Conflicts:
src/nv10_exa.c
Seriously, I didn't remove these simply for the fun of it...
Ben Skeggs [Sat, 23 Aug 2008 11:10:40 +0000 (21:10 +1000)]
Merge remote branch 'upstream/master' into upstream-ng
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
Ben Skeggs [Fri, 22 Aug 2008 02:13:30 +0000 (12:13 +1000)]
Merge remote branch 'origin/master' into origin-ng
Conflicts:
src/nv_crtc.c
src/nv_driver.c
src/nv_exa.c
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.
Ben Skeggs [Wed, 20 Aug 2008 11:37:04 +0000 (21:37 +1000)]
on map(), if usage hint indicates it, place directly in GPU-accessible mem
Look into perhaps forcing GART initially in this case.
Ben Skeggs [Wed, 20 Aug 2008 06:16:25 +0000 (16:16 +1000)]
rework buffer allocation semantics a bit, user buffers should work again.
Ben Skeggs [Tue, 19 Aug 2008 02:35:24 +0000 (12:35 +1000)]
don't pin everything now, assume buffers can move.
Ben Skeggs [Tue, 19 Aug 2008 02:22:56 +0000 (12:22 +1000)]
rework pin/unpin a bit
Ben Skeggs [Tue, 19 Aug 2008 02:01:39 +0000 (12:01 +1000)]
punt validation process out to kernel where it belongs
user buffers are now borked, will fix later.
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.
Ben Skeggs [Mon, 18 Aug 2008 13:55:55 +0000 (23:55 +1000)]
remove nouveau_dma, use hackish kernel submission ioctl now.
Ben Skeggs [Mon, 18 Aug 2008 09:33:30 +0000 (19:33 +1000)]
hack nouveau_bo onto GEM objects.
Still used in pretty much the same way our previous mm was. So, nothing
to see here ;) Except more hackery.. work in progress..
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 [Thu, 31 Jul 2008 22:14:06 +0000 (08:14 +1000)]
correct fixes to get nv50 going on this branch
Ben Skeggs [Thu, 31 Jul 2008 21:56:46 +0000 (07:56 +1000)]
partially revert last commit..
Maarten Maathuis [Thu, 31 Jul 2008 19:43:04 +0000 (21:43 +0200)]
NV50: some stuff for nv50, still not working though.
- Fencing is not yet implemented (for NV50) and i'm not quite sure how that should be done.
Ben Skeggs [Thu, 31 Jul 2008 13:40:05 +0000 (23:40 +1000)]
wait on fences instead of notifiers for exa WaitMarker()
Ben Skeggs [Thu, 31 Jul 2008 13:35:30 +0000 (23:35 +1000)]
move fence to public pushbuf struct
Ben Skeggs [Thu, 31 Jul 2008 13:32:58 +0000 (23:32 +1000)]
remove remaining uses of pNv->NvNull
Maarten Maathuis [Wed, 30 Jul 2008 10:46:26 +0000 (12:46 +0200)]
NV50_KMS: make it compile again, but needs more extensive modifications when useable NV50 support lands.
Ben Skeggs [Wed, 30 Jul 2008 08:53:39 +0000 (18:53 +1000)]
remove !NOUVEAU_EXA_PIXMAPS paths
The driver is now officially dead slow! Whheeeeeeeeee :)
Ben Skeggs [Wed, 30 Jul 2008 08:34:40 +0000 (18:34 +1000)]
require minimum of xserver 1.5-rc1