summaryrefslogtreecommitdiff
path: root/src/r600_exa.c
AgeCommit message (Collapse)Author
2009-03-26R6xx/R7xx EXA: rework composite pixel shaderAlex Deucher
- move to vram storage - move swizzle logic to tex setup
2009-03-26R6xx/R7xx: clean up logic in EXA Comp PS setupAlex Deucher
2009-03-26R6xx/R7xx: clean up bool const codeAlex Deucher
3 regs: 1 bit per bool, 32 bools per ps/vs/gs
2009-03-19R6xx/R7xx EXA: fix maxPitchBytesAlex Deucher
should now allow accel up the hw max of 8192x8192
2009-03-18R6xx/R7xx AGP: disable gart data transfersAlex Deucher
UTS/DFS/Xv Doesn't seem to be reliable on AGP. fixes bugs: 20436, 20236, several reports on ML and IRC
2009-03-13R6xx/R7xx: EXA VSync Option not supported yetAlex Deucher
2009-03-13r600: reload shaders into VRAM on resumeDave Airlie
As VRAM gets zeroed out over s/r, we need to reload the shaders.
2009-03-02R6xx/r7xx: remove some unneeded code I missed in the last commitAlex Deucher
2009-03-02R6xx/R7xx EXA: cleanup composite texture setupAlex Deucher
2009-03-02R6xx/R7xx EXA: combine composite mask/non-mask VSAlex Deucher
Also fix set_bool_const() the CF bool consts are not contiguous by shader type There are 96 boolean constants (32 each for PS, VS, GS) and they are ordered as follows: ps, vs, gs ... ps, vs, gs
2009-03-02R6xx/R7xx Xv: combine packed and planar shadersAlex Deucher
use a bool const to select the tex fetch routine
2009-03-01R6xx/R7xx: move shaders to r600_shader.c and fixup Xv PSChristian Koenig
patches from Christian Koenig with some adjustments from me
2009-03-01R6xx/R7xx: code cleanupsAlex Deucher
2009-03-01R6xx/R7xx: write vertexes directly to the IBAlex Deucher
Reduces the vertex buffer setup overhead
2009-03-01R6xx/R7xx: switch emit functions to macrosAlex Deucher
This improves performance due to decreased function call overhead.
2009-02-27EXA: Make sure Prepare/FinishAccess hooks can handle EXA_PREPARE_AUX* indices.Michel Dänzer
And signal this to the EXA core using the new EXA_SUPPORTS_PREPARE_AUX flag.
2009-02-25R6xx/R7xx EXA: same surface and same coords equals nopAlex Deucher
should fix bug 20305
2009-02-24R6xx/R7xx EXA: init copy_area to NULLAlex Deucher
2009-02-24R6xx/R7xx EXA: Optimize temp surface for overlapping copiesAlex Deucher
- allocate temp surface in PrepareCopy() - fall back to old OverlapCopy() path if we are not able to allocate a temp surface
2009-02-24R6xx/R7xx EXA: use a temp surface for overlapping copyMark van Doesburg
2009-02-18R6xx/R7xx EXA/Xv: properly deal with running out of vertex buffer spaceAlex Deucher
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 Deucher
THIS REQUIRES AN UPDATED DRM
2009-02-12R6xx/R7xx EXA: Further optimizations to overlapping copyYang Zhao
Diagonal overlapping copies can be reduced to either horizontal- or vertical-only offset, and the one with fewer copies is picked.
2009-02-12R6xx/R7xx EXA: handle running out of vertex space in the copy pathAlex Deucher
2009-02-12R6xx/R7xx EXA: properly handle non repeat cases in the texture setupAlex Deucher
2009-02-11Revert "R6xx/R7xx: handle running out of vertex buffer space"Alex Deucher
This reverts commit 4fd7228de7ad88edf825dbc3039df877795a9479. Causes lockups.
2009-02-11R6xx/R7xx Xv: switch packed over to Yang's new shader codeAlex Deucher
2009-02-11R6xx/R7xx Xv: Planar - Properly scale Y'CbCr values before converting to RGBYang Zhao
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: handle running out of vertex buffer spaceAlex Deucher
draw current VB and start a new one.
2009-02-11R6xx/R7xx: be more verbose about what function ran out of VB spaceAlex Deucher
2009-02-11R6xx/R7xx: Move engine idle to sync functionsAlex Deucher
2009-02-11R6xx/R7xx Xv: Add native support for packed formatsAlex Deucher
2009-02-09R6xx/R7xx: Add checks to make sure we don't overrun VB spaceAlex Deucher
2009-02-09R6xx/R7xx Xv: add accelerated uploads for planar formatsAlex Deucher
2009-02-09R6xx/R7xx Xv: implement native shader for planar formatsAlex Deucher
2009-02-09R6xx/R7xx UTS: move actual upload to separate functionAlex Deucher
So it can be shared with Xv
2009-02-07R6xx/R7xx EXA: Optimize overlapping copyYang Zhao
Overlapping copy is now done in chunks proportional to the non-overlapping area. Diagonal overlaps are also handled properly.
2009-02-06R6xx/R7xx EXA: Fix typo in DFSAlex Deucher
noticed by pzad in IRC
2009-02-06R6xx/R7xx EXA: fallback on overlapping blits for nowAlex Deucher
Leave this disabled until we get a proper solution.
2009-02-06Revert "r6xx/r7xx EXA: Optimize overlapping copy"Alex Deucher
This reverts commit 0dfadc1843e0d14b9cc1ee19a72f4fd60a2c495b. This doesn't always work properly.
2009-02-06R6xx/R7xx EXA: add accelerated UTS/DFS hooksAlex Deucher
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 Zhao
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 Deucher
This reverts commit b24827c9d211e8a35da53b665385a7733d19910d. This seems to cause corruption in some cases.
2009-02-05r6xx/r7xx EXA: fix corruption when doing sw accessAlex Deucher
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 Deucher
send vertices for each line of the copy, but only draw once
2009-02-05r6xx/r7xx EXA: cleanup overlapping copyAlex Deucher
2009-02-03EXA: fix and re-enable Solid() on R7xxAlex Deucher
missing last bit in alu clause in solid PS
2009-02-03Initial R6xx/R7xx EXA and textured video supportAlex Deucher