summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-11-11avivo: use arrays to store the crtc/pll info for save/restoreDave Airlie
this is just prep work for evergreen VT save/restore
2010-11-05Fix incorrect CS size in one textured video path. (Bug #31364)Michel Dänzer
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=31364 .
2010-10-29radeon/kms: more alignment fixesAlex Deucher
2010-10-28dri2: reference count the client privates key/callbackDave Airlie
This lets multi-screen work better, but still having issues after server recycle, but it doesn't crash at least.
2010-10-28radeon: only register block handler once per fd.Dave Airlie
should fix https://bugs.freedesktop.org/show_bug.cgi?id=29726 the problem is of course the second head instance tries to access the fd and fails, however I think this might break syncing on the second head but not sure, but its better than just hanging up the X server
2010-10-27drm/radeon: unify fb bo alignment harderAlex Deucher
More duplicated paths discoved...
2010-10-27kms/radeon: unify fb bo alignment handlingAlex Deucher
Previously there were 3 different paths with what should have had duplicated code: - EXACreatePixmap2 - Initial front buffer creation - Randr resize This patch attempts to unify the alignment across all 3. This may fix tiling issues in some cases and should make buffer pitches match for pageflipping.
2010-10-27Re-use result of GetScreenPixmap call.Michel Dänzer
Fixes compile warning due to local variable ppix being unused when building against current xserver Git.
2010-10-27Fix another stray xfree() call.Michel Dänzer
2010-10-27Don't try to delete DRI2 event list entries that were never added. (Bug #31086)Michel Dänzer
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=31086 .
2010-10-24r100: add some missing bits in SE_COORD_FMTAlex Deucher
Texture coordinates work fine with or without these, but this should be more correct I think although I don't think it matters since we aren't sending w anyway.
2010-10-24UMS/radeon: fix typo in restore paletteAlex Deucher
2010-10-24UMS/radeon: fix screen dimming on VT switchAlex Deucher
Save and restore the palettes on VT switch. The restore has to be done after the vga restore to work properly as determined by Jonathan Kollasch. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=18407
2010-10-24UMS/atom: default to DVI mode if we don't have monitor hdmi infoAlex Deucher
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=30330
2010-10-19Xv: limit overlay to 2047x2047Alex Deucher
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=15391
2010-10-19radeon: fix compilation on xserver >= 1.10Alex Deucher
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=30451 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-10-19r600: for 2d tiles we need to align to channels no banks.Dave Airlie
2010-10-18kms: Let the server know if we got more than 1 EDID blockAdam Jackson
Otherwise things like xf86MonitorIsHDMI() won't work right. Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-10-14evergreen: requires same cursor fix as avivo chipsAlex Deucher
2010-10-14Don't allow the config file to override BIOS locationAdam Jackson
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-10-13evergreen: increase XV_CRTC Xv attribute rangeAlex Deucher
Cover all 6 possible crtcs.
2010-10-10DCE3+: UMS modesetting fixesAlex Deucher
- add mising LVTMA case statement for DCE3.0 dig encoder - some DCE4 systems have EN/DISABLE_OUTPUT actions
2010-10-08ATOM DDC fixes for UMSAlex Deucher
- Header size was already subtraced from table size - Only hw capable ddc pads are shared with aux
2010-10-07DCE3.2 UMS: fix duallinkAlex Deucher
Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=30686
2010-10-07fix the non-kms buildAlex Deucher
Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=30685
2010-10-07radeon: proper DRI2 pending events handling when client gone. (v6)Oldřich Jedlička
Properly handle asynchronous DRI2 events for disconnected clients. Track client's pending requests and mark them as invalid when the client disconnects. This is based on the version from Alban Browaeys in bug #29065. v1 (Alban Browaeys): Based upon a detailed explanation from Oldřich Jedlička and comments from Christopher James Halse Rogers. on http://lists.x.org/archives/xorg-driver-ati/2010-August/016780.html . v2: Updated version to apply on master. Removed unnecessary client_index field from _DRI2FrameEvent. Added freeing/removing from list to failed paths of radeon_dri2_schedule_wait_msc and radeon_dri2_schedule_swap. v3: Adopt to older xorg-server that doesn't have dixRegisterPrivateKey. v4: Conditional include of list.h, unreachable return removed. v5: Distribute list.h as xorg_list.h, remove xorg-server version check. Use the version from xorg-server when available (checked in configure.ac). v6: Removed xorg_list.h, made DRI2 scheduling features dependent on list.h presence.
2010-10-04evergreen: use EXACreatePixmap2 if availableAlex Deucher
2010-10-04evergreen: port Karl's UTS/DFS changes to evergreenAlex Deucher
2010-10-04Merge branch 'evergreen_accel' of ↵Alex Deucher
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-ati
2010-10-01evergreen/dri2: fix depth allocation for depth+stencilAlex Deucher
evergreen uses separate allocations for depth and stencil, so to handle that, create a depth buffer large enough to handle both. This is required for using the stencil buffer in mesa.
2010-09-30radeon: fix fbLocation for >32 bit MC addressesAlex Deucher
If the fbLocation was at an address >32 bits, we'd fail. Change fbLocation to uint64_t and properly cast when needed.
2010-09-30r6xx: fix bad mask when setting up HDP_NONSURFACE_BASEAlex Deucher
This fails for MC addresses >32 bits
2010-09-27Fix some unaligned 32bit accesses in the AtomBios code.Michael Cree
On the Alpha architecture unaligned 32bit accesses incur a software trap to the kernel and pollute the kernel logs. Fixed by use of the ldl_u() interface. Signed-off-by: Michael Cree <mcree@orcon.net.nz>
2010-09-27radeon: Convert remaining x(c)alloc/xfree to m/calloc/free.Nicolas Reinecke
Fixes deprecation warnings missed out by f7a91ece264af9f3fd2fc18e99aefcda93ce9f5c
2010-09-20RADEONPrepareAccess_CS: fallback to DFS when pixmap is in VRAMKarl Tomlinson
This avoids costly CPU VRAM reads and lets EXA manage a system memory cache of the portions of pixmaps needed for unaccelerated operations. https://bugs.freedesktop.org/show_bug.cgi?id=27139
2010-09-20radeon: complete UTS and DFS even when a scratch BO is not necessaryKarl Tomlinson
Turns on the big-endian paths even for little-endian systems, and adds similar paths to the r6xx/r7xx functions. This makes UTS and DFS reliable, which will let PrepareAccess (with mixed pixmaps) choose to fail based on whether the pixmap is in VRAM (to avoid CPU reads).
2010-09-20radeon: complete big endian UTS and DFS even when scratch allocation fails.Karl Tomlinson
On big endian systems, PrepareAccess will fail when byte-swapping is required so UploadToScreen and DownloadFromScreen cannot rely on fallback to PrepareAccess. When scratch BO space allocation fails, this patch merely adds simple fallback to direct CPU access without any GPU blit. This sometimes requires a CS flush even in UploadToScreen. (No allocation retry after a flush is added here.)
2010-09-20RADEONDownloadFromScreenCS: flush CS writes before mapping BO for readKarl Tomlinson
If unflushed CS operations write to the pixmap BO, then these need to be flushed before mapping the BO for read. This currently only affects big endian systems and only when the operation writes to the GTT domain.
2010-09-20FinishAccess_CS: set bo_mapped to FALSE on unmapKarl Tomlinson
This is actually only necessary when PrepareAccess may behave differently on different calls with the same pixmap, which currently doesn't happen. However resetting bo_mapped is necessary to let PrepareAccess (with mixed pixmaps) choose to fail based on whether the pixmap is in VRAM (to avoid CPU reads).
2010-09-20DownloadFromScreenCS: download via a scratch BO if pixmap domain is unknownKarl Tomlinson
radeon_bo_is_busy() may return without setting the domain out-parameter. If this happens, then download via a scratch GTT BO to avoid CPU VRAM read.
2010-09-09Fix NULL possible deref in evergreen_cp_wait_vline_syncMathieu Bérard
2010-09-07radeon: set interlaced and doublescan enabled for randr outputsAlex Deucher
interlaced used to work without setting these parameters. Changes in the xserver seem to require them now. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=29591
2010-09-03evergreen: fix XvAlex Deucher
VS const buffer offset was wrong. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29788
2010-09-02evergreen: add additional default stateAlex Deucher
Note, you also need a drm patch to fix the GPU hangs: drm/radeon/kms/evergreen: fix gpu hangs in userspace accel code Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-09-01r6xx/r7xx: fix typosAlex Deucher
some stray - signs
2010-08-27evergreen: work around bad data in some i2c tablesAlex Deucher
The 7th entry in a lot of evergreen i2c gpio tables is partially zeroed. Fix the entry. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-27xv: fix non-kms/non-dri Xv column ordering on big endian systemsHeikki Lindholm
Column order is wrong on big endian systems, primarly because of a bits / bytes mix up with the bpp variable. Fix tested with r100 and r300, screen depth 16 and 32 with YV12 and YUY2 (overlay, textured video), RGBA and RGBT (overlay). Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=29041 Signed-off-by: Heikki Lindholm <holin@iki.fi>
2010-08-27dri2: Reference count DRI2 buffersChristopher James Halse Rogers
When a client calls ScheduleSwap we set up a kernel callback when the relevent vblank event occurs. However, it's possible for the client to go away between calling ScheduleSwap and the vblank event, resulting in the buffers being destroyed before they're passed to radeon_dri2_frame_event_handler. Add reference-counting to the buffers and take a reference in radeon_dri2_schedule_swap to ensure the buffers won't be destroyed before the vblank event is dealt with. This parallels the approach taken by the Intel DDX in commit 0d2392d44aae95d6b571d98f7ec323cf672a687f. Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=29065 v2: Don't write completion events to the client if it has quit. v3: Don't try to unref the NULL buffers from a DRI2_WAITMSC event. Take a ref in schedule_swap earlier, so the offscreen fallback doesn't incorrectly destroy the buffers. Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-25remove explicit buffer submit from copy regionDave Airlie
port of 0be3e95c844247746742805830860ace9f546d99 from intel driver. Remove explicit batchbuffer submit in DRI2 copyregion Now that we submit from the flush callback chain, we know we'll always submit before the client receives the reply or event that blocks it from rendering the next frame. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-25radeon: add correct flushing for direct renderedDave Airlie
this is a port of 69d65f9184006eac790efcff78a0e425160e95aa from the Intel driver. Submit batch buffers from flush callback chain There are a few cases where the server will flush client output buffers but our block handler only catches the most common (before going into select If the server flushes client buffers before we submit our batch buffer, the client may receive a damage event for rendering that hasn't happened yet Instead, we can hook into the flush callback chain, which the server will invoke just before flushing output. This lets us submit batch buffers before sending out events, preserving ordering. Fixes 28438: [bisected] incorrect character in gnome-terminal under compiz https://bugs.freedesktop.org/show_bug.cgi?id=28438 Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Dave Airlie <airlied@redhat.com>