lp:xserver-xorg-video-intel

Created by James Westby and last modified
Get this branch:
bzr branch lp:xserver-xorg-video-intel

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
VCS imports
Project:
xf86-video-intel
Status:
Development

Import details

Import Status: Failed

This branch is an import of the HEAD branch of the Git repository at git://anongit.freedesktop.org/xorg/driver/xf86-video-intel.

The import has been suspended because it failed 5 or more times in succession.

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 2 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 5 minutes

Recent revisions

8611. By Ville Syrjälä <email address hidden>

sna: Shut up enum warns

The libdrm enum usage is a mess, and modern gcc is unhappy about
the implicit conversions:
../src/sna/sna_present.c:229:26: warning: implicit conversion from ‘enum <anonymous>’ to ‘enum drm_vblank_seq_type’ [-Wenum-conversion]

Just cast to an integer type to silence the warns.

Signed-off-by: Ville Syrjälä <email address hidden>

8610. By Ville Syrjälä <email address hidden>

sna: Don't redefine NV12 stuff if already defined

Modern server headers already define NV12 for us. Avoid the
redefine.

Signed-off-by: Ville Syrjälä <email address hidden>

8609. By Ville Syrjälä <email address hidden>

sna: Eliminate sna_mode_wants_tear_free()

The modparam checks performed by sna_mode_wants_tear_free() don't
generally work when the server is running as a regular user. Hence
we can't rely on them to indicate whether FBC/PSR/etc is enabled.
Also the "Panel Self-Refresh" connector property doesn't actually
exist so we can nuke that part as well. Let's just nuke the whole
thing and assume we want dirtyfb always when tearfree is not enabled.

I'll anyway want to enable FBC by default across the board soonish
so the check wouldn't really buy us much (would just exclude i830
and a few old desktop chipsets which don't have FBC hardware).

Additionally if we don't have working dirtyfb we really should
enable tearfree by default because otherwise we're going to
get horrible lag due to missing frontbuffer flushes.

Without WC mmaps we could in theory rely on the hw gtt tracking
except the kernel no longer differentiates between GTT/WC/CPU
access in its software frontbuffer tracking code so it'll just
deactivate FBC even for a GTT mmap and potentially never re-enable
it due to the missing frontbuffer flush from dirtyfb. So dirtyfb
is always needed.

v2: Rebase due to ppgtt->tear free logic

Signed-off-by: Ville Syrjälä <email address hidden>

8608. By Ville Syrjälä <email address hidden>

sna: Dump fences also on -ENOBUFS

Since kernel commit 78d2ad7eb4e1 ("drm/i915/gt: Fix
-EDEADLK handling regression") running out of fences
will result in -ENOBUFS instead of -EDEADLK (the latter
having been stolen by ww mutextes for their internal use).
Adjust the fence dumping to expect either errno value.

Signed-off-by: Ville Syrjälä <email address hidden>

8607. By Ville Syrjälä <email address hidden>

sna: Don't emit sse2 code where not wanted

Fix the s/push_options/pop_options/ pragma so that we don't
emit sse2 in the codepaths that run on non-sse2 machines as well.
Seems gcc has become much more aggressive in its sse2 usage
recently and I'm now hitting sse2 instructions in
choose_memcpy_tiled_x() on my non-sse2 P3 machine.

Signed-off-by: Ville Syrjälä <email address hidden>

8606. By Ville Syrjälä <email address hidden>

sna: Allow DRI3 on gen2/3

Once we have DRI3 in Mesa i915 driver we can allow DRI3
on gen2/3.

But due to the supposed missing DRI2 fallback with older Mesa
let's only do that if the user explicitly requests it. Note
that when I tried this with modern Mesa that lacks i915 DRI3
support things seemed to fall back to DRI2 just fine, but
better safe than sorry I guess.

Cc: Chris Wilson <email address hidden>
References: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9734
Signed-off-by: Ville Syrjälä <email address hidden>

8605. By Ville Syrjälä <email address hidden>

sna: Fix async flips

We need to wait for flip events even when doing async flips,
otherwise the kernel will just hand us -EBUSY if we try to
flip too fast.

Signed-off-by: Ville Syrjälä <email address hidden>

8604. By Chris Wilson

sna: Always validate userptr upon creation

Since not all memory ranges can be mapped by userptr, in particular those
passed by XShmAttachFD, we need to validate the userptr before use. We
would ideally want to continue to lazily populate the pages as often the
userptr is created but never used, but preventing an EFAULT later is
more important.

In https://patchwork.freedesktop.org/series/33449/ we provided a more
efficient method for probing the userptr on construction while
preserving the lazy population of gup-pages. For now, always follow
userptr with set-domain.

Reported-by: Jinoh Kang <email address hidden>
Signed-off-by: Chris Wilson <email address hidden>

8603. By Chris Wilson

sna/gen7: Avoid clear-residuals overhead on all gen7

Since not just Haswell will enjoy clear-residuals, be very careful
before using a potential context switch from DRI clients.

Signed-off-by: Chris Wilson <email address hidden>

8602. By Chris Wilson

sna: Enable TearFree by default on recent HW

When there is ample memory bandwidth and we are not fighting for global
resources, enable TearFree by default. Avoiding tearing is much more
pleasant (for direct rendering where the source itself is not being
synchronized to vblank) at negligible power cost; just doubles the
memory footprint of scanout.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/2799
References: https://gitlab.freedesktop.org/drm/intel/-/issues/2763
Signed-off-by: Chris Wilson <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers