summaryrefslogtreecommitdiff
path: root/src/radeon.h
AgeCommit message (Collapse)Author
2010-04-21Kill per-context SAREA support.Owain G. Ainsworth
It has never been used, and since the world is changing it almost certainly never will be. Good riddance. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-21Remove remnants of the ShowCache option.Owain G. Ainsworth
The rest of it died a long time ago. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-16r1xx texvid: deal with large numbers of vertsAlex Deucher
should fix fdo bug 25884
2010-04-16radeon/kms: fix crash when using more than two headsAlex Deucher
fixes fdo bug 27692
2010-04-13radeon: add support for pll algo selectionAlex Deucher
tv-out on atom systems is very particular about it's dividers. force it to use the old algo. Should fix fdo bug 27593.
2010-04-01r600/exa: further cleanup, use the object struct in the accel state.Dave Airlie
This cleans up the accel state objects as well. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-22r6xx+ EXA: always use the accel_state state in DoPrepareCopyAlex Deucher
2010-03-22r6xx EXA/Xv: track src/dst domainsAlex Deucher
Much of the code is shared, so track the src/dst domains so we make sure the uses consistent domains for each bo.
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-25update ZaphodHeads optionAlex Deucher
Now that the screen section mapping is fixed, Make the option per-instance and allow multiple outputs to be specified; e.g., DVI-0 and HDMI-0 associated with instance 0 and LVDS and VGA-0 associated with instance 1.
2010-02-22radeon: update new pll algoAlex Deucher
- add support for pre-avivo chips - add support for fixed post/ref dividers - add support for non-fractional fb dividers By default avivo chips use the new algo and pre-avivo chips use the old algo. Use the "NewPLL" option to toggle between them (set to TRUE for the new algo, FALSE for the old).
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-02-15Allocate Xv buffers to GTT.Pauli Nieminen
KMS doesn't have acceleration for upload to vram. memcpy/memmove to VRAM directly is very slow (40M/s in benchmark) which causes visible problems to video. Allocating video buffer in GTT will give good performance (350-450M/s) for memmove operation. This is nice performance boost for Xv under KMS. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2010-02-12r6xx/r7xx: implement EXA vline supportAlex Deucher
2010-02-12radeon: consolidate crtc selector for vline waitAlex Deucher
Use the Xv version as it takes into account the area covered by the op rather than just picking the largest crtc area.
2010-02-01evergreen: add chip enumsAlex Deucher
2010-01-27radeon: minor pll updatesAlex Deucher
add new fixed post divider option
2009-12-09AVIVO: add new PLL codeAlex Deucher
This should hopefully help the problems with flickering and blinking monitors reported on some systems. If there are problems, the old PLL algorithm can be selected with: Option "NewPLL" "FALSE" in the device section of your X config. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-12-02radeon: Lift hardcoded limit from RADEONQueryImageAttributesKusanagi Kouichi
The dimension of an XvImage is limited to 2048 x 2048 even if an adaptor supports larger image. XvCreateImage and XvShmCreateImage lower the width or height of an image. XvPutImage and XvShmPutImage return BadValue. The cause is that 2048 is hardcoded in RADEONQueryImageAttributes.
2009-12-02Merge remote branch 'origin/displayport'Dave Airlie
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-27radeon: clean up DP codeAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.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-26displayport: cleanup call dp from dpms on instead.Dave Airlie
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-25r600: fixup problems with EXA operation reset for multiple opsDave Airlie
To put multiple ops into one CS, you can't just discard the whole IB. This add supports for reset the CS cdw to the correct place after an op discards. Still doesn't enable the final accel bits.
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-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-20r300: render target limit is 2560Alex Deucher
limit was increased to 4021 in r4xx. fixes fdo bug 25191. Signed-off-by: Alex Deucher <alexdeucher@gmail.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-11-18radeon: pull previous displayport work into masterAlex Deucher
2009-10-04radeon: add support for Custom EDIDCsillag Kristof
Allows you to specify an edid per output from a file to override what is detected by DDC. Useful for problematic monitors or KVM switches that block DDC. Specifying an EDID that is not compatible with your monitor could damage your monitor so use with caution. agd5f: cache the custom edid at startup so we don't have to read it from file every time the output is queried.
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-03R3/5xx EXA: Minimise number of draw primitives used for Composite operations.Michel Dänzer
This should reduce the kernel CS checker overhead, if nothing else. I'll leave porting this to other chipset families to others who can test it.
2009-10-03EXA: Don't always flush when switching between 2D/3D engines with KMS.Michel Dänzer
This seems to work fine here now and help 2D performance quite a bit, let's see if it breaks anybody else's setup...
2009-09-25radeon: fix vline handling for kmsAlex Deucher
drm crtc ids do not correspond to actual hw crtcs, as such the vline stuff was never enabled for Xv. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-09-24radeon: remove old pre-randr rotation cruftAlex Deucher
leftover from the randr 1.2 conversion. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-09-08radeon: replace dga code with DiDGAAlex Deucher
2009-08-25r6xx/r7xx: first pass at kms accel supportAlex Deucher
Adapted from various patches from Dave and Jerome.
2009-08-19radeon/kms: add initial colortiling support (disabled by default).Dave Airlie
This requires an X server from git with createpixmap2 support fixed up in it. On 1.6 and previous it won't do any tiling, if you are running git server please upgrade to latest git. Option "AllowColorTiling" "true" to enable and do some testing
2009-08-11radeon/r600: abstract vertex buffer for r600 & r700 hardwareJerome Glisse
Abstract vertex buffer, preliminary work before others change to bring cs support along IB support.
2009-08-01radeon: reload bicubic Xv texture on VT switchAlex Deucher
fixed bicubic filtering after VT switch or suspend/resume
2009-07-14R3/4/5xx: only upload the bicubic texture onceAlex Deucher
Upload the bicubic texture once during textured video init rather than once per frame. Suggested by Michel Daenzer on IRC.
2009-07-08Further non-KMS fixes / cleanups.Michel Dänzer
Only compile tested.
2009-07-08Fix the build for the !XF86DRM_MODE caseAlex Deucher
compile tested only.
2009-07-08Don't always flush CS when switching from 2D to 3D.Michel Dänzer
This works fine here and doubles x11perf -aa10text scores, but may cause problems on other setups according to Dave. Let's see...
2009-07-08KMS CS fixes, take two.Michel Dänzer
Avoid flushing CS in the middle of (setting up state for) an operation, properly finish/restart the operation.
2009-07-06radeon: port to new space checking in libdrm interfaceDave Airlie
This uses a new libdrm interface which shares code with mesa. It also fixes the bo to flush when full instead of never flushing. It survives gtkperf -a here which the driver didn't before now
2009-07-06Revert "KMS CS fixes."Dave Airlie
This reverts commit 11cf8a28eb46f48d101888552266921bee8b63fc. I'll bring this back in a few minutes, I've got a big change introducing a new cs space accounting scheme which this messes up and I think probably conflicts with what I've done. I promise i'll go over this and pick the bits that are still useful :)
2009-07-05KMS CS fixes.Michel Dänzer
* Flush CS before running out of space. * Don't flush CS every time when switching between 2D and 3D engine, but make sure to re-initialize 2D/3D state after flushing. Doesn't seem quite perfect yet (some rendering seems to get dropped on the floor sometimes), but this should fix a lot of CS failures people have been seeing.