Age | Commit message (Collapse) | Author |
|
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>
|
|
Main differences with evergreen:
- 4-way rather than 5-way
- END_OF_PROGRAM bit removed from CF istructions, use
CF_INST_END instead.
- MEGA_FETCH* fields removed from VTX commands
- no more VC, all fetches go through the TC
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The rest of the state functions can be shared
with evergreen. I've noted where there are
differences.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Just fallbacks for now.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Pointed out by clang:
../../src/radeon_crtc.c:242:18: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
error = error < 0 ? 0xffffffff : error;
~~~~~ ^ ~
If a UMS regression is bisected to this commit, the assignment should probably
just be removed, as it's a no-op in the current form.
|
|
Pointed out by clang:
../../src/drmmode_display.c:1023:30: error: use of logical && with constant operand; switch to bitwise & or remove constant [-Werror,-Wconstant-logical-operand]
if (props && (props->flags && DRM_MODE_PROP_ENUM)) {
^ ~~~~~~~~~~~~~~~~~~
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
improvements to high-crtc handling done in
f0b7d7b449cc77bb2b281d81108507f8bc2e6018 introduced a bug that caused
the populate_vbl_request_type to never use the high-crtc field even
when it should. The reason is that the offending patch put the code
under #ifdef DRM_VBLANK_HIGH_CRTC_MASK which is not visible outside the
enum type, so #else was always taken in compilation type. This patch
fixes it by basing #ifdef on (pre-processor visible)
DRM_VBLANK_HIGH_CRTC_SHIFT constant
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Fusion had a bug setting up the VM on earlier kernels so we need to work
around that and only enable accel on a new enough kernel.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This avoids calling into the kernel for each bo in the accel
code. This is a follow on to:
cc7d1fa39da40a532fcdbe6c7924ca47a879e66a
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Ported from the equivalent fix in Mesa.
|
|
Calling into the kernel every time is quite expensive, and nobody else should
ever change the tiling flags.
There's still more to do along the same lines for >= R6xx.
|
|
* Fix build against libdrm that doesn't define *_VBLANK_HIGH_CRTC*.
* If we have more than two CRTCs but can't use DRM_VBLANK_HIGH_CRTC_MASK, don't
enable scheduling in the first place rather than relying on
DRM_VBLANK_SECONDARY magically doing something sensible for higher CRTCs.
* Only set up client state tracking when scheduling is enabled.
* Only declare pRADEONEnt when it's needed, and break long lines.
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Hi Alex,
Enclosed is a revised version of two patches sent on Mar 18 and Mar 22,
respectively. Details summarized in these two threads:
http://lists.freedesktop.org/archives/dri-devel/2011-March/009463.html
http://lists.freedesktop.org/archives/dri-devel/2011-March/009582.html
This patch reconciles the DDX with the change in libdrm sent to this list
earlier today. Specifically, it refers to a symbol that has been renamed
from DRM_CAP_HIGH_CRTC to DRM_CAP_VBLANK_HIGH_CRTC. It *supersedes* the
previous patch (i.e. apply it to the master branch as it exists at the
time of this writing, not as an incremental patch to the one sent previously).
Regards,
Ilija
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
this corrects the function name so it matches the contents.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This caused a regression in firefox, as these numbers are xFixed
values hence 1 is actually 65536.
Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=685084
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
rendercheck tsrccoords test fails.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
KMS only. No UMS support for cayman.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
By default the hardware rounds texcoords. However,
for point sampled textures, the expected behavior is
to truncate. When we have point sampled textures,
set the truncate bit in the sampler.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The first take of my patch missed the breakage against pre-1.10
xservers and now I know XNFasprintf() is not a 1:1 replacement
for XNFprintf().
The idea for the fix seemed to be so obvious, but as usual "really"
test the patch you are sending to any ML.
I am awfully sorry for the overhasty bad hack.
Thanks to Alan and Alex for the help to fix it correctly, now.
Tested-By: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The kernel CS checks showed we were incorrectly aligning the
U/V allocations for when we used them as texture sources.
This should fix
https://bugs.freedesktop.org/show_bug.cgi?id=34567
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This reverts commit cb4dc7ab66016d0c980800f8dbf71bbe993889d3.
Looks like this caused https://bugs.freedesktop.org/attachment.cgi?id=43852 ,
but even if it didn't, the following needs to be addressed first:
cc1: warnings being treated as errors
../../src/radeon_kms.c: In function ‘radeon_open_drm_master’:
../../src/radeon_kms.c:413: error: passing argument 1 of ‘XNFasprintf’ from incompatible pointer type
/usr/local/include/xorg/Xprintf.h:57: note: expected ‘char **’ but argument is of type ‘char *’
../../src/radeon_kms.c:413: error: passing argument 2 of ‘XNFasprintf’ makes pointer from integer without a cast
/usr/local/include/xorg/Xprintf.h:57: note: expected ‘const char * restrict’ but argument is of type ‘uint16_t’
../../src/radeon_kms.c:413: error: assignment makes pointer from integer without a cast
make[2]: *** [radeon_kms.lo] Error 1
|
|
Noticed when building ati/radeon ddx against xserver 1.10-rc3.
[ build.log ]
../../src/radeon_kms.c:412:5: warning: 'XNFprintf' is deprecated (declared at /usr/include/xorg/os.h:273)
agd5f: don't break the build against pre-1.10 xservers.
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This issue was introduced due to last minute backout of RandR-1.4
in xserver 1.10-rc3.
Switch to "#ifdef RANDR_14_INTERFACE" as suggested by Keith Packard.
See also <http://lists.x.org/archives/xorg-devel/2011-February/019643.html>.
Note:
The ddx needs a rebuild as the X video driver ABI changed to version 10.0.
Reported-by: Alex Deucher <alexdeucher@gmail.com>
CC: Keith Packard <keithp@keithp.com>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
|
|
Based on Ben's nouveau patch.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Make sure it's large enough for the tiling mode so the
CS checker doesn't complain. Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=34567
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
RADEONRestore() restores the CLOCK_CNTL_INDEX register before calling
RADEONRestorePLLRegisters(), which modifies the CLOCK_CNTL_INDEX register
to access the PLL registers. As a result we may end up with the wrong clock
being selected when exiting X. This happens on platforms where the driver
doesn't save and restore the VGA state.
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
|
|
- requires 2.6.37 or newer
- 1D only at the moment
- disabled by default
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
- properly set tiling flags for temp surfaces
- fix CB non_disp_tiling bits on evergreen
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
broken by:
a9c1358099:"Xv: fix textured video alignment"
Reported by:
Artur Skawina <art.08.09@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|