diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 5cb14ae70a8..cff465eb7de 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -611,6 +611,8 @@ debian-mingw32-x86_64: -D microsoft-clc=enabled -D static-libclc=all -D llvm=enabled + -D gallium-va=true + -D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec EXTRA_OPTION: > -D min-windows-version=7 -D spirv-to-dxil=true diff --git a/.gitlab-ci/container/debian/x86_build-mingw-source-deps.sh b/.gitlab-ci/container/debian/x86_build-mingw-source-deps.sh index 0dc5833c68d..e42a65f33ca 100644 --- a/.gitlab-ci/container/debian/x86_build-mingw-source-deps.sh +++ b/.gitlab-ci/container/debian/x86_build-mingw-source-deps.sh @@ -3,6 +3,9 @@ set -e +# Building libdrm (libva dependency) +. .gitlab-ci/container/build-libdrm.sh + wd=$PWD CMAKE_TOOLCHAIN_MINGW_PATH=$wd/.gitlab-ci/container/debian/x86_mingw-toolchain.cmake mkdir -p ~/tmp @@ -21,6 +24,25 @@ meson .. \ ninja install popd +# Building libva +git clone https://github.com/intel/libva +pushd libva/ +# Checking out commit hash with libva-win32 support +# This feature will be released with libva version 2.17 +git checkout 2579eb0f77897dc01a02c1e43defc63c40fd2988 +popd +# libva already has a build dir in their repo, use builddir instead +mkdir -p libva/builddir +pushd libva/builddir +meson .. \ +--backend=ninja \ +--buildtype=release \ +-Dprefix=/usr/x86_64-w64-mingw32/ \ +--cross-file=$wd/.gitlab-ci/x86_64-w64-mingw32 + +ninja install +popd + export VULKAN_SDK_VERSION=1.3.211.0 # Building SPIRV Tools diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 3da06118d7c..ade497261a6 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -6,7 +6,7 @@ variables: DEBIAN_BUILD_TAG: "2022-09-30-mkbootimg" DEBIAN_X86_BUILD_MINGW_IMAGE_PATH: "debian/x86_build-mingw" - DEBIAN_BUILD_MINGW_TAG: "2022-08-25-shellcheck" + DEBIAN_BUILD_MINGW_TAG: "2022-10-17-add-libdrm-libva-deps.3" DEBIAN_X86_TEST_BASE_IMAGE: "debian/x86_test-base" @@ -21,7 +21,7 @@ variables: WINDOWS_X64_VS_TAG: "2022-08-17-bump" WINDOWS_X64_BUILD_PATH: "windows/x64_build" - WINDOWS_X64_BUILD_TAG: "2022-08-17-bump" + WINDOWS_X64_BUILD_TAG: "2022-10-17-add-libva-deps.1" WINDOWS_X64_TEST_PATH: "windows/x64_test" WINDOWS_X64_TEST_TAG: "2022-08-17-bump" diff --git a/.gitlab-ci/windows/mesa_build.ps1 b/.gitlab-ci/windows/mesa_build.ps1 index 88f7d2f86cd..ce9759d8827 100644 --- a/.gitlab-ci/windows/mesa_build.ps1 +++ b/.gitlab-ci/windows/mesa_build.ps1 @@ -49,6 +49,8 @@ meson ` -Dshared-llvm=disabled ` -Dvulkan-drivers="swrast,amd,microsoft-experimental" ` -Dgallium-drivers="swrast,d3d12,zink" ` +-Dgallium-va=true ` +-Dvideo-codecs="h264dec,h264enc,h265dec,h265enc,vc1dec" ` -Dshared-glapi=enabled ` -Dgles1=enabled ` -Dgles2=enabled ` diff --git a/.gitlab-ci/windows/mesa_deps_build.ps1 b/.gitlab-ci/windows/mesa_deps_build.ps1 index 1034981d272..afeb8bf6750 100644 --- a/.gitlab-ci/windows/mesa_deps_build.ps1 +++ b/.gitlab-ci/windows/mesa_deps_build.ps1 @@ -32,6 +32,35 @@ Pop-Location $depsInstallPath="C:\mesa-deps" +Get-Date +Write-Host "Cloning libva" +git clone https://github.com/intel/libva.git deps/libva +if (!$?) { + Write-Host "Failed to clone libva repository" + Exit 1 +} + +Push-Location -Path ".\deps\libva" +Write-Host "Checking out libva commit 2579eb0f77897dc01a02c1e43defc63c40fd2988" +# Checking out commit hash with libva-win32 support +# This feature will be released with libva version 2.17 +git checkout 2579eb0f77897dc01a02c1e43defc63c40fd2988 +Pop-Location + +Write-Host "Building libva" +# libva already has a build dir in their repo, use builddir instead +$libva_build = New-Item -ItemType Directory -Path ".\deps\libva" -Name "builddir" +Push-Location -Path $libva_build.FullName +meson .. -Dprefix="$depsInstallPath" +ninja -j32 install +$buildstatus = $? +Pop-Location +Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path $libva_build +if (!$buildstatus) { + Write-Host "Failed to compile libva" + Exit 1 +} + Get-Date # slightly convoluted syntax but avoids the CWD being under the PS filesystem meta-path $llvm_build = New-Item -ItemType Directory -ErrorAction SilentlyContinue -Force -Path ".\deps\llvm-project" -Name "build"