Age | Commit message (Collapse) | Author |
|
When we do the allocations we need to make sure the always tiled
nature is taken into account.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
since the driver would call RRFirstOutput without checking if randr has
been enabled, and it would crash in privates code.
reported by vereteran on #radeon
Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-on-irc-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
The constants are written directly into a buffer object shared with the
card and we "forget" to swap them. This patch fixes it by doing the swap
in evergreen_set_alu_consts() in-place (ie, it modifies the buffer),
which should be fine with the way we use it in the ddx.
This makes everything work fine on my caicos card on a G5 including some
quik tests with Xv, gnome3 shell, etc...
Thanks a lot to Jerome Glisse for holding my hand through debugging that
(and finding the actual bug).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
One less patch to keep carrying in Fedora.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Should fix https://bugs.freedesktop.org/show_bug.cgi?id=42690 .
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
DRM's hard limit to the number of CRTCs is 32. ATI DDX unnecessarily
clips this limit to 6 by hard coding initial assumption for
output->possible_crtcs mask to 0x7f (before it gets trimmed down to
what's really possible for a given output) and by allocating only 6
entries for for cursor_bo[] array in RADEONInfoRec.
Fix this and thus allow the ATI DDX to deal with as many CRTCs
as the DRM allows (32), so it is ready if anything with >6 CRTCs
comes out.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
|
|
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Previous xservers had a bug in the EXA code which caused
display corruption in some cases.
See:
https://bugs.freedesktop.org/show_bug.cgi?id=33929
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
We already use atipciids.h instead most places.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Otherwise we may end up with things not properly set up at the beginning of the
next CS.
Fixes http://bugs.debian.org/645007 .
In contrast to the Composite code for < R6xx, this isn't necessary with UMS,
as the draw packet only uses constant space in the indirect buffer, and nothing
else can mess with the 3D state between indirect buffers.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Otherwise it's basically luck what the 2D state ends up being at the beginning
of the next CS.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
In particular, handle and propagate failure to allocate GPU accessible memory,
instead of crashing. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=30047 .
Also take care not to leak resources in error paths.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
For GPU not supported by UMS, test in probe so that we properly
fallback to vesa.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
libvdpau has a driver loading mechanism that looks for a dri2 driver
first before falling back to nvidia, so lets use that.
Allows use of libvdpau_rx00 without having to set things up separately,
similar to the patch to xf86-video-nouveau.
Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Reviewed-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Tested-by: Michel Dänzer <michel@daenzer.net>
|
|
DVOOutputControl checks the value of of bios scratch reg 3
on some tables and assumes the encoder is already enabled
if the DFP2_ACTIVE bit is set. Clear that bit so the table
sets the DDIA enable bit properly.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Avoids lots of "comparison between 'enum <anonymous>' and 'enum <anonymous>'"
warnings with newer versions of gcc. See
https://bugs.freedesktop.org/show_bug.cgi?id=38238 .
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Ideally, the display manager will start the X server again, and everything
will be fine and dandy. But in the worst case, at least we won't hit the
hardware behind the KMS driver's back.
(This change intentionally makes (ab)use of the fact that Bool is defined as
int).
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
It's not necessary: If the top/left edge was rounded down, this will be
compensated by the subtraction.
Worse, if the original source width/height is odd, rounding up may result in
reading past the end of the source data.
Fixes http://bugs.debian.org/637258 .
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
|
|
See https://bugs.freedesktop.org/show_bug.cgi?id=39696 .
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
On r5xx+, vline is relative to to the viewport, not
the scanlines. Based on initial patch and investigation
from Herbert Pötzl (Bertl) on IRC.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
If multiple drawables are doing page flipping, the global drmmode
structure can't be used to keep per swap information. For example
flip_count can increase prematurely due to another swap request,
and then the previous swap request never gets completed, leading to a
stuck client. Move the relevant pieces of data to a strucuture that
gets allocated once per swap request and shared by all involved CRTCs.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
|
|
Buffer exchange assumes that the front buffer pixmap and name
information is accurate. That may not be the case eg. if the window
has been (un)redirected since the buffer was created.
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
|
|
Avoids rendering problems when compute changes this reg.
Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=39119
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The field is encoded.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Reported-by: Nils Wallménius <nils.wallmenius@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Base alignment may be 256B or 512B depending on the group
size. Also need to check against front size for virtualX.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Currently only 1D tiling as 2D tiling still has some corner
cases to fix up.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
- KMS only
- Includes full EXA/Xv support
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Needs a proper workaround for a hw bug.
This reverts commit b77d374b0d11f48c33cfffdb4157c4ec4b05ea15.
|
|
|
|
wasted a lot of time getting to this.
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
changed in e3145801b80fd4be4cf770128876e86e89bda66f
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|