summaryrefslogtreecommitdiff
path: root/src/r600_textured_videofuncs.c
AgeCommit message (Collapse)Author
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-25r600/xv: drop inited 3d false in xv codeDave Airlie
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-25radeon: fix check for no work in operationDave Airlie
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-10-13radeon: add XV_CRTC attribute for textured videoAlex Deucher
This attribute allows the user to override which crtc is synced with when XV_VSYNC is enabled. This is useful for clone modes where the user can might want to override the default.
2009-10-09r600 EXA: fix up mask reg mixupAlex Deucher
2009-10-03KMS: Double-buffer textured video source image upload.Michel Dänzer
In order to avoid stalling on previous frame. OTOH without KMS we can't do this but have to wait for the previous frame to finish rendering.
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-26r600: fix buildDave Airlie
2009-09-26r600/xv: fix dst bo write domainDave Airlie
2009-09-25r600: fix bo accounting for XvAlex Deucher
fixes Xv after changes in: 8f80e37eed3ec028718b4e71bbb9b598847fd94e Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2009-08-26r6xx/r7xx: more WIPAlex Deucher
2009-08-25r6xx/r7xx: fix some define problems in Xv codeAlex Deucher
2009-08-25R6xx/r7xx: unmap vb bo when doneAlex Deucher
2009-08-25r6xx/r7xx: more cs exa wipAlex Deucher
2009-08-25r6xx/r7xx: first pass at kms accel supportAlex Deucher
Adapted from various patches from Dave and Jerome.
2009-08-25R6xx/r7xx: add begin/end batch macrosAlex Deucher
2009-08-25r6xx/r7xx: move more common state to default state setupAlex Deucher
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-04RS880: enable accelAlex Deucher
2009-07-23R6xx/R7xx: clip rendering to destination surface dimensionsAlex Deucher
2009-06-30radeon: initial preparation for kms patch.Dave Airlie
This patch contains most of the changes to the EXA and texture video accel code. It adds a few bits of pixmap support but doesn't actually do anything useful KMS yet. Testing this should not have any regressions over what we have already, biggest worries are r6xx, I've fixed a textured video one, but no idea what other might lurk It won't build against libdrm radeon yet either
2009-05-13R6xx/R7xx Xv: normalize texture coordinates in the vertex shaderAlex Deucher
2009-04-21Tex vid: rework part 2Alex Deucher
- use pPriv->w/h directly for tex coords - take src x/y offset into account when calculating tex coords - when copying data, only optimize for y clipping. In order to deal with the x clipping optimization, the copy routines or tex coords would need to be fixed. This should fix clipping problems with the current code.
2009-04-20Tex vid: cleanup and unify common codeAlex Deucher
2009-04-17R6xx/R7xx: implement Xv attributesAlex Deucher
- brightness, contrast, hue, etc. - TODO: implement gamma
2009-04-07radeon: fix Xv vsync for multi-headAlex 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-13R6xx/R7xx: fix up vline stuff along the lines of previous chipsAlex Deucher
Avoids an additional function call.
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: 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-18R6xx/R7xx Xv: fix some missing bits from last commitAlex Deucher
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-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 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: fix cache flush buffer size for planarAlex Deucher
2009-02-09R6xx/R7xx Xv: implement native shader for planar formatsAlex Deucher
2009-02-07Xv vsync support on r6xx/r7xx cards.Pierre Ossman
2009-02-07R6xx/R7xx Xv: fix typos in cache flushing commandsAlex Deucher
2009-02-03Initial R6xx/R7xx EXA and textured video supportAlex Deucher