Age | Commit message (Collapse) | Author |
|
This ports the mesa DMA buffer handling with the 3 lists,
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
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>
|
|
|
|
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.
|
|
|
|
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>
|
|
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.
|
|
|
|
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.
|
|
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>
|
|
|
|
|
|
fixes Xv after changes in:
8f80e37eed3ec028718b4e71bbb9b598847fd94e
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
|
|
|
|
|
|
|
|
Adapted from various patches from Dave and Jerome.
|
|
|
|
|
|
Abstract vertex buffer, preliminary work before others change
to bring cs support along IB support.
|
|
|
|
|
|
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
|
|
|
|
- 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.
|
|
|
|
- brightness, contrast, hue, etc.
- TODO: implement gamma
|
|
|
|
3 regs: 1 bit per bool, 32 bools per ps/vs/gs
|
|
Avoids an additional function call.
|
|
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
|
|
use a bool const to select the tex fetch routine
|
|
|
|
Reduces the vertex buffer setup overhead
|
|
This improves performance due to decreased function call
overhead.
|
|
|
|
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.
|
|
This reverts commit 4fd7228de7ad88edf825dbc3039df877795a9479.
Causes lockups.
|
|
|
|
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.
|
|
draw current VB and start a new one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|