summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
AgeCommit message (Collapse)Author
2010-11-30evergreen: set default group_bytes to 256Alex Deucher
512 seems to cause issues on certain cards. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31724
2010-11-22Add EXA/Xv acceleration support for Ontario Fusion APUsAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-11-22ontario: add UMS modesetting supportAlex Deucher
Accel not enabled yet. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-11-17radeon/kms: fix buffer base alignment for tilingAlex Deucher
On r6xx+, 2D tiling can require larger than 4k base alignment.
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-04Merge branch 'evergreen_accel' of ↵Alex Deucher
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-ati
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>
2010-08-23evergreen: use vbo pool for constant buffersAlex Deucher
2010-08-23radeon: move vbo data to a separate structAlex Deucher
this way we can share the vbo code with const buffers
2010-08-20Add initial EXA and Xv support for evergreenAlex Deucher
Based on the r6xx/r7xx code updated for evergreen. Still causes GPU hangs in some cases. We haven't tracked down why yet. Might be related to constant buffer persistence. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-05r6xx/r7xx: add support for tiling with kms (v3)Alex Deucher
Requires radeon drm 2.6.0 and updated mesa. v2: - fix lockup due to not emiting DB_DEPTH_INFO https://bugs.freedesktop.org/show_bug.cgi?id=28342 - fix drm minor version to deal with evergreen accel v3: rebase on current ddx git Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-01radeon/r600: restructure exa + vbo to provide more sharingDave Airlie
This is a precursor for r300/500 vbo support. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-06-21Convert x(c)alloc/xfree to m/calloc/free.Michel Dänzer
Fixes deprecation warnings with xserver master and should also work with older xservers.
2010-06-21radeon: fix support for 1.9 server master.Dave Airlie
This moves pixmap and mode set into CSR where its allowed. Should work fine on old servers also. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-06-11radeon: fixup last fix, use CURSOR_WIDTH not RADEON_CURSOR_WIDTH.Dave Airlie
2010-06-11radeon: set proper stride for cursor in tiling flags.Dave Airlie
definitely incorrect, but hope it doesn't break anything. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-06-08radeon: fix rn50 cloning with kmsAlex Deucher
Since they only have one crtc sometimes the xserver doesn't assign a crtc to one of the outputs even though both outputs have common modes which results in only one monitor being enabled. Assign a crtc in preinit so that both outputs light up. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-06-08xv: fix Xv on M6/RV100 under KMS.Dave Airlie
pRADEONEnt->HasCRTC2 wasn't setup under KMS. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-06-03evergreen: explicitly disable accel on evergreenAlex Deucher
Previously we relied on the drm not having accel enabled to make sure evergreen used shadowfb, now we when we enable accel in the drm, we need to make sure the ddx doesn't try and use it until it's implemented. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-05-18r3xx-r5xx: enable color tiling by default on KMSMarek Olšák
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-05-10kms: add support for the MSC swap & sync APIJerome Glisse
This patch is mostly a port over of Intel ddx code for MSC support. It needs a radeon KMS module with version 2.4 which has the query for hw crtc id. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-04-16kms: add uevent support.Dave Airlie
When we get a hotplug event from the kernel we should notify the client side to reconfigure displays. based on work by ajax in intel driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-18radeon: avoid using DRI1 init path on DRI2 driver.Dave Airlie
I was playing with multi-seat and found this code, fixed it up to be sane and more DRI2 like. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-02-26Use/define RADEON_GPU_PAGE_SIZE instead of sprinkling 4096 everywhere.Matt Turner
Also, define RADEON_BUFFER_ALIGN in terms of it, and replace some RADEON_ALIGN(x, RADEON_BUFFER_ALIGN) with RADEON_ALIGN(x, RADEON_GPU_PAGE_SIZE) since this is really what was intended. CC: Jerome Glisse <jglisse@redhat.com> CC: Alex Deucher <alexdeucher@gmail.com> CC: Dave Airlie <airlied@redhat.com> Signed-off-by: Matt Turner <mattst88@gmail.com>
2010-02-25clean up kms zaphod handlingJames Le Cuirot
Taken from James patch on bug 24523 agd5f: adapt to the current code
2010-02-23zaphod: hopefully fix kms + zaphodDave Airlie
2010-02-17radeon: add ZaphodHeads optionAlex Deucher
Allows users that want to use zaphod mode to select which xrandr outputs are assigned to which head. E.g., Option "ZaphodHeads" "LVDS,VGA-0" will assign LVDS to the first zaphod driver instance and VGA-0 to the second instance.
2010-01-25KMS: fix no accel optionAlex Deucher
NO_ACCEL wasn't handled correctly with KMS. fixes fdo bug 26198
2010-01-25radeon/kms: only enable EXA pixmaps under kms if we support render accelDave Airlie
I've seen RN50s with 64MB of RAM that are slow as molasses, this should fix them. RH bug 556400 Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-12-01r600: fix multi-operation in single batch support.Dave Airlie
This ports the mesa DMA buffer handling with the 3 lists, Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-27r600/accel: cleanup and merge a lot of the accel functionsDave Airlie
All of the drawing ops were the exact same modulo the vtx size, this along with the vertex buffer wrapping code could all be consolidated into a smaller set of functions. This also adds 2 VBO which we switch between, and merges a #define to enable the multiple operations in one CS under KMS mode. Multi-operation still isn't working though. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-25radeon/exa: change option to determine exa pixmap usage.Dave Airlie
This moves to a boolean instead of using VRAM sizing. as per Michel's suggestions on list. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-25kms: flush cs on close screen.Dave Airlie
this is needed for server recycle. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-25r600: refactor code to help future acceleration speedups.Dave Airlie
This changes the vertex buffer index to be an offset, and records the start of the vb for each operation and uses that to set the operations up. This still flushes after each operation to make sure we have no regressions in non-kms/kms cases. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-24radeon/kms: drop special r600 indirect flushDave Airlie
This just merges it with the main kms cs flush
2009-11-23radeon: fix warning in printfDave Airlie
2009-11-23radeon: avoid using hw pixmaps when we have little VRAM.Dave Airlie
This patch returns NULL for pixmap creation when we are using mixed pixmaps and the pixmap has a size. The size check is necessary for the front buffer. We add a flag to force pixmap creation for certain pixmaps that need to be hw, like the DRI2 and Xv ones. Idea from Michel and workarounds from Ben Skeggs. v2: add Option "EXALowVRAM" to allow configuring this, value in MBs. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-11-20kms: recalculate the flush limits after screen resize.Dave Airlie
When we resize the front buffer we need to reduce the flush limits appropriately. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-10-24Disable color tiling on r600/r700Luca Tettamanti
Not supported yet.
2009-10-09Revert "kms: setup colormap and gamma correctly."Dave Airlie
This reverts commit 60d9685abddccec17c1a9a5ec48cbe9c92543e0f. which breaks colormap on 1.6 X server Conflicts: src/drmmode_display.c
2009-10-05kms: assume accel is working is info ioctl return -EINVALJerome Glisse
-EINVAL should only happen if the info ioctl doesn't support the get accel query. This patch assume that on such case accel is working.
2009-10-05kms: setup colormap and gamma correctly.Dave Airlie
We need to program the gamma at modeset. no need to use old cmap interface at all.
2009-10-03Fix KMS on big endian machines.Michel Dänzer
Requires at least xserver 1.7 to work properly. Also make sure the front buffer is and stays tiled if colour tiling is enabled.
2009-10-03KMS: Don't hide HW cursor when it's updated.Michel Dänzer
Inspired by the intel driver; might avoid/reduce HW cursor flicker in some cases.
2009-10-03Fix some compiler warnings.Michel Dänzer
2009-09-30radeon/kms: fallback to shadowfb if kernel report acceleration is offJerome Glisse
This will fallback to shadowfb is GPU accel failed somewhere during KMS kernel init.
2009-09-19kms: disable dgaAlex Deucher
Can be dangerous with kms: http://lists.freedesktop.org/archives/xorg-devel/2009-September/002113.html
2009-09-19kms: init dga using xf86DiDGAInitAlex Deucher
fixes cursor problems in games like UT2004 and Penumbra Overture see fdo bug 24034
2009-08-25r6xx/r7xx EXA: WIPAlex Deucher