Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified)) by mollari.NetBSD.org (Postfix) with ESMTPS id 5A3CD1A921F for ; Tue, 15 Mar 2022 18:53:46 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id 7BFC884F14; Tue, 15 Mar 2022 18:53:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id B4C7284D96 for ; Tue, 15 Mar 2022 18:53:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 83S_pui4_tEs for ; Tue, 15 Mar 2022 18:53:43 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 0341984D8C for ; Tue, 15 Mar 2022 18:53:43 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id EBA63FB24; Tue, 15 Mar 2022 18:53:42 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_164737042248220" MIME-Version: 1.0 Date: Tue, 15 Mar 2022 18:53:42 +0000 From: "Tobias Nygren" Subject: CVS commit: pkgsrc/x11/xf86-video-intel To: pkgsrc-changes@NetBSD.org Reply-To: tnn@netbsd.org X-Mailer: log_accum Message-Id: <20220315185342.EBA63FB24@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_164737042248220 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: tnn Date: Tue Mar 15 18:53:42 UTC 2022 Modified Files: pkgsrc/x11/xf86-video-intel: Makefile distinfo Added Files: pkgsrc/x11/xf86-video-intel/patches: patch-src_sna_kgem.c patch-src_sna_kgem__debug.c patch-src_sna_sna__damage.c patch-src_sna_sna__display.c patch-src_sna_sna__dri3.c patch-src_sna_sna__present.c patch-src_uxa_intel__batchbuffer.c patch-src_uxa_intel__display.c Log Message: xf86-video-intel: fix a segfault w/ clang & update to git 20210115 pkgsrc changes: - Apply patches for upstream issue 171: "xf86-video-intel: segfault when built with clang" - Fix similar issues in some other places. Upstream changes: - sna: Always validate userptr upon creation - sna/gen7: Avoid clear-residuals overhead on all gen7 - sna: Enable TearFree by default on recent HW - sna: Defer fbGetWindowPixmap() for sna_composite - Track ABI changes for ABI_VIDEODRV_VERSION 25.2 - sna/gen7: Prefer blitter for plain copies on Haswell To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 pkgsrc/x11/xf86-video-intel/Makefile cvs rdiff -u -r1.34 -r1.35 pkgsrc/x11/xf86-video-intel/distinfo cvs rdiff -u -r0 -r1.1 \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem__debug.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__damage.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__dri3.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__present.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__batchbuffer.c cvs rdiff -u -r0 -r1.3 \ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__display.c \ pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__display.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_164737042248220 Content-Disposition: inline Content-Length: 17657 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/x11/xf86-video-intel/Makefile diff -u pkgsrc/x11/xf86-video-intel/Makefile:1.50 pkgsrc/x11/xf86-video-intel/Makefile:1.51 --- pkgsrc/x11/xf86-video-intel/Makefile:1.50 Sun Jan 9 13:46:40 2022 +++ pkgsrc/x11/xf86-video-intel/Makefile Tue Mar 15 18:53:42 2022 @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.50 2022/01/09 13:46:40 tnn Exp $ +# $NetBSD: Makefile,v 1.51 2022/03/15 18:53:42 tnn Exp $ -PKGNAME= xf86-video-intel-2.99.917.20200515 -COMMIT_ID= 5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc -PKGREVISION= 1 +PKGNAME= xf86-video-intel-2.99.917.20210115 +COMMIT_ID= 31486f40f8e8f8923ca0799aea84b58799754564 DISTNAME= xf86-video-intel-${COMMIT_ID} CATEGORIES= x11 #MASTER_SITES= ${MASTER_SITE_XORG:=driver/} Index: pkgsrc/x11/xf86-video-intel/distinfo diff -u pkgsrc/x11/xf86-video-intel/distinfo:1.34 pkgsrc/x11/xf86-video-intel/distinfo:1.35 --- pkgsrc/x11/xf86-video-intel/distinfo:1.34 Tue Oct 26 11:34:42 2021 +++ pkgsrc/x11/xf86-video-intel/distinfo Tue Mar 15 18:53:42 2022 @@ -1,8 +1,16 @@ -$NetBSD: distinfo,v 1.34 2021/10/26 11:34:42 nia Exp $ +$NetBSD: distinfo,v 1.35 2022/03/15 18:53:42 tnn Exp $ -BLAKE2s (xf86-video-intel-5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc.tar.bz2) = 87539a7dc3e3fe5ea0ba2e8d21982f77a07d1d0d7c9d9fe20be37bf5c2d6484f -SHA512 (xf86-video-intel-5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc.tar.bz2) = 29fea01332438ad7616bae56a926f5c6fa08f93f67c23a0bb38f775719f12b15fba5bcb096c0665948f80d3ff6b7c108f360e44aae008192ef6c9b21187b4bbb -Size (xf86-video-intel-5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc.tar.bz2) = 1250303 bytes +BLAKE2s (xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564.tar.bz2) = 65c61d6ed7c341e3d792d137562ad739cb622e002b2fcb3ae9494af63ad06724 +SHA512 (xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564.tar.bz2) = 41f51778309cf619a04a978c796bac6fa3b9cc150ea00f5684f9e046ef4f656ec64cb296f2dedfca2bd215d247988d0f842b3b519d6edcd74331ebc49339f316 +Size (xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564.tar.bz2) = 1250745 bytes SHA1 (patch-src_intel__device.c) = e9a4420e11244b9ec552adb603c8e75cd28a8f57 SHA1 (patch-src_legacy_i810_i810__dri.c) = fb963b994d51c9db48457106048226214a2d986c +SHA1 (patch-src_sna_kgem.c) = 669367b8e80d9a0c17548ccc1d742982075995df +SHA1 (patch-src_sna_kgem__debug.c) = f82b9426ff8ce77ce632d59c829f657582bc9edf +SHA1 (patch-src_sna_sna__damage.c) = dec2e635f24423b9da678b54d843cb6689fa380c +SHA1 (patch-src_sna_sna__display.c) = 3274fdd5b7c9046226c5d76a8fea0366e225759c +SHA1 (patch-src_sna_sna__dri3.c) = 2136a92314f25501bb1d710fcf8dcbbd49c7ac0a +SHA1 (patch-src_sna_sna__present.c) = 5154bf06b807e7997b9e3f10c87a5dbfc5a2d3e2 SHA1 (patch-src_sna_sna__video.c) = 2771938849a475fc8c346dce0251000932add3de +SHA1 (patch-src_uxa_intel__batchbuffer.c) = f345d69b7ba8618012f3d990375d2d7077a0f338 +SHA1 (patch-src_uxa_intel__display.c) = 499966e9f8a255a2f20729d5723101ab7cb52f12 Added files: Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,106 @@ +$NetBSD: patch-src_sna_kgem.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/kgem.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/kgem.c +@@ -2861,7 +2861,7 @@ static bool kgem_bo_move_to_cache(struct + static struct kgem_bo * + search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags) + { +- struct kgem_bo *bo, *first = NULL; ++ struct kgem_bo *bo = NULL, *first = NULL; + + DBG(("%s: num_pages=%d, flags=%x\n", __FUNCTION__, num_pages, flags)); + +@@ -3127,7 +3127,7 @@ void kgem_retire__buffers(struct kgem *k + + static bool kgem_retire__flushing(struct kgem *kgem) + { +- struct kgem_bo *bo, *next; ++ struct kgem_bo *bo = NULL, *next; + bool retired = false; + + list_for_each_entry_safe(bo, next, &kgem->flushing, request) { +@@ -3425,7 +3425,7 @@ static void kgem_commit__check_reloc(str + #ifndef NDEBUG + static void kgem_commit__check_buffers(struct kgem *kgem) + { +- struct kgem_buffer *bo; ++ struct kgem_buffer *bo = NULL; + + list_for_each_entry(bo, &kgem->active_buffers, base.list) + assert(bo->base.exec == NULL); +@@ -3437,7 +3437,7 @@ static void kgem_commit__check_buffers(s + static void kgem_commit(struct kgem *kgem) + { + struct kgem_request *rq = kgem->next_request; +- struct kgem_bo *bo, *next; ++ struct kgem_bo *bo = NULL, *next; + + kgem_commit__check_reloc(kgem); + +@@ -3551,7 +3551,7 @@ static void kgem_close_inactive(struct k + + static void kgem_finish_buffers(struct kgem *kgem) + { +- struct kgem_buffer *bo, *next; ++ struct kgem_buffer *bo = NULL, *next; + + list_for_each_entry_safe(bo, next, &kgem->batch_buffers, base.list) { + DBG(("%s: buffer handle=%d, used=%d, exec?=%d, write=%d, mmapped=%s, refcnt=%d\n", +@@ -3940,7 +3940,7 @@ static int compact_batch_surface(struct + + static struct kgem_bo *first_available(struct kgem *kgem, struct list *list) + { +- struct kgem_bo *bo; ++ struct kgem_bo *bo = NULL; + + list_for_each_entry(bo, list, list) { + assert(bo->refcnt > 0); +@@ -4224,7 +4224,7 @@ void _kgem_submit(struct kgem *kgem) + kgem->nreloc, kgem->nexec, kgem->nfence, kgem->aperture, kgem->aperture_fenced, kgem->aperture_high, kgem->aperture_total, -ret); + + for (i = 0; i < kgem->nexec; i++) { +- struct kgem_bo *bo, *found = NULL; ++ struct kgem_bo *bo = NULL, *found = NULL; + + list_for_each_entry(bo, &kgem->next_request->buffers, request) { + if (bo->handle == kgem->exec[i].handle) { +@@ -4588,7 +4588,7 @@ bool kgem_cleanup_cache(struct kgem *kge + static struct kgem_bo * + search_linear_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags) + { +- struct kgem_bo *bo, *first = NULL; ++ struct kgem_bo *bo = NULL, *first = NULL; + bool use_active = (flags & CREATE_INACTIVE) == 0; + struct list *cache; + +@@ -5392,7 +5392,7 @@ struct kgem_bo *kgem_create_2d(struct kg + uint32_t flags) + { + struct list *cache; +- struct kgem_bo *bo; ++ struct kgem_bo *bo = NULL; + uint32_t pitch, tiled_height, size; + uint32_t handle; + int i, bucket, retry; +@@ -7245,7 +7245,7 @@ void kgem_bo_sync__gtt(struct kgem *kgem + void kgem_clear_dirty(struct kgem *kgem) + { + struct list * const buffers = &kgem->next_request->buffers; +- struct kgem_bo *bo; ++ struct kgem_bo *bo = NULL; + + list_for_each_entry(bo, buffers, request) { + if (!bo->gpu_dirty) +@@ -7525,7 +7525,7 @@ struct kgem_bo *kgem_create_buffer(struc + uint32_t size, uint32_t flags, + void **ret) + { +- struct kgem_buffer *bo; ++ struct kgem_buffer *bo = NULL; + unsigned offset, alloc; + struct kgem_bo *old; + Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem__debug.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem__debug.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_kgem__debug.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,25 @@ +$NetBSD: patch-src_sna_kgem__debug.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/kgem_debug.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/kgem_debug.c +@@ -56,7 +56,7 @@ struct kgem_bo * + kgem_debug_get_bo_for_reloc_entry(struct kgem *kgem, + struct drm_i915_gem_relocation_entry *reloc) + { +- struct kgem_bo *bo; ++ struct kgem_bo *bo = NULL; + + if (reloc == NULL) + return NULL; +@@ -86,7 +86,7 @@ static int kgem_debug_handle_is_fenced(s + + static int kgem_debug_handle_tiling(struct kgem *kgem, uint32_t handle) + { +- struct kgem_bo *bo; ++ struct kgem_bo *bo = NULL; + + list_for_each_entry(bo, &kgem->next_request->buffers, request) + if (bo->target_handle == handle) Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__damage.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__damage.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__damage.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,25 @@ +$NetBSD: patch-src_sna_sna__damage.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/sna_damage.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/sna_damage.c +@@ -215,7 +215,7 @@ static void __sna_damage_reduce(struct s + int n, nboxes; + BoxPtr boxes, free_boxes = NULL; + pixman_region16_t *region = &damage->region; +- struct sna_damage_box *iter; ++ struct sna_damage_box *iter = NULL; + + assert(damage->mode != DAMAGE_ALL); + assert(damage->dirty); +@@ -1808,7 +1808,7 @@ void _sna_damage_debug_get_region(struct + { + int n, nboxes; + BoxPtr boxes; +- struct sna_damage_box *iter; ++ struct sna_damage_box *iter = NULL; + + RegionCopy(r, &damage->region); + if (!damage->dirty) Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__dri3.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__dri3.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__dri3.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,16 @@ +$NetBSD: patch-src_sna_sna__dri3.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/sna_dri3.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/sna_dri3.c +@@ -175,7 +175,7 @@ static PixmapPtr sna_dri3_pixmap_from_fd + { + struct sna *sna = to_sna_from_screen(screen); + PixmapPtr pixmap; +- struct sna_pixmap *priv; ++ struct sna_pixmap *priv = NULL; + struct kgem_bo *bo; + + DBG(("%s(fd=%d, width=%d, height=%d, stride=%d, depth=%d, bpp=%d)\n", Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__present.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__present.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__present.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,25 @@ +$NetBSD: patch-src_sna_sna__present.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/sna_present.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/sna_present.c +@@ -376,7 +376,7 @@ sna_present_get_crtc(WindowPtr window) + static void add_keepalive(struct sna *sna, xf86CrtcPtr crtc, uint64_t msc) + { + struct list *q = sna_crtc_vblank_queue(crtc); +- struct sna_present_event *info, *tmp; ++ struct sna_present_event *info, *tmp = NULL; + union drm_wait_vblank vbl; + + list_for_each_entry(tmp, q, link) { +@@ -480,7 +480,7 @@ static int + sna_present_queue_vblank(RRCrtcPtr crtc, uint64_t event_id, uint64_t msc) + { + struct sna *sna = to_sna_from_screen(crtc->pScreen); +- struct sna_present_event *info, *tmp; ++ struct sna_present_event *info, *tmp = NULL; + const struct ust_msc *swap; + struct list *q; + Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__batchbuffer.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__batchbuffer.c:1.1 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__batchbuffer.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,15 @@ +$NetBSD: patch-src_uxa_intel__batchbuffer.c,v 1.1 2022/03/15 18:53:42 tnn Exp $ + +Similar to https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 + +--- src/uxa/intel_batchbuffer.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/uxa/intel_batchbuffer.c +@@ -142,7 +142,7 @@ void intel_batch_teardown(ScrnInfoPtr sc + static void intel_batch_do_flush(ScrnInfoPtr scrn) + { + intel_screen_private *intel = intel_get_screen_private(scrn); +- struct intel_uxa_pixmap *priv; ++ struct intel_uxa_pixmap *priv = NULL; + + list_for_each_entry(priv, &intel->batch_pixmaps, batch) + priv->dirty = 0; Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__display.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__display.c:1.3 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_sna_sna__display.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,88 @@ +$NetBSD: patch-src_sna_sna__display.c,v 1.3 2022/03/15 18:53:42 tnn Exp $ + +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 +https://gitlab.freedesktop.org/E5ten/xf86-video-intel/-/commit/a92ccaf05efe8f11b3c5cd217d48ad3cf4caa090 + +--- src/sna/sna_display.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/sna/sna_display.c +@@ -467,7 +467,7 @@ static inline uint32_t fb_id(struct kgem + + unsigned sna_crtc_count_sprites(xf86CrtcPtr crtc) + { +- struct plane *sprite; ++ struct plane *sprite = NULL; + unsigned count; + + count = 0; +@@ -479,7 +479,7 @@ unsigned sna_crtc_count_sprites(xf86Crtc + + static struct plane *lookup_sprite(struct sna_crtc *crtc, unsigned idx) + { +- struct plane *sprite; ++ struct plane *sprite = NULL; + + list_for_each_entry(sprite, &crtc->sprites, link) + if (idx-- == 0) +@@ -1727,7 +1727,7 @@ static bool wait_for_shadow(struct sna * + + if ((flags & MOVE_WRITE) == 0) { + if ((flags & __MOVE_SCANOUT) == 0) { +- struct sna_crtc *crtc; ++ struct sna_crtc *crtc = NULL; + + list_for_each_entry(crtc, &sna->mode.shadow_crtc, shadow_link) { + if (overlap(&sna->mode.shadow_region.extents, +@@ -1768,7 +1768,7 @@ static bool wait_for_shadow(struct sna * + + flip_active = sna->mode.flip_active; + if (flip_active) { +- struct sna_crtc *crtc; ++ struct sna_crtc *crtc = NULL; + list_for_each_entry(crtc, &sna->mode.shadow_crtc, shadow_link) + flip_active -= crtc->flip_pending; + DBG(("%s: %d flips still pending, shadow flip_active=%d\n", +@@ -3263,7 +3263,7 @@ static void + sna_crtc_destroy(xf86CrtcPtr crtc) + { + struct sna_crtc *sna_crtc = to_sna_crtc(crtc); +- struct plane *sprite, *sn; ++ struct plane *sprite = NULL, *sn; + + if (sna_crtc == NULL) + return; +@@ -3652,7 +3652,7 @@ bool sna_has_sprite_format(struct sna *s + + for (i = 0; i < sna->mode.num_real_crtc; i++) { + struct sna_crtc *sna_crtc = to_sna_crtc(config->crtc[i]); +- struct plane *plane; ++ struct plane *plane = NULL; + + list_for_each_entry(plane, &sna_crtc->sprites, link) { + struct local_mode_get_plane p; +@@ -8639,7 +8639,7 @@ sna_mode_disable_secondary_planes(struct + for (c = 0; c < sna->mode.num_real_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + struct sna_crtc *sna_crtc = to_sna_crtc(crtc); +- struct plane *plane; ++ struct plane *plane = NULL; + + list_for_each_entry(plane, &sna_crtc->sprites, link) { + struct local_mode_get_plane p; +@@ -8737,7 +8737,7 @@ static bool + sna_crtc_hide_planes(struct sna *sna, struct sna_crtc *crtc) + { + struct local_mode_set_plane s; +- struct plane *plane; ++ struct plane *plane = NULL; + + if (crtc->primary.id == 0) + return false; +@@ -8774,7 +8774,7 @@ void sna_mode_reset(struct sna *sna) + + for (i = 0; i < sna->mode.num_real_crtc; i++) { + struct sna_crtc *sna_crtc = to_sna_crtc(config->crtc[i]); +- struct plane *plane; ++ struct plane *plane = NULL; + + assert(sna_crtc != NULL); + Index: pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__display.c diff -u /dev/null pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__display.c:1.3 --- /dev/null Tue Mar 15 18:53:42 2022 +++ pkgsrc/x11/xf86-video-intel/patches/patch-src_uxa_intel__display.c Tue Mar 15 18:53:42 2022 @@ -0,0 +1,42 @@ +$NetBSD: patch-src_uxa_intel__display.c,v 1.3 2022/03/15 18:53:42 tnn Exp $ + +Similar to https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/issues/171 + +--- src/uxa/intel_display.c.orig 2021-01-15 20:59:05.000000000 +0000 ++++ src/uxa/intel_display.c +@@ -1872,7 +1872,7 @@ intel_drm_abort_one(struct intel_drm_que + void + intel_drm_abort(ScrnInfoPtr scrn, Bool (*match)(void *data, void *match_data), void *match_data) + { +- struct intel_drm_queue *q; ++ struct intel_drm_queue *q = NULL; + + list_for_each_entry(q, &intel_drm_queue, list) { + if (match(q->data, match_data)) { +@@ -1888,7 +1888,7 @@ intel_drm_abort(ScrnInfoPtr scrn, Bool ( + void + intel_drm_abort_seq(ScrnInfoPtr scrn, uint32_t seq) + { +- struct intel_drm_queue *q; ++ struct intel_drm_queue *q = NULL; + + list_for_each_entry(q, &intel_drm_queue, list) { + if (q->seq == seq) { +@@ -1905,7 +1905,7 @@ intel_drm_abort_seq(ScrnInfoPtr scrn, ui + static void + intel_drm_abort_scrn(ScrnInfoPtr scrn) + { +- struct intel_drm_queue *q, *tmp; ++ struct intel_drm_queue *q = NULL, *tmp; + + list_for_each_entry_safe(q, tmp, &intel_drm_queue, list) { + if (q->scrn == scrn) +@@ -1994,7 +1994,7 @@ static void + intel_drm_handler(int fd, uint32_t frame, uint32_t sec, uint32_t usec, void *user_ptr) + { + uint32_t user_data = (intptr_t)user_ptr; +- struct intel_drm_queue *q; ++ struct intel_drm_queue *q = NULL; + + list_for_each_entry(q, &intel_drm_queue, list) { + if (q->seq == user_data) { --_----------=_164737042248220--