Age | Commit message (Collapse) | Author |
|
On big endian systems, PrepareAccess will fail when byte-swapping is
required so UploadToScreen and DownloadFromScreen cannot rely on
fallback to PrepareAccess.
When scratch BO space allocation fails, this patch merely adds simple
fallback to direct CPU access without any GPU blit. This sometimes
requires a CS flush even in UploadToScreen.
(No allocation retry after a flush is added here.)
|
|
If unflushed CS operations write to the pixmap BO, then these need to be
flushed before mapping the BO for read. This currently only affects big
endian systems and only when the operation writes to the GTT domain.
|
|
This is actually only necessary when PrepareAccess may behave differently on
different calls with the same pixmap, which currently doesn't happen.
However resetting bo_mapped is necessary to let PrepareAccess (with mixed
pixmaps) choose to fail based on whether the pixmap is in VRAM (to avoid CPU
reads).
|
|
radeon_bo_is_busy() may return without setting the domain out-parameter.
If this happens, then download via a scratch GTT BO to avoid CPU VRAM read.
|
|
interlaced used to work without setting these parameters. Changes
in the xserver seem to require them now.
Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=29591
|
|
some stray - signs
|
|
The 7th entry in a lot of evergreen i2c gpio tables is partially
zeroed. Fix the entry.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Column order is wrong on big endian systems, primarly because of a
bits / bytes mix up with the bpp variable. Fix tested with r100 and
r300, screen depth 16 and 32 with YV12 and YUY2 (overlay, textured video),
RGBA and RGBT (overlay).
Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=29041
Signed-off-by: Heikki Lindholm <holin@iki.fi>
|
|
When a client calls ScheduleSwap we set up a kernel callback when the
relevent vblank event occurs. However, it's possible for the client
to go away between calling ScheduleSwap and the vblank event,
resulting in the buffers being destroyed before they're passed to
radeon_dri2_frame_event_handler.
Add reference-counting to the buffers and take a reference in
radeon_dri2_schedule_swap to ensure the buffers won't be destroyed
before the vblank event is dealt with.
This parallels the approach taken by the Intel DDX in commit
0d2392d44aae95d6b571d98f7ec323cf672a687f.
Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=29065
v2: Don't write completion events to the client if it has quit.
v3: Don't try to unref the NULL buffers from a DRI2_WAITMSC event.
Take a ref in schedule_swap earlier, so the offscreen fallback
doesn't incorrectly destroy the buffers.
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
port of 0be3e95c844247746742805830860ace9f546d99 from intel driver.
Remove explicit batchbuffer submit in DRI2 copyregion
Now that we submit from the flush callback chain, we know we'll always
submit before the client receives the reply or event that blocks it from
rendering the next frame.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
this is a port of 69d65f9184006eac790efcff78a0e425160e95aa from the Intel
driver.
Submit batch buffers from flush callback chain
There are a few cases where the server will flush client output buffers
but our block handler only catches the most common (before going into select
If the server flushes client buffers before we submit our batch buffer,
the client may receive a damage event for rendering that hasn't happened yet
Instead, we can hook into the flush callback chain, which the server will
invoke just before flushing output. This lets us submit batch buffers
before sending out events, preserving ordering.
Fixes 28438: [bisected] incorrect character in gnome-terminal under compiz
https://bugs.freedesktop.org/show_bug.cgi?id=28438
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Take from my kms commit.
Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=19459
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Fixes:
http://bugs.freedesktop.org/show_bug.cgi?id=27452
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The pins for ddc and aux are shared so you need to switch the
mode when doing ddc. The ProcessAuxChannel table already sets
the pin mode to DP. This should fix unreliable ddc issues
on DP ports using non-DP monitors.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
|
|
|
|
|
|
|
|
This removes a bunch of strict aliasing warnings and fixes the
codepaths up like the latest KMS code, including a workaround for a bug
on evergreen.
|
|
This reworks the pixel clock adjusting code to follow the KMS style,
also fixes warnings in this code.
|
|
this is ported from KMS
|
|
|
|
|
|
|
|
|
|
fixes digital output problems on evergreen asics
|
|
SW de-tiling used in the r600c 3D driver has issues with
certain configurations.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Requires radeon drm 2.6.0 and updated mesa.
v2: - fix lockup due to not emiting DB_DEPTH_INFO
https://bugs.freedesktop.org/show_bug.cgi?id=28342
- fix drm minor version to deal with evergreen accel
v3: rebase on current ddx git
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
|
|
reduces code duplication.
|
|
|
|
|
|
|
|
|
|
This is a precursor for r300/500 vbo support.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
keep CF, ALU, Fetch instructions in separate groups
|
|
The server 1.2 as shipped in the tarball on the web does not contain the
modes code. It was added just after and found in git branch server-1.2-branch.
The modes code was initially included in version ati 6.8.0 and fails to compile
with server 1.2 as it requires randr 1.2. The modes code is included in server
versions 1.3 and later, so there is no need to provide an unknown version of
the modes code in the ati driver tarball. It will never be used.
This patch makes the ati driver requiring server 1.3 or later.
Version 6.8.0 configures and builds ok on server 1.3
Master branch post 6.13.1 configures and builds ok on server 1.3
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Per-target compilation flags (theatre200_drv_la_CFLAGS) are required
when multiple targets which require different compiler flags,
are build in the same makefile.
Automake issues a command with -c and -o flags which not all compilers
support. The object fles are prefixed with theatre200_drv_la.
The macro AM_PROG_CC_C_O must then be used to provide this feature
on compilers that do not have it. If not, a warning is issued at make time.
This macros checks for compiler support and if missing, uses a "compile"
script it generates in the package root directory.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Group the op variable state into one emit block, re-order
to reduce dwords emitted.
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
These macros are called by the PKG_CHECK_MODULES macro.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
This macro is called by PKG_CHECK_MODULES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
This macro is called by PKG_CHECK_MODULES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Autoconf says:
"This macro is obsolescent, as current systems have conforming
header files. New programs need not use this macro".
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
AC_PROG_C_C99. This sets gcc with -std=gnu99.
If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|