summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-02-27Only pad the IB on r6xx+r6xx-r7xx-supportAlex Deucher1-8/+14
2009-02-25CloseScreen(): Don't mess with the engine if the xserver isn't activeAlex Deucher1-1/+2
This fixes problems with killing X when accel is active and the server is switched away.
2009-02-25R6xx/R7xx EXA: same surface and same coords equals nopAlex Deucher1-1/+4
2009-02-24R6xx/R7xx: Bugfix for wait_vline_rangeChristian Koenig1-1/+1
Check if CurrentiMode is set, not if Active is true.
2009-02-24R6xx/R7xx EXA: optimize overlapping copy using temp surfaceAlex Deucher1-24/+26
- allocate temp surface in PrepareCopy() - fallback to old OverlapCopy() path is we're not able to allocate a temp surface
2009-02-24R6xx/R7xx EXA: use a temp surface for overlapping copiesMark van Doesburg2-7/+44
2009-02-24R6xx/R7xx EXA: switch to surface sync packetAlex Deucher1-11/+5
2009-02-24r7xx: Fix typo in cmd fifo maskAlex Deucher1-1/+1
2009-02-23R6xx/R7xx: add wait for idle MMIO pathAlex Deucher4-4/+104
2009-02-23R6xx/R7xx: reset 3D state after VT switchAlex Deucher1-1/+5
2009-02-23R6xx/R7xx: Improve wait_vline_rangeChristian Koenig1-1/+14
Make shure the given crtc is active and the range we are waiting for is in the visible area of this crtc.
2009-02-18R6xx/R7xx EXA/Xv: properly deal with running out of vertex buffer spaceAlex Deucher3-112/+100
As noted by mhopf, if VGT_MAX/MIN_INDX, etc. regs change, you need to re-emit CB blocks to avoid a hang. So, just set the VGT_MAX_INDX to a reasonably large value in the default state and don't touch them when drawing. When we run out of VB space, just draw the current buffer, grab a new one, and continue.
2009-02-12R6xx/R7xx: switch to drm for wait for idleAlex Deucher1-21/+4
THIS REQUIRES AN UPDATED DRM
2009-02-12R6xx/R7xx EXA: handle running out of vertex space in the copy pathAlex Deucher2-7/+33
2009-02-12R6xx/R7xx EXA: properly handle non repeat cases in the texture setupAlex Deucher1-26/+24
2009-02-12R6xx/R7xx EXA: Further optimizations to overlapping copyYang Zhao1-40/+63
Diagonal overlapping copies can be reduced to either horizontal- or vertical-only offset, and the one with fewer copies is picked.
2009-02-11R6xx/R7xx: Cleanup register definitionsChristian Koenig4-13/+11
Comment every definition in r600_reg_r6xx.h and r600_reg_r7xx.h which is also in rhd_regs.h, making it possible to include both files at the same time.
2009-02-11R6xx/R7xx: Implements wait_vline_rangeChristian Koenig3-1/+51
Implements wait_vline_range function and use this in R600DisplayTexturedVideo. Also fixes a nasty bug in "ereg". Based on radeon patch from Pierre Ossman.
2009-02-11R6xx/R7xx: Define WAIT_x constants for IT_WAIT_REG_MEMChristian Koenig2-6/+21
And also fix some compiler warnings.
2009-02-11R6xx/R7xx Xv: switch packed over to Yang's new shader codeAlex Deucher2-107/+99
2009-02-11R6xx/R7xx Xv: Planar - Properly scale Y'CbCr values before converting to RGBYang Zhao2-109/+108
According to MPEG-2 spec, Y' and Cb/Cr values are scaled to [16, 235] and [16, 240], respectively, when packed into bytes. Properly take care of the reverse scaling before translating to RGB. Conversion matrix has been simplified to remove 3rd column, as the fitting to [-0.5, 0.5] can be done with scaling. Redundant MOV instructions were also removed, and now only 3 GPRs are required.
2009-02-11R6xx/R7xx: be more verbose about what function ran out of VB spaceAlex Deucher2-5/+5
2009-02-11R6xx/R7xx: move engine idle to sync functionAlex Deucher1-4/+3
2009-02-11R6xx/R7xx Xv: add support for packed uploadsAlex Deucher1-14/+8
2009-02-11R6xx/R7xx Xv: Add native support for packed formatsAlex Deucher4-61/+46
2009-02-10M82: Missed one in the previous commitAlex Deucher1-0/+1
2009-02-10R6xx/R7xx: fix M82Alex Deucher2-0/+5
M82 is an RV620
2009-02-09R6xx/R7xx: Add checks to make sure we don't overrun VB spaceAlex Deucher2-0/+25
2009-02-09R6xx/R7xx Xv: switch to native planar shader and add accelerated planar uploadsAlex Deucher5-123/+816
2009-02-09R6xx/R7xx UTS: move actual upload to separate functionAlex Deucher1-8/+22
So it can be shared with Xv
2009-02-07R6xx/R7xx EXA: Optimize overlapping copyYang Zhao1-26/+59
Overlapping copy is now done in chunks proportional to the non-overlapping area. Diagonal overlaps are also handled properly.
2009-02-07R6xx/R7xx Xv: fix typos in cache flushingAlex Deucher1-2/+2
2009-02-06R6xx/R7xx EXA: Fix typo in DFSAlex Deucher1-2/+2
noticed by pzad in IRC
2009-02-06R6xx/R7xx EXA: fallback on overlapping blits for nowAlex Deucher1-0/+2
Leave this disabled until we get a proper solution.
2009-02-06Revert "r6xx/r7xx EXA: Optimize overlapping copy"Alex Deucher1-29/+50
This reverts commit 262126ef7292a851bcb757462615c015639e50d7. This is also not adequate for all cases.
2009-02-06R6xx/R7xx EXA: add accelerated UTS/DFS hooksAlex Deucher1-22/+113
I'm not sure how much of a win these are. I need to do some benchmarking.
2009-02-06r6xx/r7xx EXA: Optimize overlapping copyYang Zhao1-50/+29
When source and destination blocks are only offset horizontally, it appears to be unnecessary to perform careful, segment-by-segment copy. The code path that does this is taken out completely. For the case where offset is only vertical, copying is now done by height of the non-overlapping area each time, instead of always line-by-line.
2009-02-05Revert "R6xx/R7xx EXA: improve overlapping copy performance"Alex Deucher1-6/+29
This reverts commit bd28b5817ed96e86a2cb275f72a7233d8fc5eccc. THis seems to cause corruption in some cases.
2009-02-05r6xx/r7xx EXA: fix corruption when doing sw accessAlex Deucher1-0/+18
need to wait until the engine is idle. Ideally we wait on a timestamp shadowed in memory, but polling the GRBM_STATUS reg will do for now.
2009-02-05R6xx/R7xx EXA: improve overlapping copy performanceAlex Deucher1-29/+6
send vertices for each line of the copy, but only draw once
2009-02-05r6xx/r7xx EXA: cleanup overlapping copyAlex Deucher1-148/+5
2009-02-04Fix RHDDRIGARTBaseGet to work with AGP based cardChristian Koenig1-7/+1
Remove a check in RHDDRIGARTBaseGet makes AGP based r6xx card working, and also fix a minor debugging output typo.
2009-02-03EXA: fix and re-enable Solid() on R7xxAlex Deucher1-9/+3
last bit was set in final alu instruction.
2009-02-02Updates the comments about SPI setup for Solid()Alex Deucher1-3/+3
2009-02-02R7xx: temporarily disable Solid() to prevent hangsAlex Deucher1-0/+6
Something about using a PS constant for color seems to disagree with some r7xx cards.
2009-02-02EXA solid fixesAlex Deucher1-5/+26
- fix fetch count in solid VS - fix SPI PS input setup (we aren't using any VS outputs) - always have at least one VS export besides position, even if it's not used by the PS (SPI expects at least one).
2009-02-02R6xx/R7xx: Avoid emitting default state when possibleAlex Deucher1-1/+1
2009-02-02Add R6xx/R7xx AGP supportAlex Deucher1-42/+47
- Needs latest drm bits - doesn't seem to be as reliable as PCIE
2009-01-31Fix and enable composite maskAlex Deucher1-4/+1
bad offset into the vertex buffer for the mask coordinates
2009-01-30EXA: Remove repeat tile codeAlex Deucher3-142/+24
As far as I can tell from documentation and experimentation, all the clamp modes work fine with NPOT or POT textures.