summaryrefslogtreecommitdiff
path: root/src/radeon_textured_videofuncs.c
AgeCommit message (Collapse)Author
2009-05-08R3xx/R4xx tex vid: increase the guardband limit for rendering with a triAlex Deucher
limit goes from 2880 to 4021 now that we've switched to 1/12 subpixel mode. This allows us to render with a clipped tri at higher resolutions preventing diagonal tearing.
2009-05-08r3xx-r5xx: switch to 1/12 subpixel precisionAlex Deucher
- based on similar patch in Jerome's cs ddx tree - also fix clipping offsets - should eventually allow for 4k render targets - mesa driver uses 1/12 mode, this avoids changing the subpixel mode when switching between ddx and mesa
2009-05-08R3xx-R5xx: don't set TX_OFFSET_RS in RS_INST_COUNTAlex Deucher
Isn't necessary and seems to cause problems for RS690 users
2009-04-07radeon: fix Xv vsync for multi-headAlex Deucher
2009-03-24don't convert planar yuv to packed for r200Roland Scheidegger
uses 3 textures for planar yuv and does yuv->rgb conversion in the shader. Similar to r300 code, but might have precision issues - hardware alu should have enough precision but hardware consts are only 8bit and we'd want at least 11. This also enables textured video on rv250 (and also supports packed yuv on that chip by using basically the same shader with packed data).
2009-03-24don't convert planar yuv to packed for r300Roland Scheidegger
uses 3 textures for planar yuv and does yuv->rgb conversion in the shader. small performance advantage, but manual texture cache setting is necessary otherwise it may be measurably slower (but probably not relevant) in some cases. Unlike some other drivers, using MADs instead of DP3s, since this requires less instructions due to no MOVs are required, the end result is the same though the constants need to be different. Use of this is user settable for now (XV_HWPLANAR attrib).
2009-02-24Only call RADEONWaitForVLine if it might actually do anything useful.Michel Dänzer
Otherwise it and RADEONBiggerCrtcArea show up pretty high in x11perf -aa*text profiles.
2009-01-12R3xx/R4xx: Maximize the use of clipped triangles for Xv renderingChristiaan van Dijk
While trying to get tear free video on my RS690 I found some problems in the code for rendering the video as a clipped triangle. The size limitations are quite strict and scaling the video output window creates all kinds of weird effects. This patch maximizes the use of this function and resolves the scaling issues. There could be a problem with zero target height/width, not sure if this is handled elsewhere.
2008-12-22R3xx-R5xx: better fix for xv primitive tearing issuesAlex Deucher
R5xx: always use single clipped triangle R3xx/R4xx: use single clipped triangle up to guardband limit, then use quad.
2008-12-17R2xx: switch EXA composite to rects rather quadsAlex Deucher
For conistency with Xv path and to reduce potential diagonal tearing
2008-12-15R3xx-R5xx: switch back to quad rendering for XvAlex Deucher
The large clipped triangle trick hits the guardband limits on large displays. This gets textured video working again until we sort out how to deal with the situation better. See bug 19046
2008-12-05Fix scissor setup for XvPierre Ossman
We need to adjust the scissoring for each clip box, so move the setup to inside the while loop.
2008-12-05Make VSync for EXA and Xv configurableAlex Deucher
2008-12-05Optimise RADEONWaitForVLinePierre Ossman
Only avoid the vlines we are rendering to, instead of the entire screen. This way we don't stall the card for longer than we absolutely have to. EXA calls fixed by Alex Deucher.
2008-12-04Improve tearing avoidance for Xvideo in two stepsPierre Ossman
- Fix up VLINE handling to trigger whenever scanout is outside the visible area. - Render the video as a scissored triangle as R300+ cannot render a quad in a single pass.
2008-12-04First pass at tear-free accelAlex Deucher
if the dest pixmap is the front buffer, stall the pipe until the vline is outside the active area. For EXA, pick crtc based on the larger mode area; ideally we'd have one pixmap per crtc. For Xv, use dst window area to determine crtc.
2008-12-04Switch r200 Xv to use rect lists rather than quads to avoid tearingPierre Ossman
Patch from Pierre with fixes from me.
2008-12-04Fix up US setup after r3xx bicubic mergeAlex Deucher
2008-12-04Merge branch 'bicubic' of git://git.infradead.org/users/drzeus/xf86-video-atiAlex Deucher
2008-12-03Make sure 3D state is emited when switching to 3D IBAlex Deucher
- fixes bug 18864
2008-12-03Make the R300 bicubic shader program a bit easier to understand byPierre Ossman
having comments that describe the operation, not how it has to be implemented in the hardware.
2008-12-03Now that we have a bicubic code path that messes up the pixel shader,Pierre Ossman
we need to restore it in the non-bicubic code.
2008-12-03Fix node setup on R300 bicubic pixel shader. It was backwards and usedPierre Ossman
the wrong base for sizes.
2008-12-02move 3d state init after RADEON_SWITCH_TO_3D()Alex Deucher
2008-12-02Stability fixes from radeon-gem-csDave Airlie
2008-12-01Fix comments for R500 fragment shader to reflect the code.Pierre Ossman
2008-12-01Fix indentation on IS_R300_3D Xv code.Corbin Simpson
2008-12-01r3xx: Various Xv fixes.Corbin Simpson
2008-12-01Switch to Mesa-style 24-bit float packing.Corbin Simpson
Seems like Mesa's got it right, so we should follow suit.
2008-12-01Add r3xx-specific bicubic filtering code. FP, RS, mostly, everything else is ↵Maciej Cencora
shared with r5xx.
2008-08-25Move accel state to a separate structAlex Deucher
2008-08-25match textured video macro names with other accel codeAlex Deucher
OUT_VIDEO_REG() -> OUT_ACCEL_REG() etc.
2008-08-25Additional cleanups and re-arragement following bicubic mergeAlex Deucher
2008-08-25Whitespace cleanup from bucubic mergeAlex Deucher
2008-08-25Fix typos.Dennis Kasprzyk
2008-08-25Fix bicubic fp calculation.Dennis Kasprzyk
2008-08-25Fixed bicubic fragment program comments.Dennis Kasprzyk
2008-08-25Switch from 32-bit floats to 16-bit half-floats.Corbin Simpson
Massive bandwidth savings, or so I'm told. Yay?
2008-08-25Move some ALU instructions after the TEX instructions, so we can do ↵Dennis Kasprzyk
something usefull while we are waiting for the texture values.
2008-08-25Another uneeded SEM_AQUIRE.Dennis Kasprzyk
2008-08-25Smarter usage of the texture semaphore.Dennis Kasprzyk
2008-08-25Remove one constant.Dennis Kasprzyk
2008-08-25Heavy optimizations.Dennis Kasprzyk
2008-08-25Remove uneeded negations.Dennis Kasprzyk
2008-08-25Implement LPR in one instruction.Dennis Kasprzyk
2008-08-25Set helper texture filter correctly.Dennis Kasprzyk
2008-08-25Oops, made a mistake with vertices.Corbin Simpson
2008-08-25Merge upstream changes to vertices, and also add Xv attributes for textured ↵Corbin Simpson
video, including bicubic filtering.
2008-08-25Fix constants.Corbin Simpson
2008-08-25Finally got the fragment program fully working for bicubic filtering on r5xx.Corbin Simpson