summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-09-20radeon: complete big endian UTS and DFS even when scratch allocation fails.Karl Tomlinson
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.)
2010-09-20RADEONDownloadFromScreenCS: flush CS writes before mapping BO for readKarl Tomlinson
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.
2010-09-20FinishAccess_CS: set bo_mapped to FALSE on unmapKarl Tomlinson
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).
2010-09-20DownloadFromScreenCS: download via a scratch BO if pixmap domain is unknownKarl Tomlinson
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.
2010-09-07radeon: set interlaced and doublescan enabled for randr outputsAlex Deucher
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
2010-09-01r6xx/r7xx: fix typosAlex Deucher
some stray - signs
2010-08-27evergreen: work around bad data in some i2c tablesAlex Deucher
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>
2010-08-27xv: fix non-kms/non-dri Xv column ordering on big endian systemsHeikki Lindholm
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>
2010-08-27dri2: Reference count DRI2 buffersChristopher James Halse Rogers
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>
2010-08-25remove explicit buffer submit from copy regionDave Airlie
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>
2010-08-25radeon: add correct flushing for direct renderedDave Airlie
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>
2010-08-23radeon: fix legacy lvds dpms sequenceAlex Deucher
Take from my kms commit. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=19459 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-20evergreen: set encoder type to DVI for HDMIAlex Deucher
Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=27452 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-19DCE3+: switch pads to ddc mode when doing i2cAlex Deucher
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>
2010-08-12radeon: fixup non-kms buildDave Airlie
2010-08-12evergreen: fix multi-head cursor supportDave Airlie
2010-08-10radeon: take 8/10 encoding into a/c on displayport linkDave Airlie
2010-08-10dce32: remove rmx workaroundDave Airlie
2010-08-10atombios: fixup set crtc source like KMSDave Airlie
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.
2010-08-10atombios: move adjust pixel clock around to follow KMS code flowDave Airlie
This reworks the pixel clock adjusting code to follow the KMS style, also fixes warnings in this code.
2010-08-10displayport: retry on timeoutDave Airlie
this is ported from KMS
2010-08-10evergreen: don't call YUV table on evergreenDave Airlie
2010-08-10evergreen: add support to parse firmware info for ext dp clkDave Airlie
2010-08-10atombios: realign digital transmitter/encoder setup with kmsDave Airlie
2010-08-10update atombios.h to latest from kernelDave Airlie
2010-08-09atom: upstream parser updateAlex Deucher
fixes digital output problems on evergreen asics
2010-08-05r6xx/r7xx: default to micro (1D) tiling for nowAlex Deucher
SW de-tiling used in the r600c 3D driver has issues with certain configurations. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-08-05r6xx/r7xx: add support for tiling with kms (v3)Alex Deucher
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>
2010-08-04radeon: add new pci idsAlex Deucher
2010-08-02r6xx/r7xx: move syrface sync emit to the functions that emit surface infoAlex Deucher
reduces code duplication.
2010-08-02EXA: move more common helpers to exa_sharedAlex Deucher
2010-08-02remove unused reg headers from radeon_exa_shared.cAlex Deucher
2010-08-02r6xx/r7xx: set VGT_MAX_VTX_INDX to a larger valueAlex Deucher
2010-08-02fix make distcheckDave Airlie
2010-08-01radeon/r600: restructure exa + vbo to provide more sharingDave Airlie
This is a precursor for r300/500 vbo support. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-30r6xx/r7xx: unify composite mask and non-mask pixel shaderAlex Deucher
2010-07-30r6xx/r7xx: clean up composite vertex shaderAlex Deucher
keep CF, ALU, Fetch instructions in separate groups
2010-07-28The local copy of the modes code is no longer required.Gaetan Nadon
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>
2010-07-24config: add AM_PROG_CC_C_O for per-target compilation flagsGaetan Nadon
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>
2010-07-21config: add comments for main statementsGaetan Nadon
2010-07-21config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILESGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-21config: replace deprecated AC_HELP_STRING with AS_HELP_STRINGGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-21config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERSGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-21r6xx/r7xx: group op variable stateAlex Deucher
Group the op variable state into one emit block, re-order to reduce dwords emitted.
2010-07-21config: complete AC_INIT m4 quotingGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-21config: remove unrequired AC_SUBST for LIBDRM and LIBUDEVGaetan Nadon
These macros are called by the PKG_CHECK_MODULES macro. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-20config: remove unrequired AC_SUBST([DRI_CFLAGS])Gaetan Nadon
This macro is called by PKG_CHECK_MODULES Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-20config: remove unrequired AC_SUBST([XORG_CFLAGS])Gaetan Nadon
This macro is called by PKG_CHECK_MODULES Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-07-20config: remove unrequired AC_HEADER_STDCGaetan Nadon
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>
2010-07-20config: remove AC_PROG_CC as it overrides AC_PROG_C_C99Gaetan Nadon
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>