diff --git a/.github/workflows/build-xserver.yml b/.github/workflows/build-xserver.yml index e48b760af19..1a7c3f16bd3 100644 --- a/.github/workflows/build-xserver.yml +++ b/.github/workflows/build-xserver.yml @@ -46,7 +46,6 @@ jobs: GALLIUM_DRIVER: llvmpipe PIGLIT_PLATFORM: x11_egl runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg steps: - name: Check out repository code uses: actions/checkout@v4 @@ -89,7 +88,6 @@ jobs: GALLIUM_DRIVER: llvmpipe PIGLIT_PLATFORM: x11_egl runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg steps: - name: Check out repository code uses: actions/checkout@v6 @@ -217,7 +215,6 @@ jobs: GALLIUM_DRIVER: llvmpipe PIGLIT_PLATFORM: x11_egl runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg steps: - name: Check out repository code uses: actions/checkout@v6 @@ -259,7 +256,6 @@ jobs: env: MESON_ARGS: --buildtype=debug -Dprefix=/usr -Dxorg=false -Dxvfb=true -Dxnest=false -Dxephyr=false -Dwerror=true runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg steps: - name: Check out repository code uses: actions/checkout@v6 @@ -470,7 +466,6 @@ jobs: runs-on: ubuntu-latest env: MESON_ARGS: -Dprefix=/home/runner/x11 --cross-file=.github/scripts/mingw32/cross-i686-w64-mingw32.txt -Dwerror=true -Dglx=false -Dlisten_tcp=true -Dxvmc=true -Dxv=true -Dxvfb=true -Dxnest=true -Dxephyr=true -Dxfbdev=false - needs: ubuntu-fetch-pkg steps: - name: Check out repository code uses: actions/checkout@v6 @@ -566,14 +561,12 @@ jobs: xserver-build-freebsd: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg timeout-minutes: 90 env: MYTOKEN : ${{ secrets.MYTOKEN }} MESON_ARGS: -Dprefix=/usr -Dxephyr=true -Dwerror=true -Dxcsecurity=true -Dxorg=true -Dxvfb=true -Dxnest=true -Dxfbdev=false steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/ubuntu-pkg-cache # VM boot / image provisioning flakes transiently; retry the whole # VM step up to 3x, tearing down the leftover domain between tries @@ -623,13 +616,11 @@ jobs: xserver-build-dragonflybsd: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg timeout-minutes: 90 env: MESON_ARGS: -Dwerror=true -Dxephyr=true -Dxorg=true -Dxvfb=true -Dxnest=true -Dxfbdev=false steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/ubuntu-pkg-cache # VM boot / image provisioning flakes transiently; retry the whole # VM step up to 3x, tearing down the leftover domain between tries @@ -680,13 +671,11 @@ jobs: xserver-build-netbsd: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg timeout-minutes: 90 env: MESON_ARGS: -Dwerror=true -Dxephyr=true -Dxorg=true -Dxvfb=true -Dxnest=true -Dxfbdev=false steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/ubuntu-pkg-cache # VM boot / image provisioning flakes transiently; retry the whole # VM step up to 3x, tearing down the leftover domain between tries @@ -694,12 +683,12 @@ jobs: - name: run in netbsd VM (attempt 1) id: netbsd-1 continue-on-error: true - uses: vmactions/netbsd-vm@v1.2.3 + uses: vmactions/netbsd-vm@v1.5.0 with: envs: 'MESON_ARGS' - usesh: true release: '10.1' run: ./.github/scripts/netbsd/run-xserver-build.sh + sync: rsync - name: cleanup stale VM before retry if: steps.netbsd-1.outcome == 'failure' @@ -711,12 +700,12 @@ jobs: id: netbsd-2 if: steps.netbsd-1.outcome == 'failure' continue-on-error: true - uses: vmactions/netbsd-vm@v1.2.3 + uses: vmactions/netbsd-vm@v1.5.0 with: envs: 'MESON_ARGS' - usesh: true release: '10.1' run: ./.github/scripts/netbsd/run-xserver-build.sh + sync: rsync - name: cleanup stale VM before final retry if: steps.netbsd-1.outcome == 'failure' && steps.netbsd-2.outcome == 'failure' @@ -726,12 +715,12 @@ jobs: - name: run in netbsd VM (attempt 3) if: steps.netbsd-1.outcome == 'failure' && steps.netbsd-2.outcome == 'failure' - uses: vmactions/netbsd-vm@v1.2.3 + uses: vmactions/netbsd-vm@v1.5.0 with: envs: 'MESON_ARGS' - usesh: true release: '10.1' run: ./.github/scripts/netbsd/run-xserver-build.sh + sync: rsync # illumos / Solaris build, run in an OpenIndiana VM (vmactions, same # mechanism as the BSD jobs above). Exercises the Solaris-specific os/ code @@ -739,12 +728,10 @@ jobs: # OpenIndiana packages the full X stack incl. Mesa, so GLX stays enabled. xserver-build-solaris: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg env: MESON_ARGS: -Dwerror=true -Dxvfb=true -Dxnest=true -Dxorg=false -Dxephyr=false -Dxfbdev=false -Ddrm=false -Ddri1=false -Ddri2=true -Ddri3=true steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/ubuntu-pkg-cache - name: run in OpenIndiana (illumos) VM id: vm uses: vmactions/openindiana-vm@v1 @@ -763,13 +750,11 @@ jobs: # (direct rendering needs a working DRM/KMS, n/a in the headless VM). xserver-build-openbsd: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg timeout-minutes: 90 env: MESON_ARGS: -Dwerror=true -Dxvfb=true -Dxnest=true -Dxorg=false -Dxephyr=false -Dxfbdev=false -Ddri2=false -Ddri3=false steps: - uses: actions/checkout@v6 - - uses: ./.github/actions/ubuntu-pkg-cache # VM boot / image provisioning flakes transiently; retry the whole # VM step up to 3x, tearing down the leftover domain between tries @@ -816,7 +801,6 @@ jobs: xserver-build-hurd: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg timeout-minutes: 120 env: REPO: ${{ github.repository }} @@ -832,7 +816,6 @@ jobs: xserver-build-alpine: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg container: image: alpine:latest env: @@ -859,7 +842,6 @@ jobs: # edits the Dockerfile automatically gets a fresh image — no waste and no # staleness. :latest is only moved by master. runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg permissions: contents: read packages: write @@ -905,7 +887,6 @@ jobs: xserver-build-rhel: runs-on: ubuntu-latest - needs: ubuntu-fetch-pkg strategy: fail-fast: false matrix: diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c index f777e4a2f4b..71125959b41 100644 --- a/glamor/glamor_transfer.c +++ b/glamor/glamor_transfer.c @@ -107,12 +107,14 @@ glamor_upload_boxes(DrawablePtr drawable, BoxPtr in_boxes, int in_nbox, f->format, f->type, src_line); } else { - for (; y1 < y2; y1++, src_line += byte_stride / bytes_per_pixel) + uint8_t *src = (uint8_t*)src_line; + for (; y1 < y2; y1++, src += byte_stride) { glTexSubImage2D(GL_TEXTURE_2D, 0, x1 - box->x1, y1 - box->y1, x2 - x1, 1, f->format, f->type, - src_line); + src); + } } } } diff --git a/hw/xfree86/os-support/bsd/console_syscons.c b/hw/xfree86/os-support/bsd/console_syscons.c index 570c8183176..b4c2d512087 100644 --- a/hw/xfree86/os-support/bsd/console_syscons.c +++ b/hw/xfree86/os-support/bsd/console_syscons.c @@ -1,14 +1,9 @@ /* SPDX-License-Identifier: X11 OR MIT OR AGPL-3.0-or-later */ /* Copyright (C) 2026 Enrico Weigelt, metux IT consult */ +#if defined(SYSCONS_SUPPORT) && (defined(__FreeBSD__) || defined(__DragonFly__)) #include - -#if defined(SYSCONS_SUPPORT) - -#if defined(__FreeBSD__) || defined(__DragonFly__) #include #include -#endif - #include #include #include diff --git a/include/meson.build b/include/meson.build index f3b6db8c6ce..182a20a3a8a 100644 --- a/include/meson.build +++ b/include/meson.build @@ -422,8 +422,11 @@ xorg_data.set('WSCONS_SUPPORT', # macros are kept for backwards compatibility with existing drivers. xorg_data.set('CONFIG_BSD_CONSOLE', '1') xorg_data.set('CSRG_BASED', '1') -xorg_data.set('PCVT_SUPPORT', '1') -xorg_data.set('SYSCONS_SUPPORT', '1') +# PCVT and SYSCONS are FreeBSD/DragonFly specific; NetBSD/OpenBSD use wscons +if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly' + xorg_data.set('PCVT_SUPPORT', '1') + xorg_data.set('SYSCONS_SUPPORT', '1') +endif # WSCONS_SUPPORT is already set above for netbsd/openbsd xorg_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h') ? '1' : false) diff --git a/include/xf86_OSlib.h b/include/xf86_OSlib.h index be19a40f3d3..aed1565d410 100644 --- a/include/xf86_OSlib.h +++ b/include/xf86_OSlib.h @@ -169,8 +169,10 @@ #include #endif /* FreeBSD 4.1 RELEASE or lator */ #else +#if !defined(__NetBSD__) && !defined(__OpenBSD__) #include #endif +#endif #endif /* SYSCONS_SUPPORT */ #if defined(PCVT_SUPPORT) && !defined(__NetBSD__) && !defined(__OpenBSD__) #if !defined(SYSCONS_SUPPORT)