Age | Commit message (Collapse) | Author |
|
References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1131134
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Thinking about the compositor <-> server <-> client inter-exchange
demonstrates that we cannot prevent the client rendering into the
source texture being show by the compositor. That is a subject for DRI3.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Figuring out when it might not be used is simply too error prone.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The Option was untested, and unsurprisingly was broken.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Avoid an allocation in the common case where the set of trapezoids is
fairly narrow.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As we know the maximum extents of the trapezoids, we know the maximum
number of cells we will need and so can preallocate them.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Under certain circumstances, XvScreenInit can indeed fail, so do not
bother with creatin XvMC (as it triggers internal assertions if it
cannot find our adaptor amongst Xv's).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
If the GPU bo is a proxy, then it really is a pointer into a upload
buffer for CPU data. In these cases, there should never be any GPU
damage lying around.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This should help catch the error slightly earlier.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
If the DRI2Buffer is no longer valid for the Drawable, for example the
window had just been reparent, just complete the swap without triggering
any assertions.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Turns out the "new" assembler that uses mesa's opcode emission hits the
path that automatically transforms MRF registers into GRF ones in the
exa_wm_src_projective shader.
The diff with the new assembler is:
$ intel-gen4disasm -g7 -
- { 0x00600041, 0x208077be, 0x008d03c0, 0x008d0180 },
+ { 0x00600041, 0x2e8077bd, 0x008d03c0, 0x008d0180 },
mul(8) m4<1>F g30<8,8,1>F g12<8,8,1>F { align1 };
mul(8) g116<1>F g30<8,8,1>F g12<8,8,1>F { align1 };
Of course, message registers are no more in gen7, so the shader is
trying to do something shaddy (ahem!).
Instead of using m4, let's make exa_wm_src_projective use g68 for v (aka
vl) which makes sense since:
1/ vh is g69
2/ exa_wm_src_affine uses g68 for vl already
This commit changes the generated assembly, here's the decoded diff:
$ intel-gen4disasm -g7 -
- { 0x00600041, 0x208077be, 0x008d03c0, 0x008d0180 },
+ { 0x00600041, 0x288077bd, 0x008d03c0, 0x008d0180 },
mul(8) m4<1>F g30<8,8,1>F g12<8,8,1>F { align1 };
mul(8) g68<1>F g30<8,8,1>F g12<8,8,1>F { align1 };
Cc: Kenneth Graunke <kenneth@whitecape.org>
Reported-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
If the kernel has the module, but the KMS module option is not enabled,
we cannot function. So after checking to see if the i915.ko is bound,
then querying whether it provides any KMS resources. If it has no CRTCs
attached, then we need to failover to the VESA/fbdev drivers. Note that
this should have been detected by drmCheckModesettingSupported()
References: https://bugs.freedesktop.org/show_bug.cgi?id=60987
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
I misinterpreted Sedat Dilek's advice on how to fix my confusing
changelog, so drop the Xorg 7.7 confusion and just refer to the version
of Xserver the driver is first compatible with.
|
|
Sedat Dilek corrected my spelling and pointed out that what is known as
Xorg 1.6 in the log file is actually better known as releases of
Xserver 1.6 and Xorg 7.7.
|
|
Instead of relying on the macro, the intention was simply to use the
prefer_gpu hint. However, I dropped it whilst refactoring ideas from
later generations. So restore both the debug control to force spans as
well as the intended workaround.
Reported-by: Edward Sheldrake <ejsheldrake@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Fixes regresion from
commit 09ea1f4402b3bd0e411b90eb5575b3ff066d7356
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Jan 10 16:26:24 2013 +0000
sna: Prefer to use the GPU for copies from SHM onto tiled destinations
As the stalls on IVB 64-bit machines at least greatly offset the
benefits. As those earlier measurements were made on the same IVB
machine but running in 32-bit mode, I need to double-check whether or
not this is another 32-bit peculiarity.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
SHM clients"
This reverts commit f743cd5734ca502aa8bdb0e1327fe84d6ce82755.
|
|
Fixes regression from
commit 98b312e579385e6e4adf6bf0abe20f8ca84592af
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jan 23 20:51:35 2013 +0000
sna/dri: Stop feeding I915_TILING_Y to mesa i915c
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60178
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Basically remove the bogus assert, and reorder the list to
preferentially reuse the still active scanouts.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
As we must perform the GTT reads anyway, first see if we can copy
directly to the destination.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The GMA3100 was the desktop G31/G33 which whilst almost identical to the
GMA950, notably does not require the extra unfenced alignment.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
'const' is only allowed to use the function parameters and not allowed
to access global memory - that includes not allowed to deference its
arguments...
Thanks to Jiri Slaby for spotting my mistake.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Manual confirmation with gdb says all is fine and things work again
after printing the variables responsible. The curious reader is welcome
to read the disassembly to find where the compiler goofed.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Tidy up the error path not to leave the GPU bo pinned and marked for
flushing.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is an extra paranoid check that the bo is still pinned.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Add various assertions around DRI to be sure that we don't change the
GPU bo for a pixmap that does not match our flush bookkeeping. Then be
more careful during the DRI2Buffer destroy that we don't accidentally
remove the flush flag from a shared bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
That simple and innocuous build fix for xorg-1.13 bizarrely causes
missing glyphs with earlier Xorgs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The dangers of cutting and pasting from git log.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
Fixes the build in cases where the compat-api.h was defining macros to
subvert the real functions found in the xorg includes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The package name is libdrm_intel not libdrm_intel-1, an obvious
cut'n'paste error from testing for pixman-1.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The principle change is to switch to the old Privates API and undo the
Region renames.
The downside is that this ignores the critical bugfixes made to the
xserver since xorg-1.6 - but I assume that whoever wants to run the
latest hardware on the old xservers is also backporting those stability
fixes...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The older chipsets have much more restrictive alignment rules for the
base address of tiled but unfenced objects.
Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1120108
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|