Commit Graph

1412 Commits

Author SHA1 Message Date
Keith Packard 0c20fbabd1 Make sure XV_PIPE is used whenever possible.
The code was not consistently using XV_PIPE when the desired crtc contained
any portion of the video output.
2007-08-17 22:28:06 -07:00
Eric Anholt e443f83dd6 Tune acceleration architecture allocator sizes down. 2007-08-17 18:13:49 -07:00
Eric Anholt bd874b11bb Replace AA allocator usage with i830_memory.c for RandR rotation.
This requires EXA 2.2 (server 1.3) for rotated performance with EXA, because
the i830_memory.c allocation may not fall within what EXA considers the
offscreen area, so the PixmapIsOffscreen hook is needed.
2007-08-17 17:49:21 -07:00
Eric Anholt 9ad33dd65a Use i830_memory.c instead of the AA's allocator for XV buffers.
This should fix issues with XV being allocated into XAA's tiled pixmap
cache and resulting bad rendering.  Its also brings us closer to being able
to shrink the size of the pixmap cache on XAA, which is of limited utility.
2007-08-17 16:46:48 -07:00
Jesse Barnes 3655a1ecb6 Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel 2007-08-16 12:04:20 -07:00
Jesse Barnes e5c336eaa3 Disambiguate plane and pipe mapping, use plane A on pipe B on pre-965 LVDS
Add a new 'plane' field to the intel_crtc private structure for tracking
planes separate from pipes.  This allows pre-965 chips to use plane A
on pipe B, enabling framebuffer compression for builtin LVDS displays.
2007-08-16 12:04:02 -07:00
Dave Airlie 2231cdcd8f i915: add support for render to a8 2007-08-16 17:15:54 +10:00
Dave Airlie a69db6f7fe intel: don't setup texOffsetStart unless using EXA 2007-08-15 18:28:50 +10:00
Zhenyu Wang 5126a71f82 Fix seg fault introduced in tiling patch when TV detect
When TV does load detect, fb hasn't been setup, so we should check
that in i830_display_tiled(). Caught by Nanhai.
2007-08-14 13:54:55 +08:00
Keith Packard d9f89a1af7 Save/restore tile-mode offset registers DSPATILEOFF and DSPBTILEOFF
Now that the driver sets these registers, they must be saved and restored.
2007-08-10 17:59:33 -07:00
Keith Packard 5bc194d3d3 Set DSPATILEOFF/DSPBTILEOFF to handle 965 tiled frame buffers.
DSPATILEOFF and DSPBTILEOFF replace DSPASURF and DSPBSURF when the frame
buffer is in tiled mode.
2007-08-10 17:54:32 -07:00
Eric Anholt 64b943c79c Add #if 0-ed fence debugging code. It's noisy, and of little use to most. 2007-08-10 17:42:22 -07:00
Eric Anholt ba9a503ba2 Don't force tiling on if it is disabled in configuration but fbc is possible. 2007-08-10 17:42:21 -07:00
Eric Anholt b7751c7d1d Fix stack-smashing in the last commit. 2007-08-10 17:42:09 -07:00
Eric Anholt cb36635a05 Attempt to fix several front buffer tiling failure cases.
Front buffer tiling is now disabled with G965 and XAA.  Some of the acceleration
that i830_xaa.c does can't be supported on tiled buffers.

Adds a tiling field to struct i830_memory, and uses it instead of separate
variables for each potential tiled buffer.
2007-08-10 16:33:04 -07:00
Keith Packard ed1b106fab Clean up tv mode name allocation and copy.
TV mode names used to contain the signalling standard along with the pixel
size. The signalling has been moved to the TV_FORMAT property, but the
allocation and initialization of the mode name was left a bit messy as a
result.
2007-08-10 14:31:16 -07:00
Jesse Barnes f71b9358b4 Cleanup tiling and FBC driver output.
Remove an extra "FBC enabled" message from i830_memory.c (only report errors
if they occur), and don't print the "forcing FBC on" message if tiling was
already enabled, as it's redundant and confusing.
2007-08-10 15:53:04 -04:00
Jesse Barnes e6746d0f28 Enable tiling by default on 965. 2007-08-10 15:48:15 -04:00
Jesse Barnes e0fcf645a2 Tiling fixes for 965
This should be close to the last set of tiling fixes for 965 chipsets.
Prior to this commit, the 965 composite hook didn't take tiling into
account, nor did 965 textured video, which caused display corruption.
However, there seems to be at least one last bug to squash--on occasion,
a configuration with tiling enabled won't properly display text.  This
is likely another tiling related problem with the composite hook.
2007-08-10 15:43:06 -04:00
Dave Airlie 7b143e5c83 i965: increase composite vertex buffer size and alignment to be safe 2007-08-09 12:14:44 +10:00
Dave Airlie 14691b24da i965: fix memcpy of the sf_kernel when a mask is needed 2007-08-09 09:41:32 +10:00
Carl Worth 5e18c6af90 Allow 965 composite acceleration to A8 destinations.
Note that this is a slowdown in text rendering due to the high overhead of our
compositing setup, but appears to be correct according to rendercheck.
2007-08-08 11:14:29 -07:00
Eric Anholt b0ec670cdb Bug #11593: Remove dead struct vch_bdb_20 which was angering the sun compiler. 2007-08-08 11:03:51 -07:00
Eric Anholt 92af2f4bbc Merge branch 'origin'
Conflicts:

	src/i830_exa.c
2007-08-07 15:18:17 -07:00
Eric Anholt da82a47a55 Fix EXA rendering with tiled front buffer on pre-965.
The 915 and earlier appear to respect the fence registers, while only the 965
requires the per-operation tiling setting and pitch shifting.  This will also
fix issues with rendering on the 965 involving multiple cliprects, where the
pitch would get divided repeatedly.

This removes the offset < 4096 fallback, which essentially resulted in no
acceleration to tiled buffers, hiding the issues.
2007-08-07 15:13:10 -07:00
Jesse Barnes e0be352f50 Fixup pitch in Prepare* functions, since actual hooks may
be called many times for the same pixmap, and we don't want
to keep dividing the pitch by 4.
2007-08-07 12:42:42 -07:00
Brice Goglin 7431abee5f Define INTEL_VERSION_MAJOR/MINOR/PATCH using PACKAGE_VERSION_* 2007-08-07 09:13:00 +02:00
Jesse Barnes 9e1914270a Remove 4k offset checks from Copy & Solid hooks.
Reading the docs too literally can cause you to hide bugs with false fixes...
2007-08-06 17:55:00 -07:00
Eric Anholt 3510d5728f Fix accumulated whitespace nits in i830_exa.c 2007-08-06 16:44:39 -07:00
Jesse Barnes 5ff05dffe2 More tiled rendering fixes: - check for tiling, not just offset in PrepareSolid - combine pI830->tiling and frontbuffer checks into new exaPixmapTiled function for readability 2007-08-06 16:04:12 -07:00
Eric Anholt ba90d94432 Add the file mode for bios_dumper output so it doesn't have 000 permissions. 2007-08-06 14:34:58 -07:00
Eric Anholt 322a163cfb Quirk away the nonexistent TV connector on the Panasonic CF-Y4. 2007-08-06 14:34:57 -07:00
Jesse Barnes ffbab2ee5d Limit Solid & Copy offsets to 4k when rendering to tiled targets 2007-08-03 21:27:52 -07:00
Jesse Barnes 019dbfda29 Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel 2007-08-03 20:45:14 -07:00
Jesse Barnes 3d3c0e8c55 Tiled rendering & fbc fixes:
- actually enable tiling in DSP(A|B)CNTR if needed
  - add logic to EXA routines for tiled case (still needs work)
  - enable/disable fbc on DPMS events (meant moving functions higher in file)
  - fix fence register pitch programming (use correct pitch instead of kludged value)
2007-08-03 20:40:45 -07:00
Jesse Barnes 0da4f2b0cd Legacy backlight changes:
- add support for 965GM
  - make sure legacy enabled systems don't reduce the range of backlight values we can present to the user
2007-07-31 16:22:36 -07:00
Zhenyu Wang 15f71edba3 Update Lenovo TV quirk info 2007-07-28 17:43:29 +08:00
Wang Zhenyu f403a50afb Add another Lenovo TV output quirk
From issue report http://lists.freedesktop.org/archives/xorg/2007-July/026644.html
2007-07-27 09:24:24 +08:00
Wang Zhenyu 34c82ad7ce Add quirk support
This one trys to use a flag for possible quirks. It adds a quirk
for my Lenovo T61 TV output, and ports some origin LVDS quirks to it.
2007-07-27 09:14:13 +08:00
Brice Goglin 0fd3ba0518 Fix typo in intel.man
Reported by A. Costa" <agcosta@gis.net> in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=432061
2007-07-25 20:11:32 +02:00
Zhenyu Wang 45962eed51 Fix a typo in i915 render
Fence setting is in mapstate actually. This fixes rotation in
tiled fb case, thanks Keith to report this.
2007-07-23 09:50:17 +08:00
Zhenyu Wang b1af2c0e01 Fix device id info for 945GME, 965GME
which do have new host bridge ids
2007-07-20 15:18:48 +08:00
Dave Airlie c7920a0e81 strip out remainder of drmmm code in driver 2007-07-19 15:09:54 +10:00
Dave Airlie 37652b6888 intel: oops I commited pixman local workaround - undo it 2007-07-17 14:03:21 +10:00
Dave Airlie e40f6a4923 intel: actually 2.3.1 should be good enough 2007-07-17 09:20:07 +10:00
Dave Airlie 1e169be25b intel: don't try and use TTM memory manager with old libdrm interface
I probably need to release a libdrm with this interface in it now..
2007-07-17 09:17:31 +10:00
Keith Packard ff2be3995d Remove hard-coded CRT blanking frobbing for load detection.
CRT blanking needn't be adjusted to perform load detection on 9xx chips, and
the 8xx load detection path now adjusts blanking just during load detection.
Adjusting the blanking interval turned out to cause many monitors to fail to
sync.
2007-07-13 13:39:36 -07:00
Keith Packard 00f4587025 Ensure pipe/output active before doing load detection.
If the pipe or output have been set to DPMSOff, then load detection will not
work correctly. Also, share the load detection configuration code between
crt and tv outputs.
2007-07-13 13:39:36 -07:00
Keith Packard 6f18300aed Eliminate bogus (and harmful) blanking adjustment for load detect.
Instead of always adding blanking to mode lines, use the FORCE_BORDER option
on i9xx hardware where it works, and dynamically add a bit of border if
necessary on i8xx hardware to make load detection work. This may cause
flashing when a usable crtc is not otherwise idle when load detection is
requested.
2007-07-13 13:39:36 -07:00
Wang Zhenyu 04130ac6b7 Fix i915 rendering for tiled buffer
Make it to check fence register for dest buffer.
2007-07-11 11:42:56 +08:00