Age | Commit message (Collapse) | Author |
|
This means removing all the resource manager code.
|
|
|
|
|
|
Reviewed-by: Ian Romanick <idr@freedesktop.org>
(cherry picked from commit 5b05a589efb23b2fc09b06e4271174d922b1ab02)
|
|
If DRI2INFOREC_VERSION is defined in the server's dri2.h and has a
value greater than 1, compile to use the CreateBuffer and
DestroyBuffer interfaces. The format parameter parameter to
CreateBuffer is assumed to be the bits-per-pixel of the buffer.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
(cherry picked from commit 5d6f4f6eb7a4dcbe1ce5a134d882e56f958ed2ba)
|
|
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 5a07ab502fe1e58e7e37fe554fb42d8d2c8c53ec)
|
|
|
|
In preparation for the 2.7.1 maintenance release.
|
|
Just changing the wording to turn 2.7.0.901 into 2.7.1.
|
|
The xorg-announce list doesn't need to hear about development
snapshots and release candidates. The intel-gfx list is good for
that.
|
|
Which means this is the first release candidate in preparation for 2.7.1.
|
|
There are some nice bug fixes here.
|
|
The spec says this command takes an extra (mbz) 32-bit value, so let's
provide it with one.
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit ed492131c13715b73c14d328d0668120acb58b40)
|
|
If a virtual display with width > 2048 is used, the first time
an XV buffer is needed will result in a BadAlloc error message,
but the next time X would crash.
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit d7ca870e1ce251d42e3689a8e1e7d080ab1325fb)
|
|
i915 textured video commands are quite long, but must be contained in the
same batch buffer as the 3D setup commands. When the number of clip rects
for the video becomes too large for the associated commands to fit in the
same batch buffer, this change breaks the sequence into pieces, ensuring
that each batch contains the necessary setup sequence.
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 8255cca2c9092f7ecb798944aa8f03fa3efcfa6c)
Conflicts:
src/i915_video.c
|
|
The optimization of unreferencing the binding table when the relocation is
posted causes the object to be dereferenced for each box in the clip list,
causing general chaos in the buffer manager. It's easier to just hold a
reference to the object until all of the boxes are painted and then drop it.
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 11a853bd8e5d907fe7f5bd907453bcdac9032861)
Conflicts:
src/i965_video.c
|
|
intel_batch_start_atomic takes an argument in 32-bit units, and so it must
multiply that by 4 before passing it to intel_batch_require_space, which
takes an argument in bytes.
We should figure out what units we want to use and use the same everywhere...
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 1142353b487c155a31011923fbd08ec67e60f505)
|
|
This gets output properties from kernel, then hook them up
for randr. So we can control output properties through randr
like in UMS.
Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
|
|
Thanks to Gordon Jin for these suggestions.
(cherry picked from commit 73c3be1aa033e8c5c7ee777eb2fd43c19668fa86)
|
|
We've added a NEWS file now, so that needs to be updated for each release.
We're also now using tag names of just <version> rather than
xf86-video-intel-<version>.
(cherry picked from commit 3fd5a1ecd1d5140ae07ccc279298bcadd515e97f)
|
|
Hoping to cut off some false bug reports here.
(cherry picked from commit e1cace16a6130dcdd93965d2329a349d49200fa6)
|
|
In preparation for new major release.
|
|
These new files don't do us much good if we don't distribute them in
our releases.
(cherry picked from commit 9ffd1951d1f2fd2f53273d04ea29de050f07af55)
|
|
It will be nice to have release-notes under revision control, as well
being able to document issues in an obviously time-sensitive file,
(as opposed to README where we were documenting some of this previously).
(cherry picked from commit e4cd9de2933ada3e2a4b43552729ae3a370128bf)
|
|
Stale documentation considered harmful of course.
(cherry picked from commit 506c810f8f3db89048dda9777902f142ffeb86aa)
|
|
This is a sorted list of everyone with more than 2 commits in the git
revision history. We also list some historical authors mentioned in the
man page, (with code presumably pre-dating the beginning of revision
history).
(cherry picked from commit b9716b836cb2b4569c90b81f344932ac668dc5bf)
|
|
This was all very stale, and is better convered in intel.man. We replace
this with a list of pointers to where to get current information, (man
page, web site, and mailing list).
(cherry picked from commit 8deb3a3709a9aaa549be404566715a01246354d9)
|
|
This code disabled front buffer tiling in KMS. Turn it on since kernel
handles all tiling now, this improves performance of x11perf -aa10text
from 97k to 286k on my 945GME.
Should help with #20761, if not totally fix it.
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Li Peng <peng.li@intel.com>
(cherry picked from commit 9b615a52671aacf34666f90ecfff98651ce6afe2)
|
|
(cherry picked from commit 053432991c812146f6e7c6f13c6ace55385c825f)
|
|
(cherry picked from commit 62ba7211fe9b6aada125ebfe34cf7161e817ad6b)
|
|
Almost all digital TVs accept broadcast RGB values from 16 to 235 for each channel,
otherwise for those uncompensated videos, when RGB values are set from 0 to 255,
they will shows black and whiter clamping, which seriously degrades picture quality.
The patch will enable the broadcast RGB mode for hdtv according to user's setting.
It fixed bug #14486
(cherry picked from commit 69388953ce889080d5f014123d89bf3eb45f3d8d)
|
|
Thanks to Jesse Barnes for the original recipe.
(cherry picked from commit 6d345c49f693cc5cffaa00b94559d2afcb3a0864)
|
|
|
|
If we enable kernel execbuf fence register management, it's best if the
kernel manages all fence registers. This works fine if the accel
method is managing pixmaps or doesn't use offscreen pixmaps. However
with EXA, pixmap accesses are done relative to the framebuffer BAR
mapping (pI830->FbBase) and the Screen pixmap address. So if we try to
set the screen pixmap to point at a GTT mapped (and therefore properly
fenced) address, later calls to intel_get_pixmap_offset() will call
into EXA, which will use the pseudo-random pixmap addr and the EXA
offscreen base addr (which is really just FbBase) to calculate the
offset. This will fail. So disable kernel fence reg management in the
EXA case (this is easier than adding proper EXA pixmap management to
xf86-video-intel, and makes more sense since we'll be removing EXA soon
anyway).
Fixes FDO #21027.
Also happens to fix FDO #21029 (as tested by Carl Worth <cworth@cworth.org).
(cherry picked from commit 620e97bbd6a811ad69b8ac94df1fe2c9edf65549)
|
|
Since the change to scan-line based video sync, (rather than vblank-
based), we've only been getting tear-free video on one of the two
pipes. This fixes that bug by using the correct constant for waiting
on PIPEA.
(cherry picked from commit 0a0731c11d10392cdc55ecc04e4e3575c8b3fe57)
|
|
Since we're not limited by a single overlay plane on a single pipe,
we want to not clip at all, (so that the correct video appears on
both pipes).
This fixes bug #20980 which shows a video spanning two pipes
being rendered incorrectly.
(cherry picked from commit 940c2aad4d174b6609bdc49f8c99a4bc37926516)
|
|
fix bug #19529
(cherry picked from commit 63b4b5efac936c674dedad8125a8dbac4f000908)
|
|
We need to account for a non-zero Y offset for the CRTC. Without
this, we don't sync to the correct region, so tearing becomes
visible again.
(cherry picked from commit 5d9d9a2e466474a0508a15b294a91507ccb3ccc1)
|
|
construct function to find precise parameters from internal spreadsheet
table on G4X platform.
Signed-off-by: Ma Ling <ling.ma@intel.com>
(cherry picked from commit 7c94227dd4fa2164bebb36234958053bf1d26c12)
|
|
These timings on G4X platform were specified by internal spreadsheet from the chipset group.
Signed-off-by: Ma Ling <ling.ma@intel.com>
(cherry picked from commit 48db5bde9298f1126dfb42f4be8a3d61166abfd8)
|
|
We previously had a heurstic here where we would only sync to vblank
for windows that covered more than 25% of the screen. We don't need
this anymore since the new approach to sync, (WAIT_FOR_SCANLINE_WINDOW),
is not excessively costly for small windows.
(cherry picked from commit 3d4ee3cac1d63dfdf7b54c8ba577f3b77637499f)
|
|
Either way, the goal is tear-free video playing. But waiting for
a scan-line window not only has the advantage of being cheaper
for small windows, but also avoids hanging the GPU in the case
of the pipe getting turned off, (by screensaver, for example),
while a batch is waiting for a VBLANK that will never occur.
This fixes that GPU hang.
(cherry picked from commit bc3312fd7c03d09a231dfebfe390fe668ad15d1e)
|
|
Don't use bo->virtual in the begin_gtt_access case, use the framebuffer
mapping and bo offset instead.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
(cherry picked from commit 6cd914ef315036ce8e91c7b6492994353e8ed2d8)
|
|
Found by Hugo Jacques <hugo.jacques@verint.com>
(cherry picked from commit fad714c40078d22fff82dc0692a344f66ddf9680)
|
|
(cherry picked from commit 00de1757dd5776962bdd4c8968181878c2ebf4c9)
|
|
Missed this when the GTT unmap call was added. If we don't do this we
trigger an assertion in libdrm, since the buffer has never been mapped
normally.
Fixes bug #20943.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
(cherry picked from commit 087f72e1f5d7d11b8795ba80a842874f5a9bb01d)
|
|
Both methods ACPI lid and SWF bit have issues in LVDS detect from
wider testing. Fallback to origin code.
(cherry picked from commit 4f046af760b92c07f59664359453933fb5358e3d)
|
|
With -intel 2.6.3 performance was very bad when using a non gem enabled kernel
(2.6.27) and EXA. For example sauerbraten ran with 4 fps and screensaver GLBlur
with 1 fps. With -intel 2.6.1 performance was good using the same kernel.
Git bisecting led me to commit f1ed73c1ef3e3daa9f695194dcc813167cbcb53d (in 2.6
branch) "Make i830_allocate_memory take tiling parameters" as first bad commit.
Using gdb I found tiling was set exactly the same in 2.6.3 as in 2.6.1, so that
was good (TILE_XMAJOR for front, back and depth buffers).
Looking further I found the line mem->tiling = TILE_NONE; (line 961 in
src/i830_memory.c) at the end of i830_allocate_memory suspicious, as
mem->tiling now already gets set via i830_allocate_aperture and some buffers do
have tiling. Removing that line indeed fixed the performance issue. Now
sauerbraten runs with 30+ fps and GLBlur runs smoothly.
(cherry picked from commit e964d4e53af3a47de6d09c884be1cc0044d03bea)
|
|
Need the new functions available.
(cherry picked from commit 51cf8a453c2bc2e8604bfc41a649e971c1ba5026)
|
|
Hopefully this concludes the fixes necessary to deal with the various
combinations of kernel and user level tiling. We have several cases to
handle:
1) KMS (kernel handles all tiling)
2) UMS w/memory management + kexec fencing (kernel handles all tiling)
3) UMS w/memory mangement but no kexec fencing (userland handles tiling)
4) UMS w/o memory management (userland handles tiling)
For cases (1) & (2) we can use GTT mapping, which will give us good
performance and take care of allocating fence registers as needed. It's
important *not* to have userland set up fence regs in this case, since
the kernel will be using all of them.
For case (3), we use the begin/end GTT map functions provided by libdrm,
in combination with pinning and fence register setup in i830_memory.c to
deal with tiled surfaces. This also gives us good performance and
correctness.
For case (4) we use the old style virtual mapping + offset for dealing
with surfaces; note that UXA doesn't seem to work in this configuration
regardless of these fixes.
Fixes bug #20803.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
(cherry picked from commit 8dabcc40747bfd478f296728741240241698f165)
|