Compare commits

..

11 Commits

Author SHA1 Message Date
Joshua Ashton
aa5bc3e41f wsi: Implement linux-drm-syncobj-v1
This implements explicit sync with linux-drm-syncobj-v1 for the
Wayland WSI.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-27 17:49:03 +00:00
Joshua Ashton
e4e3436d45 wsi: Add common infrastructure for explicit sync
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-27 17:49:03 +00:00
Joshua Ashton
becb5d5161 wsi: Get timeline semaphore exportable handle types
We need to know this for explicit sync

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-27 17:44:16 +00:00
Joshua Ashton
06c2af994b wsi: Track CPU side present ordering via a serial
We will use this in our hueristics to pick the most optimal buffer in AcquireNextImageKHR

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-25 21:00:54 +00:00
Joshua Ashton
d9cbc79941 wsi: Add acquired member to wsi_image
Tracks whether this wsi_image has been acquired by the app

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-25 21:00:54 +00:00
Joshua Ashton
e209b02b97 wsi: Track if timeline semaphores are supported
This will be needed before we expose and use explicit sync.

Even if the host Wayland compositor supports timeline semaphores, in the
case of Venus, etc the underlying driver may not.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-22 00:24:26 +00:00
Joshua Ashton
8a098f591b build: Add linux-drm-syncobj-v1 wayland protocol
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-22 00:24:26 +00:00
Joshua Ashton
754f52e1e1 wsi: Add explicit_sync to wsi_drm_image_params
Allow the WSI frontend to request explicit sync buffers.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-22 00:24:26 +00:00
Joshua Ashton
00dba3992c wsi: Add explicit_sync to wsi_image_info
Will be used in future for specifying explicit sync for Vulkan WSI when supported.

Additionally cleans up wsi_create_buffer_blit_context, etc..

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-22 00:24:26 +00:00
Joshua Ashton
9c8f205131 wsi: Pass wsi_drm_image_params to wsi_configure_prime_image
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-20 17:21:27 +00:00
Joshua Ashton
f17f43b149 wsi: Pass wsi_drm_image_params to wsi_configure_native_image
No need to split this out into function parameters, it's just less clean.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2024-03-20 17:21:26 +00:00
1895 changed files with 56809 additions and 116015 deletions

View File

@@ -87,10 +87,6 @@ variables:
ARTIFACTS_BASE_URL: https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts
# Python scripts for structured logger
PYTHONPATH: "$PYTHONPATH:$CI_PROJECT_DIR/install"
# Drop once deqp-runner is upgraded to > 0.18.0
MESA_VK_ABORT_ON_DEVICE_LOSS: 1
# Avoid the wall of "Unsupported SPIR-V capability" warnings in CI job log, hiding away useful output
MESA_SPIRV_LOG_LEVEL: error
default:
before_script:
@@ -314,22 +310,6 @@ sanity:
- placeholder-job
mr-label-maker-test:
extends:
- .fdo.ci-fairy
stage: sanity
rules:
- !reference [.mr-label-maker-rules, rules]
variables:
GIT_STRATEGY: fetch
timeout: 10m
script:
- set -eu
- python3 -m venv .venv
- source .venv/bin/activate
- pip install git+https://gitlab.freedesktop.org/freedesktop/mr-label-maker
- mr-label-maker --dry-run --mr $CI_MERGE_REQUEST_IID
# Jobs that need to pass before spending hardware resources on further testing
.required-for-hardware-jobs:
needs:

View File

@@ -61,7 +61,3 @@ deployment:
initramfs:
url: '{{ initramfs_url }}'
{% if dtb_url is defined %}
dtb:
url: '{{ dtb_url }}'
{% endif %}

View File

@@ -17,6 +17,7 @@
paths:
- _build/meson-logs/*.txt
- _build/meson-logs/strace
- shader-db
- artifacts
# Just Linux
@@ -70,14 +71,13 @@ debian-testing:
-D glx=dri
-D gbm=enabled
-D egl=enabled
-D glvnd=disabled
-D platforms=x11,wayland
GALLIUM_ST: >
-D dri3=enabled
-D gallium-nine=true
-D gallium-va=enabled
-D gallium-rusticl=true
GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,crocus,iris,i915,r300,svga"
GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,crocus,iris,i915,r300"
VULKAN_DRIVERS: "swrast,amd,intel,intel_hasvk,virtio,nouveau"
BUILDTYPE: "debugoptimized"
EXTRA_OPTION: >
@@ -163,7 +163,6 @@ debian-build-testing:
-D glx=dri
-D gbm=enabled
-D egl=enabled
-D glvnd=disabled
-D platforms=x11,wayland
GALLIUM_ST: >
-D dri3=enabled
@@ -182,7 +181,6 @@ debian-build-testing:
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi
-D b_lto=true
LLVM_VERSION: 15
S3_ARTIFACT_NAME: debian-build-testing
script: |
section_start lava-pytest "lava-pytest"
.gitlab-ci/lava/lava-pytest.sh
@@ -192,27 +190,9 @@ debian-build-testing:
.gitlab-ci/run-yamllint.sh
section_switch meson "meson"
.gitlab-ci/meson/build.sh
.gitlab-ci/prepare-artifacts.sh
timeout: 15m
shader-db:
stage: code-validation
extends:
- .use-debian/x86_64_build
- .container+build-rules
needs:
- debian-build-testing
variables:
S3_ARTIFACT_NAME: debian-build-testing
before_script:
- !reference [.download_s3, before_script]
script: |
section_switch shader-db "shader-db"
.gitlab-ci/run-shader-db.sh
artifacts:
paths:
- shader-db
timeout: 15m
timeout: 30m
# Test a release build with -Werror so new warnings don't sneak in.
debian-release:
@@ -226,7 +206,6 @@ debian-release:
-D glx=dri
-D gbm=enabled
-D egl=enabled
-D glvnd=disabled
-D platforms=x11,wayland
GALLIUM_ST: >
-D dri3=enabled
@@ -268,7 +247,7 @@ alpine-build-testing:
-D glx=disabled
-D gbm=enabled
-D egl=enabled
-D glvnd=disabled
-D glvnd=false
-D platforms=wayland
LLVM_VERSION: "16"
GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
@@ -308,7 +287,7 @@ fedora-release:
-D glx=dri
-D gbm=enabled
-D egl=enabled
-D glvnd=enabled
-D glvnd=true
-D platforms=x11,wayland
EXTRA_OPTION: >
-D b_lto=true
@@ -361,7 +340,6 @@ debian-android:
-D glx=disabled
-D gbm=disabled
-D egl=enabled
-D glvnd=disabled
-D platforms=android
EXTRA_OPTION: >
-D android-stub=true
@@ -442,8 +420,6 @@ debian-arm32:
- .ci-deqp-artifacts
variables:
CROSS: armhf
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-D llvm=disabled
-D valgrind=disabled
@@ -459,8 +435,6 @@ debian-arm32-asan:
extends:
- debian-arm32
variables:
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-D llvm=disabled
-D b_sanitize=address
@@ -479,8 +453,6 @@ debian-arm64:
-Wno-error=array-bounds
-Wno-error=stringop-truncation
VULKAN_DRIVERS: "freedreno,broadcom,panfrost,imagination-experimental"
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-D llvm=disabled
-D valgrind=disabled
@@ -497,8 +469,6 @@ debian-arm64-asan:
extends:
- debian-arm64
variables:
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-D llvm=disabled
-D b_sanitize=address
@@ -514,8 +484,6 @@ debian-arm64-build-test:
- .ci-deqp-artifacts
variables:
VULKAN_DRIVERS: "amd"
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-Dtools=panfrost,imagination
@@ -554,7 +522,7 @@ debian-clang:
-D glx=dri
-D gbm=enabled
-D egl=enabled
-D glvnd=enabled
-D glvnd=true
-D platforms=x11,wayland
GALLIUM_ST: >
-D dri3=enabled
@@ -636,7 +604,6 @@ debian-vulkan:
-D opengl=false
-D gles1=disabled
-D gles2=disabled
-D glvnd=disabled
-D platforms=x11,wayland
-D osmesa=false
GALLIUM_ST: >
@@ -668,8 +635,6 @@ debian-x86_32:
VULKAN_DRIVERS: intel,amd,swrast,virtio
GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,swrast,virgl,zink,crocus,d3d12"
LLVM_VERSION: 15
DRI_LOADERS:
-D glvnd=disabled
EXTRA_OPTION: >
-D vulkan-layers=device-select,overlay
-D intel-clc=system
@@ -697,8 +662,6 @@ debian-s390x:
GALLIUM_DRIVERS: "swrast,zink"
LLVM_VERSION: 15
VULKAN_DRIVERS: "swrast"
DRI_LOADERS:
-D glvnd=disabled
debian-ppc64el:
extends:
@@ -710,5 +673,3 @@ debian-ppc64el:
CROSS: ppc64el
GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl,zink"
VULKAN_DRIVERS: "amd,swrast"
DRI_LOADERS:
-D glvnd=disabled

View File

@@ -1,136 +1,130 @@
#!/bin/bash
VARS=(
ACO_DEBUG
ARTIFACTS_BASE_URL
ASAN_OPTIONS
BASE_SYSTEM_FORK_HOST_PREFIX
BASE_SYSTEM_MAINLINE_HOST_PREFIX
CI_COMMIT_BRANCH
CI_COMMIT_REF_NAME
CI_COMMIT_TITLE
CI_JOB_ID
CI_JOB_JWT_FILE
CI_JOB_STARTED_AT
CI_JOB_NAME
CI_JOB_URL
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
CI_MERGE_REQUEST_TITLE
CI_NODE_INDEX
CI_NODE_TOTAL
CI_PAGES_DOMAIN
CI_PIPELINE_ID
CI_PIPELINE_URL
CI_PROJECT_DIR
CI_PROJECT_NAME
CI_PROJECT_PATH
CI_PROJECT_ROOT_NAMESPACE
CI_RUNNER_DESCRIPTION
CI_SERVER_URL
CROSVM_GALLIUM_DRIVER
CROSVM_GPU_ARGS
CURRENT_SECTION
DEQP_BIN_DIR
DEQP_CONFIG
DEQP_EXPECTED_RENDERER
DEQP_FRACTION
DEQP_HEIGHT
DEQP_RESULTS_DIR
DEQP_RUNNER_OPTIONS
DEQP_SUITE
DEQP_TEMP_DIR
DEQP_VER
DEQP_WIDTH
DEVICE_NAME
DRIVER_NAME
EGL_PLATFORM
ETNA_MESA_DEBUG
FDO_CI_CONCURRENT
FDO_UPSTREAM_REPO
FD_MESA_DEBUG
FLAKES_CHANNEL
FREEDRENO_HANGCHECK_MS
GALLIUM_DRIVER
GALLIVM_PERF
GPU_VERSION
GTEST
GTEST_FAILS
GTEST_FRACTION
GTEST_RESULTS_DIR
GTEST_RUNNER_OPTIONS
GTEST_SKIPS
HWCI_FREQ_MAX
HWCI_KERNEL_MODULES
HWCI_KVM
HWCI_START_WESTON
HWCI_START_XORG
HWCI_TEST_SCRIPT
IR3_SHADER_DEBUG
JOB_ARTIFACTS_BASE
JOB_RESULTS_PATH
JOB_ROOTFS_OVERLAY_PATH
KERNEL_IMAGE_BASE
KERNEL_IMAGE_NAME
LD_LIBRARY_PATH
LIBGL_ALWAYS_SOFTWARE
LP_NUM_THREADS
MESA_BASE_TAG
MESA_BUILD_PATH
MESA_DEBUG
MESA_GLES_VERSION_OVERRIDE
MESA_GLSL_VERSION_OVERRIDE
MESA_GL_VERSION_OVERRIDE
MESA_IMAGE
MESA_IMAGE_PATH
MESA_IMAGE_TAG
MESA_LOADER_DRIVER_OVERRIDE
MESA_TEMPLATES_COMMIT
MESA_VK_ABORT_ON_DEVICE_LOSS
MESA_VK_IGNORE_CONFORMANCE_WARNING
S3_HOST
S3_RESULTS_UPLOAD
NIR_DEBUG
PAN_I_WANT_A_BROKEN_VULKAN_DRIVER
PAN_MESA_DEBUG
PANVK_DEBUG
PIGLIT_FRACTION
PIGLIT_NO_WINDOW
PIGLIT_OPTIONS
PIGLIT_PLATFORM
PIGLIT_PROFILES
PIGLIT_REPLAY_ANGLE_TAG
PIGLIT_REPLAY_ARTIFACTS_BASE_URL
PIGLIT_REPLAY_DEVICE_NAME
PIGLIT_REPLAY_EXTRA_ARGS
PIGLIT_REPLAY_LOOP_TIMES
PIGLIT_REPLAY_REFERENCE_IMAGES_BASE
PIGLIT_REPLAY_SUBCOMMAND
PIGLIT_RESULTS
PIGLIT_TESTS
PIGLIT_TRACES_FILE
PIPELINE_ARTIFACTS_BASE
RADEON_DEBUG
RADV_DEBUG
RADV_PERFTEST
SKQP_ASSETS_DIR
SKQP_BACKENDS
TU_DEBUG
USE_ANGLE
VIRGL_HOST_API
WAFFLE_PLATFORM
VK_CPU
VK_DRIVER
# required by virglrender CI
VK_DRIVER_FILES
VKD3D_PROTON_RESULTS
VKD3D_CONFIG
VKD3D_TEST_EXCLUDE
ZINK_DESCRIPTORS
ZINK_DEBUG
LVP_POISON_MEMORY
)
for var in "${VARS[@]}"; do
for var in \
ACO_DEBUG \
ARTIFACTS_BASE_URL \
ASAN_OPTIONS \
BASE_SYSTEM_FORK_HOST_PREFIX \
BASE_SYSTEM_MAINLINE_HOST_PREFIX \
CI_COMMIT_BRANCH \
CI_COMMIT_REF_NAME \
CI_COMMIT_TITLE \
CI_JOB_ID \
CI_JOB_JWT_FILE \
CI_JOB_STARTED_AT \
CI_JOB_NAME \
CI_JOB_URL \
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
CI_MERGE_REQUEST_TITLE \
CI_NODE_INDEX \
CI_NODE_TOTAL \
CI_PAGES_DOMAIN \
CI_PIPELINE_ID \
CI_PIPELINE_URL \
CI_PROJECT_DIR \
CI_PROJECT_NAME \
CI_PROJECT_PATH \
CI_PROJECT_ROOT_NAMESPACE \
CI_RUNNER_DESCRIPTION \
CI_SERVER_URL \
CROSVM_GALLIUM_DRIVER \
CROSVM_GPU_ARGS \
CURRENT_SECTION \
DEQP_BIN_DIR \
DEQP_CONFIG \
DEQP_EXPECTED_RENDERER \
DEQP_FRACTION \
DEQP_HEIGHT \
DEQP_RESULTS_DIR \
DEQP_RUNNER_OPTIONS \
DEQP_SUITE \
DEQP_TEMP_DIR \
DEQP_VER \
DEQP_WIDTH \
DEVICE_NAME \
DRIVER_NAME \
EGL_PLATFORM \
ETNA_MESA_DEBUG \
FDO_CI_CONCURRENT \
FDO_UPSTREAM_REPO \
FD_MESA_DEBUG \
FLAKES_CHANNEL \
FREEDRENO_HANGCHECK_MS \
GALLIUM_DRIVER \
GALLIVM_PERF \
GPU_VERSION \
GTEST \
GTEST_FAILS \
GTEST_FRACTION \
GTEST_RESULTS_DIR \
GTEST_RUNNER_OPTIONS \
GTEST_SKIPS \
HWCI_FREQ_MAX \
HWCI_KERNEL_MODULES \
HWCI_KVM \
HWCI_START_WESTON \
HWCI_START_XORG \
HWCI_TEST_SCRIPT \
IR3_SHADER_DEBUG \
JOB_ARTIFACTS_BASE \
JOB_RESULTS_PATH \
JOB_ROOTFS_OVERLAY_PATH \
KERNEL_IMAGE_BASE \
KERNEL_IMAGE_NAME \
LD_LIBRARY_PATH \
LP_NUM_THREADS \
MESA_BASE_TAG \
MESA_BUILD_PATH \
MESA_DEBUG \
MESA_GLES_VERSION_OVERRIDE \
MESA_GLSL_VERSION_OVERRIDE \
MESA_GL_VERSION_OVERRIDE \
MESA_IMAGE \
MESA_IMAGE_PATH \
MESA_IMAGE_TAG \
MESA_LOADER_DRIVER_OVERRIDE \
MESA_TEMPLATES_COMMIT \
MESA_VK_IGNORE_CONFORMANCE_WARNING \
S3_HOST \
S3_RESULTS_UPLOAD \
NIR_DEBUG \
PAN_I_WANT_A_BROKEN_VULKAN_DRIVER \
PAN_MESA_DEBUG \
PANVK_DEBUG \
PIGLIT_FRACTION \
PIGLIT_NO_WINDOW \
PIGLIT_OPTIONS \
PIGLIT_PLATFORM \
PIGLIT_PROFILES \
PIGLIT_REPLAY_ARTIFACTS_BASE_URL \
PIGLIT_REPLAY_DEVICE_NAME \
PIGLIT_REPLAY_EXTRA_ARGS \
PIGLIT_REPLAY_LOOP_TIMES \
PIGLIT_REPLAY_REFERENCE_IMAGES_BASE \
PIGLIT_REPLAY_SUBCOMMAND \
PIGLIT_RESULTS \
PIGLIT_TESTS \
PIGLIT_TRACES_FILE \
PIPELINE_ARTIFACTS_BASE \
RADEON_DEBUG \
RADV_DEBUG \
RADV_PERFTEST \
SKQP_ASSETS_DIR \
SKQP_BACKENDS \
TU_DEBUG \
USE_ANGLE \
VIRGL_HOST_API \
WAFFLE_PLATFORM \
VK_CPU \
VK_DRIVER \
VK_ICD_FILENAMES \
VKD3D_PROTON_RESULTS \
VKD3D_CONFIG \
VKD3D_TEST_EXCLUDE \
ZINK_DESCRIPTORS \
ZINK_DEBUG \
LVP_POISON_MEMORY \
; do
if [ -n "${!var+x}" ]; then
echo "export $var=${!var@Q}"
fi

View File

@@ -113,7 +113,7 @@ export PYTHONPATH=$(python3 -c "import sys;print(\":\".join(sys.path))")
if [ -n "$MESA_LOADER_DRIVER_OVERRIDE" ]; then
rm /install/lib/dri/!($MESA_LOADER_DRIVER_OVERRIDE)_dri.so
fi
ls -1 /install/lib/dri/*_dri.so || true
ls -1 /install/lib/dri/*_dri.so
if [ "$HWCI_FREQ_MAX" = "true" ]; then
# Ensure initialization of the DRM device (needed by MSM)
@@ -165,7 +165,7 @@ fi
if [ -n "$HWCI_START_XORG" ]; then
echo "touch /xorg-started; sleep 100000" > /xorg-script
env \
VK_DRIVER_FILES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
VK_ICD_FILENAMES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
xinit /bin/sh /xorg-script -- /usr/bin/Xorg -noreset -s 0 -dpms -logfile /Xorg.0.log &
BACKGROUND_PIDS="$! $BACKGROUND_PIDS"
@@ -192,7 +192,7 @@ if [ -n "$HWCI_START_WESTON" ]; then
mkdir -p /tmp/.X11-unix
env \
VK_DRIVER_FILES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
VK_ICD_FILENAMES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
weston -Bheadless-backend.so --use-gl -Swayland-0 --xwayland --idle-time=0 &
BACKGROUND_PIDS="$! $BACKGROUND_PIDS"

View File

@@ -41,7 +41,6 @@ DEPS=(
libpciaccess-dev
zlib-dev
python3-dev
py3-cparser
py3-mako
py3-ply
vulkan-headers

View File

@@ -16,7 +16,7 @@ set -ex -o pipefail
# - the GL release produces `glcts`, and
# - the GLES release produces `deqp-gles*` and `deqp-egl`
DEQP_VK_VERSION=1.3.8.2
DEQP_VK_VERSION=1.3.7.0
DEQP_GL_VERSION=4.6.4.0
DEQP_GLES_VERSION=3.2.10.0
@@ -28,15 +28,28 @@ DEQP_GLES_VERSION=3.2.10.0
# shellcheck disable=SC2034
vk_cts_commits_to_backport=(
# Fix more ASAN errors due to missing virtual destructors
dd40bcfef1b4035ea55480b6fd4d884447120768
# Take multiview into account for task shader inv. stats
22aa3f4c59f6e1d4daebd5a8c9c05bce6cd3b63b
# Remove "unused shader stages" tests
7dac86c6bbd15dec91d7d9a98cd6dd57c11092a7
# Remove illegal mesh shader query tests
2a87f7b25dc27188be0f0a003b2d7aef69d9002e
# Relax fragment shader invocations result verifications
0d8bf6a2715f95907e9cf86a86876ff1f26c66fe
# Fix several issues in dynamic rendering basic tests
c5453824b498c981c6ba42017d119f5de02a3e34
# Add setVisible for VulkanWindowDirectDrm
a8466bf6ea98f6cd6733849ad8081775318a3e3e
)
# shellcheck disable=SC2034
vk_cts_patch_files=(
# Derivate subgroup fix
# https://github.com/KhronosGroup/VK-GL-CTS/pull/442
build-deqp-vk_Use-subgroups-helper-in-derivate-tests.patch
build-deqp-vk_Add-missing-subgroup-support-checks-for-linear-derivate-tests.patch
)
if [ "${DEQP_TARGET}" = 'android' ]; then
@@ -205,7 +218,7 @@ if [ "${DEQP_TARGET}" != 'android' ]; then
if [ "${DEQP_API}" = 'VK' ]; then
for mustpass in $(< /VK-GL-CTS/external/vulkancts/mustpass/main/vk-default.txt) ; do
cat /VK-GL-CTS/external/vulkancts/mustpass/main/$mustpass \
>> /deqp/mustpass/vk-main.txt
>> /deqp/mustpass/vk-master.txt
done
fi
@@ -240,7 +253,7 @@ fi
# Remove other mustpass files, since we saved off the ones we wanted to conventient locations above.
rm -rf /deqp/external/**/mustpass/
rm -rf /deqp/external/vulkancts/modules/vulkan/vk-main*
rm -rf /deqp/external/vulkancts/modules/vulkan/vk-master*
rm -rf /deqp/external/vulkancts/modules/vulkan/vk-default
rm -rf /deqp/external/openglcts/modules/cts-runner

View File

@@ -7,7 +7,7 @@
set -ex
git clone https://github.com/microsoft/DirectX-Headers -b v1.613.1 --depth 1
git clone https://github.com/microsoft/DirectX-Headers -b v1.611.0 --depth 1
pushd DirectX-Headers
meson setup build --backend=ninja --buildtype=release -Dbuild-test=false $EXTRA_MESON_ARGS
meson install -C build

View File

@@ -8,7 +8,7 @@ set -ex
# DEBIAN_X86_64_TEST_VK_TAG
# KERNEL_ROOTFS_TAG
REV="f7ece74a107a2f99b2f494d978c84f8d51faa703"
REV="1e631479c0b477006dd7561c55e06269d2878d8d"
git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit
pushd /piglit

View File

@@ -6,7 +6,7 @@
# KERNEL_ROOTFS_TAG
set -ex
VKD3D_PROTON_COMMIT="c3b385606a93baed42482d822805e0d9c2f3f603"
VKD3D_PROTON_COMMIT="a0ccc383937903f4ca0997ce53e41ccce7f2f2ec"
VKD3D_PROTON_DST_DIR="/vkd3d-proton-tests"
VKD3D_PROTON_SRC_DIR="/vkd3d-proton-src"

View File

@@ -7,7 +7,7 @@
set -ex
VALIDATION_TAG="v1.3.281"
VALIDATION_TAG="snapshot-2024wk06"
git clone -b "$VALIDATION_TAG" --single-branch --depth 1 https://github.com/KhronosGroup/Vulkan-ValidationLayers.git
pushd Vulkan-ValidationLayers

View File

@@ -3,17 +3,8 @@
set -ex
# When changing this file, you need to bump the following
# .gitlab-ci/image-tags.yml tags:
# DEBIAN_BUILD_TAG
# DEBIAN_X86_64_TEST_ANDROID_TAG
# DEBIAN_X86_64_TEST_GL_TAG
# DEBIAN_X86_64_TEST_VK_TAG
# FEDORA_X86_64_BUILD_TAG
# KERNEL_ROOTFS_TAG
export LIBWAYLAND_VERSION="1.21.0"
export WAYLAND_PROTOCOLS_VERSION="1.34"
export WAYLAND_PROTOCOLS_VERSION="1.31"
git clone https://gitlab.freedesktop.org/wayland/wayland
cd wayland

View File

@@ -64,7 +64,6 @@ DEPS=(
python3-mako
python3-pil
python3-pip
python3-pycparser
python3-requests
python3-setuptools
u-boot-tools

View File

@@ -70,7 +70,6 @@ DEPS=(
python3-pil
python3-pip
python3-ply
python3-pycparser
python3-requests
python3-setuptools
qemu-user

View File

@@ -90,13 +90,6 @@ RUSTFLAGS='-L native=/usr/local/lib' cargo install \
-j ${FDO_CI_CONCURRENT:-4} \
--root /usr/local
# install cbindgen
RUSTFLAGS='-L native=/usr/local/lib' cargo install \
cbindgen --version 0.26.0 \
--locked \
-j ${FDO_CI_CONCURRENT:-4} \
--root /usr/local
############### Uninstall the build software
apt-get purge -y "${EPHEMERAL[@]}"

View File

@@ -27,7 +27,6 @@ EPHEMERAL=(
libvulkan-dev
libwaffle-dev
libx11-xcb-dev
libxcb-dri2-0-dev
libxcb-ewmh-dev
libxcb-keysyms1-dev
libxkbcommon-dev

View File

@@ -27,7 +27,6 @@ EPHEMERAL=(
DEPS=(
bindgen
bison
cbindgen
ccache
clang-devel
flex
@@ -77,7 +76,6 @@ DEPS=(
python3-devel
python3-mako
python3-ply
python3-pycparser
rust-packaging
vulkan-headers
spirv-tools-devel

View File

@@ -226,7 +226,7 @@ debian/x86_64_test-vk:
- debian/x86_64_test-vk
# Debian based x86_64 test image for Android
.debian/x86_64_test-android:
debian/x86_64_test-android:
extends: .use-debian/x86_64_test-base
variables:
MESA_IMAGE_TAG: &debian-x86_64_test-android ${DEBIAN_X86_64_TEST_ANDROID_TAG}

View File

@@ -0,0 +1,29 @@
From 7c9aa6f846f9f2f0d70b5c4a8e7c99a3d31b3b1a Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@chromium.org>
Date: Sat, 27 Jan 2024 10:59:00 -0800
Subject: [PATCH] Add missing subgroup support checks for linear derivate tests
Some of these tests require subgroup ops support, but didn't bother
checking whether they were supported. Add this missing checks.
---
.../vulkan/shaderrender/vktShaderRenderDerivateTests.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
index 3253505958..709044f2e8 100644
--- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
+++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
@@ -1145,6 +1145,13 @@ LinearDerivateCase::~LinearDerivateCase (void)
TestInstance* LinearDerivateCase::createInstance (Context& context) const
{
DE_ASSERT(m_uniformSetup != DE_NULL);
+ if (m_fragmentTmpl.find("gl_SubgroupInvocationID") != std::string::npos) {
+ if (!subgroups::areQuadOperationsSupportedForStages(context, VK_SHADER_STAGE_FRAGMENT_BIT))
+ throw tcu::NotSupportedError("test requires VK_SUBGROUP_FEATURE_QUAD_BIT");
+
+ if (subgroups::getSubgroupSize(context) < 4)
+ throw tcu::NotSupportedError("test requires subgroupSize >= 4");
+ }
return new LinearDerivateCaseInstance(context, *m_uniformSetup, m_definitions, m_values);
}

View File

@@ -0,0 +1,56 @@
From ed3794c975d284a5453ae33ae59dd1541a9eb804 Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@chromium.org>
Date: Sat, 27 Jan 2024 10:57:28 -0800
Subject: [PATCH] Use subgroups helper in derivate tests
For the tests that need subgroup ops, use the existing subgroups helper,
rather than open-coding the same checks.
---
.../vktShaderRenderDerivateTests.cpp | 23 ++++---------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
index a8bb5a3ba7..3253505958 100644
--- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
+++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp
@@ -31,6 +31,7 @@
#include "vktShaderRenderDerivateTests.hpp"
#include "vktShaderRender.hpp"
+#include "subgroups/vktSubgroupsTestsUtils.hpp"
#include "vkImageUtil.hpp"
#include "vkQueryUtil.hpp"
@@ -707,28 +708,14 @@ tcu::TestStatus TriangleDerivateCaseInstance::iterate (void)
{
const std::string errorPrefix = m_definitions.inNonUniformControlFlow ? "Derivatives in dynamic control flow" :
"Manual derivatives with subgroup operations";
- if (!m_context.contextSupports(vk::ApiVersion(0, 1, 1, 0)))
- throw tcu::NotSupportedError(errorPrefix + " require Vulkan 1.1");
-
- vk::VkPhysicalDeviceSubgroupProperties subgroupProperties;
- deMemset(&subgroupProperties, 0, sizeof(subgroupProperties));
- subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
-
- vk::VkPhysicalDeviceProperties2 properties2;
- deMemset(&properties2, 0, sizeof(properties2));
- properties2.sType = vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
- properties2.pNext = &subgroupProperties;
-
- m_context.getInstanceInterface().getPhysicalDeviceProperties2(m_context.getPhysicalDevice(), &properties2);
+ if (!subgroups::areQuadOperationsSupportedForStages(m_context, VK_SHADER_STAGE_FRAGMENT_BIT))
+ throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_QUAD_BIT");
- if (subgroupProperties.subgroupSize < 4)
+ if (subgroups::getSubgroupSize(m_context) < 4)
throw tcu::NotSupportedError(errorPrefix + " require subgroupSize >= 4");
- if ((subgroupProperties.supportedOperations & VK_SUBGROUP_FEATURE_BALLOT_BIT) == 0)
+ if (!subgroups::isSubgroupFeatureSupportedForDevice(m_context, VK_SUBGROUP_FEATURE_BALLOT_BIT))
throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_BALLOT_BIT");
-
- if (isSubgroupFunc(m_definitions.func) && (subgroupProperties.supportedOperations & VK_SUBGROUP_FEATURE_QUAD_BIT) == 0)
- throw tcu::NotSupportedError(errorPrefix + " tests require VK_SUBGROUP_FEATURE_QUAD_BIT");
}
setup();

View File

@@ -96,7 +96,7 @@ set +e -x
NIR_DEBUG="novalidate" \
LIBGL_ALWAYS_SOFTWARE=${CROSVM_LIBGL_ALWAYS_SOFTWARE} \
GALLIUM_DRIVER=${CROSVM_GALLIUM_DRIVER} \
VK_DRIVER_FILES=$CI_PROJECT_DIR/install/share/vulkan/icd.d/${CROSVM_VK_DRIVER}_icd.x86_64.json \
VK_ICD_FILENAMES=$CI_PROJECT_DIR/install/share/vulkan/icd.d/${CROSVM_VK_DRIVER}_icd.x86_64.json \
crosvm --no-syslog run \
--gpu "${CROSVM_GPU_ARGS}" --gpu-render-server "path=/usr/local/libexec/virgl_render_server" \
-m "${CROSVM_MEMORY:-4096}" -c "${CROSVM_CPU:-2}" --disable-sandbox \

View File

@@ -18,7 +18,7 @@ INSTALL=$(realpath -s "$PWD"/install)
# Set up the driver environment.
export LD_LIBRARY_PATH="$INSTALL"/lib/:$LD_LIBRARY_PATH
export EGL_PLATFORM=surfaceless
export VK_DRIVER_FILES="$PWD"/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.${VK_CPU:-$(uname -m)}.json
export VK_ICD_FILENAMES="$PWD"/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.${VK_CPU:-$(uname -m)}.json
export OCL_ICD_VENDORS="$PWD"/install/etc/OpenCL/vendors/
if [ -n "$USE_ANGLE" ]; then
@@ -59,7 +59,7 @@ if [ -z "$DEQP_SUITE" ]; then
# Generate test case list file.
if [ "$DEQP_VER" = "vk" ]; then
MUSTPASS=/deqp/mustpass/vk-main.txt
MUSTPASS=/deqp/mustpass/vk-master.txt
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
elif [ "$DEQP_VER" = "gles2" ] || [ "$DEQP_VER" = "gles3" ] || [ "$DEQP_VER" = "gles31" ] || [ "$DEQP_VER" = "egl" ]; then
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt
@@ -169,7 +169,7 @@ fi
uncollapsed_section_switch deqp "deqp: deqp-runner"
# Print the detailed version with the list of backports and local patches
for api in vk gl gles; do
for api in vk gl; do
deqp_version_log=/deqp/version-$api
if [ -r "$deqp_version_log" ]; then
cat "$deqp_version_log"

View File

@@ -237,25 +237,6 @@
when: never
- !reference [.freedreno-farm-rules, rules]
.vmware-farm-rules:
rules:
- exists: [ .ci-farms-disabled/vmware ]
when: never
- changes: [ .ci-farms-disabled/vmware ]
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
.vmware-farm-manual-rules:
rules:
- exists: [ .ci-farms-disabled/vmware ]
when: never
- changes: [ .ci-farms-disabled/vmware ]
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.vmware-farm-rules, rules]
.ondracka-farm-rules:
rules:
@@ -330,10 +311,6 @@
changes: [ .ci-farms-disabled/ondracka ]
exists: [ .ci-farms-disabled/ondracka ]
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: [ .ci-farms-disabled/vmware ]
exists: [ .ci-farms-disabled/vmware ]
when: never
# Any other change to ci-farms/* means some farm is getting re-enabled.
# Run jobs in Marge pipelines (and let it fallback to manual otherwise)
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $GITLAB_USER_LOGIN == "marge-bot"'

View File

@@ -11,7 +11,7 @@ INSTALL=$PWD/install
# Set up the driver environment.
export LD_LIBRARY_PATH="$INSTALL/lib/"
export VK_DRIVER_FILES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.x86_64.json"
export VK_ICD_FILENAMES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.x86_64.json"
# To store Fossilize logs on failure.
RESULTS="$PWD/results"

View File

@@ -13,10 +13,10 @@
variables:
DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base"
DEBIAN_BASE_TAG: "20240412-pycparser"
DEBIAN_BASE_TAG: "20240307-virglcrosvm"
DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
DEBIAN_BUILD_TAG: "20240408-cbindgen"
DEBIAN_BUILD_TAG: "20240301-mold"
DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
@@ -24,14 +24,14 @@ variables:
DEBIAN_X86_64_TEST_IMAGE_VK_PATH: "debian/x86_64_test-vk"
DEBIAN_X86_64_TEST_ANDROID_IMAGE_PATH: "debian/x86_64_test-android"
DEBIAN_X86_64_TEST_ANDROID_TAG: "20240423-deqp"
DEBIAN_X86_64_TEST_GL_TAG: "20240423-deqp"
DEBIAN_X86_64_TEST_VK_TAG: "20240423-deqp"
KERNEL_ROOTFS_TAG: "20240423-deqp"
DEBIAN_X86_64_TEST_ANDROID_TAG: "20240311-runner"
DEBIAN_X86_64_TEST_GL_TAG: "20240313-ninetests"
DEBIAN_X86_64_TEST_VK_TAG: "20240317-direct_drm"
KERNEL_ROOTFS_TAG: "20240317-direct_drm"
ALPINE_X86_64_BUILD_TAG: "20240412-pycparser"
ALPINE_X86_64_LAVA_SSH_TAG: "20240401-wlproto"
FEDORA_X86_64_BUILD_TAG: "20240412-pycparser"
ALPINE_X86_64_BUILD_TAG: "20240208-libclc-5"
ALPINE_X86_64_LAVA_SSH_TAG: "20230626-v1"
FEDORA_X86_64_BUILD_TAG: "20240301-mold"
KERNEL_TAG: "v6.6.21-mesa-19fc"
KERNEL_REPO: "gfx-ci/linux"
PKG_REPO_REV: "3cc12a2a"
@@ -40,7 +40,7 @@ variables:
WINDOWS_X64_MSVC_TAG: "20231222-msvc"
WINDOWS_X64_BUILD_PATH: "windows/x86_64_build"
WINDOWS_X64_BUILD_TAG: "20240405-vainfo-ci-1"
WINDOWS_X64_BUILD_TAG: "20240117-vulkan-sdk"
WINDOWS_X64_TEST_PATH: "windows/x86_64_test"
WINDOWS_X64_TEST_TAG: "20240405-vainfo-ci-1"
WINDOWS_X64_TEST_TAG: "20240117-vulkan-sdk"

View File

@@ -5,36 +5,24 @@ class MesaCIException(Exception):
pass
class MesaCIRetriableException(MesaCIException):
pass
class MesaCITimeoutError(MesaCIRetriableException):
class MesaCITimeoutError(MesaCIException):
def __init__(self, *args, timeout_duration: timedelta) -> None:
super().__init__(*args)
self.timeout_duration = timeout_duration
class MesaCIRetryError(MesaCIRetriableException):
class MesaCIRetryError(MesaCIException):
def __init__(self, *args, retry_count: int, last_job: None) -> None:
super().__init__(*args)
self.retry_count = retry_count
self.last_job = last_job
class MesaCIFatalException(MesaCIException):
"""Exception raised when the Mesa CI script encounters a fatal error that
prevents the script from continuing."""
def __init__(self, *args) -> None:
super().__init__(*args)
class MesaCIParseException(MesaCIRetriableException):
class MesaCIParseException(MesaCIException):
pass
class MesaCIKnownIssueException(MesaCIRetriableException):
class MesaCIKnownIssueException(MesaCIException):
"""Exception raised when the Mesa CI script finds something in the logs that
is known to cause the LAVA job to eventually fail"""

View File

@@ -16,7 +16,7 @@ import sys
import time
from collections import defaultdict
from dataclasses import dataclass, fields
from datetime import datetime, timedelta, timezone
from datetime import datetime, timedelta
from os import environ, getenv, path
from typing import Any, Optional
@@ -25,8 +25,6 @@ from lavacli.utils import flow_yaml as lava_yaml
from lava.exceptions import (
MesaCIException,
MesaCIFatalException,
MesaCIRetriableException,
MesaCIParseException,
MesaCIRetryError,
MesaCITimeoutError,
@@ -60,7 +58,7 @@ except ImportError as e:
# Timeout in seconds to decide if the device from the dispatched LAVA job has
# hung or not due to the lack of new log output.
DEVICE_HANGING_TIMEOUT_SEC = int(getenv("DEVICE_HANGING_TIMEOUT_SEC", 5 * 60))
DEVICE_HANGING_TIMEOUT_SEC = int(getenv("DEVICE_HANGING_TIMEOUT_SEC", 5*60))
# How many seconds the script should wait before try a new polling iteration to
# check if the dispatched LAVA job is running or waiting in the job queue.
@@ -83,29 +81,18 @@ NUMBER_OF_RETRIES_TIMEOUT_DETECTION = int(
getenv("LAVA_NUMBER_OF_RETRIES_TIMEOUT_DETECTION", 2)
)
CI_JOB_TIMEOUT_SEC = int(getenv("CI_JOB_TIMEOUT", 3600))
# How many seconds the script will wait to let LAVA run the job and give the final details.
EXPECTED_JOB_DURATION_SEC = int(getenv("EXPECTED_JOB_DURATION_SEC", 60 * 10))
# CI_JOB_STARTED is given by GitLab CI/CD in UTC timezone by default.
CI_JOB_STARTED_AT_RAW = getenv("CI_JOB_STARTED_AT", "")
CI_JOB_STARTED_AT: datetime = (
datetime.fromisoformat(CI_JOB_STARTED_AT_RAW)
if CI_JOB_STARTED_AT_RAW
else datetime.now(timezone.utc)
)
def raise_exception_from_metadata(metadata: dict, job_id: int) -> None:
"""
Investigate infrastructure errors from the job metadata.
If it finds an error, raise it as MesaCIRetriableException.
If it finds an error, raise it as MesaCIException.
"""
if "result" not in metadata or metadata["result"] != "fail":
return
if "error_type" in metadata:
error_type = metadata["error_type"]
if error_type == "Infrastructure":
raise MesaCIRetriableException(
raise MesaCIException(
f"LAVA job {job_id} failed with Infrastructure Error. Retry."
)
if error_type == "Job":
@@ -113,12 +100,12 @@ def raise_exception_from_metadata(metadata: dict, job_id: int) -> None:
# with mal-formed job definitions. As we are always validating the
# jobs, only the former is probable to happen. E.g.: When some LAVA
# action timed out more times than expected in job definition.
raise MesaCIRetriableException(
raise MesaCIException(
f"LAVA job {job_id} failed with JobError "
"(possible LAVA timeout misconfiguration/bug). Retry."
)
if "case" in metadata and metadata["case"] == "validate":
raise MesaCIRetriableException(
raise MesaCIException(
f"LAVA job {job_id} failed validation (possible download error). Retry."
)
@@ -195,6 +182,7 @@ def is_job_hanging(job, max_idle_time):
def parse_log_lines(job, log_follower, new_log_lines):
if log_follower.feed(new_log_lines):
# If we had non-empty log data, we can assure that the device is alive.
job.heartbeat()
@@ -212,6 +200,7 @@ def parse_log_lines(job, log_follower, new_log_lines):
def fetch_new_log_lines(job):
# The XMLRPC binary packet may be corrupted, causing a YAML scanner error.
# Retry the log fetching several times before exposing the error.
for _ in range(5):
@@ -227,28 +216,14 @@ def submit_job(job):
try:
job.submit()
except Exception as mesa_ci_err:
raise MesaCIRetriableException(
raise MesaCIException(
f"Could not submit LAVA job. Reason: {mesa_ci_err}"
) from mesa_ci_err
def wait_for_job_get_started(job, attempt_no):
def wait_for_job_get_started(job):
print_log(f"Waiting for job {job.job_id} to start.")
while not job.is_started():
current_job_duration_sec: int = int(
(datetime.now(timezone.utc) - CI_JOB_STARTED_AT).total_seconds()
)
remaining_time_sec: int = max(0, CI_JOB_TIMEOUT_SEC - current_job_duration_sec)
if remaining_time_sec < EXPECTED_JOB_DURATION_SEC:
job.cancel()
raise MesaCIFatalException(
f"{CONSOLE_LOG['BOLD']}"
f"{CONSOLE_LOG['FG_YELLOW']}"
f"Job {job.job_id} only has {remaining_time_sec} seconds "
"remaining to run, but it is expected to take at least "
f"{EXPECTED_JOB_DURATION_SEC} seconds."
f"{CONSOLE_LOG['RESET']}",
)
time.sleep(WAIT_FOR_DEVICE_POLLING_TIME_SEC)
job.refresh_log()
print_log(f"Job {job.job_id} started.")
@@ -324,7 +299,7 @@ def execute_job_with_retries(
try:
job_log["submitter_start_time"] = datetime.now().isoformat()
submit_job(job)
wait_for_job_get_started(job, attempt_no)
wait_for_job_get_started(job)
log_follower: LogFollower = bootstrap_log_follower()
follow_job_execution(job, log_follower)
return job
@@ -343,8 +318,6 @@ def execute_job_with_retries(
f"Finished executing LAVA job in the attempt #{attempt_no}"
f"{CONSOLE_LOG['RESET']}"
)
if job.exception and not isinstance(job.exception, MesaCIRetriableException):
break
return last_failed_job
@@ -498,9 +471,8 @@ class LAVAJobSubmitter(PathResolver):
if not last_attempt_job:
# No job was run, something bad happened
STRUCTURAL_LOG["job_combined_status"] = "script_crash"
current_exception = str(sys.exc_info()[1])
current_exception = str(sys.exc_info()[0])
STRUCTURAL_LOG["job_combined_fail_reason"] = current_exception
print(f"Interrupting the script. Reason: {current_exception}")
raise SystemExit(1)
STRUCTURAL_LOG["job_combined_status"] = last_attempt_job.status
@@ -537,6 +509,7 @@ class StructuredLoggerWrapper:
def logger_context(self):
context = contextlib.nullcontext()
try:
global STRUCTURAL_LOG
STRUCTURAL_LOG = StructuredLogger(
self.__submitter.structured_log_file, truncate=True

View File

@@ -6,7 +6,6 @@ from typing import Any, Optional
from lava.exceptions import (
MesaCIException,
MesaCIRetriableException,
MesaCIKnownIssueException,
MesaCIParseException,
MesaCITimeoutError,
@@ -35,7 +34,7 @@ class LAVAJob:
self._is_finished = False
self.log: dict[str, Any] = log
self.status = "not_submitted"
self.__exception: Optional[Exception] = None
self.__exception: Optional[str] = None
def heartbeat(self) -> None:
self.last_log_time: datetime = datetime.now()
@@ -64,13 +63,13 @@ class LAVAJob:
return self._is_finished
@property
def exception(self) -> Optional[Exception]:
def exception(self) -> str:
return self.__exception
@exception.setter
def exception(self, exception: Exception) -> None:
self.__exception = exception
self.log["dut_job_fail_reason"] = repr(self.__exception)
self.__exception = repr(exception)
self.log["dut_job_fail_reason"] = self.__exception
def validate(self) -> Optional[dict]:
"""Returns a dict with errors, if the validation fails.
@@ -177,15 +176,11 @@ class LAVAJob:
self.status = "canceled"
elif isinstance(exception, MesaCITimeoutError):
self.status = "hung"
elif isinstance(exception, MesaCIRetriableException):
elif isinstance(exception, MesaCIException):
self.status = "failed"
elif isinstance(exception, KeyboardInterrupt):
self.status = "interrupted"
print_log("LAVA job submitter was interrupted. Cancelling the job.")
raise
elif isinstance(exception, MesaCIException):
self.status = "interrupted"
print_log("LAVA job submitter was interrupted. Cancelling the job.")
raise
else:
self.status = "job_submitter_error"

View File

@@ -15,8 +15,6 @@ from lava.utils.uart_job_definition import (
fastboot_deploy_actions,
tftp_boot_action,
tftp_deploy_actions,
qemu_boot_action,
qemu_deploy_actions,
uart_test_actions,
)
@@ -73,9 +71,6 @@ class LAVAJobDefinition:
if args.boot_method == "fastboot":
deploy_actions = fastboot_deploy_actions(self, nfsrootfs)
boot_action = fastboot_boot_action(args)
elif args.boot_method == "qemu-nfs":
deploy_actions = qemu_deploy_actions(self, nfsrootfs)
boot_action = qemu_boot_action(args)
else: # tftp
deploy_actions = tftp_deploy_actions(self, nfsrootfs)
boot_action = tftp_boot_action(args)
@@ -147,10 +142,6 @@ class LAVAJobDefinition:
if self.job_submitter.lava_tags:
values["tags"] = self.job_submitter.lava_tags.split(",")
# QEMU lava jobs mandate proper arch value in the context
if self.job_submitter.boot_method == "qemu-nfs":
values["context"]["arch"] = self.job_submitter.mesa_job_name.split(":")[1]
return values
def attach_kernel_and_dtb(self, deploy_field):
@@ -212,13 +203,7 @@ class LAVAJobDefinition:
# - exec .gitlab-ci/common/init-stage2.sh
with open(self.job_submitter.first_stage_init, "r") as init_sh:
# For vmware farm, patch nameserver as 8.8.8.8 is off limit.
# This is temporary and will be reverted once the farm is moved.
if self.job_submitter.mesa_job_name.startswith("vmware-"):
run_steps += [x.rstrip().replace("nameserver 8.8.8.8", "nameserver 10.25.198.110") for x in init_sh if not x.startswith("#") and x.rstrip()]
else:
run_steps += [x.rstrip() for x in init_sh if not x.startswith("#") and x.rstrip()]
run_steps += [x.rstrip() for x in init_sh if not x.startswith("#") and x.rstrip()]
# We cannot distribute the Adreno 660 shader firmware inside rootfs,
# since the license isn't bundled inside the repository
if self.job_submitter.device_type == "sm8350-hdk":

View File

@@ -82,24 +82,6 @@ def tftp_deploy_actions(job_definition: "LAVAJobDefinition", nfsrootfs) -> tuple
return (tftp_deploy,)
def qemu_deploy_actions(job_definition: "LAVAJobDefinition", nfsrootfs) -> tuple[dict[str, Any]]:
args = job_definition.job_submitter
qemu_deploy = {
"timeout": {"minutes": 5},
"to": "nfs",
"images": {
"kernel": {
"image_arg": "-kernel {kernel}",
"url": f"{args.kernel_url_prefix}/{args.kernel_image_name}",
},
"nfsrootfs": nfsrootfs,
},
}
job_definition.attach_external_modules(qemu_deploy)
return (qemu_deploy,)
def uart_test_actions(
args: "LAVAJobSubmitter", init_stage1_steps: list[str], artifact_download_steps: list[str]
) -> tuple[dict[str, Any]]:
@@ -158,16 +140,6 @@ def tftp_boot_action(args: "LAVAJobSubmitter") -> dict[str, Any]:
return tftp_boot
def qemu_boot_action(args: "LAVAJobSubmitter") -> dict[str, Any]:
qemu_boot = {
"failure_retry": NUMBER_OF_ATTEMPTS_LAVA_BOOT,
"method": args.boot_method,
"prompts": ["lava-shell:"],
}
return qemu_boot
def fastboot_boot_action(args: "LAVAJobSubmitter") -> dict[str, Any]:
fastboot_boot = {
"timeout": {"minutes": 2},

View File

@@ -104,7 +104,7 @@ rm -rf _build
meson setup _build \
--native-file=native.file \
--wrap-mode=nofallback \
--force-fallback-for perfetto,syn,paste \
--force-fallback-for perfetto,syn \
${CROSS+--cross "$CROSS_FILE"} \
-D prefix=$PWD/install \
-D libdir=lib \

View File

@@ -13,7 +13,7 @@ INSTALL="$PWD/install"
# Set up the driver environment.
export LD_LIBRARY_PATH="$INSTALL/lib/"
export EGL_PLATFORM=surfaceless
export VK_DRIVER_FILES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.${VK_CPU:-$(uname -m)}.json"
export VK_ICD_FILENAMES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.${VK_CPU:-$(uname -m)}.json"
RESULTS=$PWD/${PIGLIT_RESULTS_DIR:-results}
mkdir -p $RESULTS

View File

@@ -54,7 +54,7 @@ if [ -n "${VK_DRIVER}" ]; then
export DXVK_LOG="$RESULTS/dxvk"
[ -d "$DXVK_LOG" ] || mkdir -pv "$DXVK_LOG"
export DXVK_STATE_CACHE=0
export VK_DRIVER_FILES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.${VK_CPU:-$(uname -m)}.json"
export VK_ICD_FILENAMES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.${VK_CPU:-$(uname -m)}.json"
fi
# Sanity check to ensure that our environment is sufficient to make our tests
@@ -117,7 +117,7 @@ else
mkdir -p /tmp/.X11-unix
env \
VK_DRIVER_FILES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
VK_ICD_FILENAMES="/install/share/vulkan/icd.d/${VK_DRIVER}_icd.$(uname -m).json" \
weston -Bheadless-backend.so --use-gl -Swayland-0 --xwayland --idle-time=0 &
while [ ! -S "$WESTON_X11_SOCK" ]; do sleep 1; done
@@ -189,15 +189,6 @@ RUN_CMD="export LD_LIBRARY_PATH=$__LD_LIBRARY_PATH; $SANITY_MESA_VERSION_CMD &&
# run.
rm -rf replayer-db
# ANGLE: download compiled ANGLE runtime and the compiled restricted traces (all-in-one package)
if [ -n "$PIGLIT_REPLAY_ANGLE_TAG" ]; then
ARCH="amd64"
FILE="angle-bin-${ARCH}-${PIGLIT_REPLAY_ANGLE_TAG}.tar.zst"
ci-fairy s3cp $S3_ARGS "https://s3.freedesktop.org/mesa-tracie-private/${FILE}" "${FILE}"
mkdir -p replayer-db/angle
tar --zstd -xf ${FILE} -C replayer-db/angle/
fi
if ! eval $RUN_CMD;
then
printf "%s\n" "Found $(cat /tmp/version.txt), expected $MESA_VERSION"

View File

@@ -38,6 +38,7 @@ cp -Rp .gitlab-ci/fossilize-runner.sh install/
cp -Rp .gitlab-ci/crosvm-init.sh install/
cp -Rp .gitlab-ci/*.txt install/
cp -Rp .gitlab-ci/report-flakes.py install/
cp -Rp .gitlab-ci/valve install/
cp -Rp .gitlab-ci/vkd3d-proton install/
cp -Rp .gitlab-ci/setup-test-env.sh install/
cp -Rp .gitlab-ci/*-runner.sh install/

View File

@@ -10,7 +10,7 @@ export LD_LIBRARY_PATH=$LIBDIR
cd /usr/local/shader-db
for driver in freedreno intel lima v3d vc4; do
for driver in freedreno intel v3d vc4; do
section_start shader-db-${driver} "Running shader-db for $driver"
env LD_PRELOAD="$LIBDIR/lib${driver}_noop_drm_shim.so" \
./run -j"${FDO_CI_CONCURRENT:-4}" ./shaders \

View File

@@ -14,14 +14,6 @@ function x_off {
# TODO: implement x_on !
export JOB_START_S=$(date -u +"%s" -d "${CI_JOB_STARTED_AT:?}")
function get_current_minsec {
DATE_S=$(date -u +"%s")
CURR_TIME=$((DATE_S-JOB_START_S))
printf "%02d:%02d" $((CURR_TIME/60)) $((CURR_TIME%60))
}
function error {
x_off 2>/dev/null
RED="\e[0;31m"
@@ -29,7 +21,10 @@ function error {
# we force the following to be not in a section
section_end $CURRENT_SECTION
CURR_MINSEC=$(get_current_minsec)
DATE_S=$(date -u +"%s")
JOB_START_S=$(date -u +"%s" -d "${CI_JOB_STARTED_AT:?}")
CURR_TIME=$((DATE_S-JOB_START_S))
CURR_MINSEC="$(printf "%02d" $((CURR_TIME/60))):$(printf "%02d" $((CURR_TIME%60)))"
echo -e "\n${RED}[${CURR_MINSEC}] ERROR: $*${ENDCOLOR}\n"
[ "$state_x" -eq 0 ] || set -x
}
@@ -47,7 +42,10 @@ function build_section_start {
CYAN="\e[0;36m"
ENDCOLOR="\e[0m"
CURR_MINSEC=$(get_current_minsec)
DATE_S=$(date -u +"%s")
JOB_START_S=$(date -u +"%s" -d "${CI_JOB_STARTED_AT:?}")
CURR_TIME=$((DATE_S-JOB_START_S))
CURR_MINSEC="$(printf "%02d" $((CURR_TIME/60))):$(printf "%02d" $((CURR_TIME%60)))"
echo -e "\n\e[0Ksection_start:$(date +%s):$section_name$section_params\r\e[0K${CYAN}[${CURR_MINSEC}] $*${ENDCOLOR}\n"
}
@@ -89,7 +87,6 @@ function uncollapsed_section_switch {
}
export -f x_off
export -f get_current_minsec
export -f error
export -f trap_err
export -f build_section_start

View File

@@ -227,10 +227,7 @@
.lint-rustfmt-rules:
rules:
- !reference [.never-post-merge-rules, rules]
- !reference [.no_scheduled_pipelines-rules, rules]
- changes:
- .gitlab-ci.yml
- .gitlab-ci/**/*
- !reference [.core-rules, rules]
# in merge pipeline, formatting checks are not allowed to fail
- if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
changes: &rust_file_list
@@ -241,13 +238,3 @@
- changes: *rust_file_list
when: on_success
allow_failure: true
# Rules for .mr-label-maker.yml
.mr-label-maker-rules:
rules:
- !reference [.never-post-merge-rules, rules]
- !reference [.no_scheduled_pipelines-rules, rules]
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- .mr-label-maker.yml
when: on_success

View File

@@ -43,7 +43,7 @@ rustfmt:
- rustfmt --verbose src/**/lib.rs
- rustfmt --verbose src/**/main.rs
python-test:
.test-check:
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
stage: code-validation
@@ -52,6 +52,10 @@ python-test:
variables:
GIT_STRATEGY: fetch
timeout: 10m
python-test:
extends:
- .test-check
script:
- cd bin/ci
- pip install --break-system-packages -r test/requirements.txt
@@ -59,18 +63,8 @@ python-test:
rules:
- !reference [.disable-farm-mr-rules, rules]
- !reference [.never-post-merge-rules, rules]
- if: $CI_PIPELINE_SOURCE == "schedule"
when: on_success
- if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_NAMESPACE == "mesa" && $GITLAB_USER_LOGIN != "marge-bot"
when: on_success
- if: $GITLAB_USER_LOGIN == "marge-bot"
changes: &bin_ci_files
- .gitlab-ci.yml
- .gitlab-ci/**/*
- changes:
- bin/ci/**/*
when: on_success
- changes: *bin_ci_files
when: manual
.test-gl:
extends:
@@ -186,7 +180,11 @@ python-test:
paths:
- results/
.download_s3:
.baremetal-test:
extends:
- .test
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
before_script:
- !reference [default, before_script]
# Use this instead of gitlab's artifacts download because it hits packet.net
@@ -198,14 +196,6 @@ python-test:
- rm -rf install
- (set -x; curl -L --retry 4 -f --retry-all-errors --retry-delay 60 ${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${S3_ARTIFACT_NAME}.tar.zst | tar --zstd -x)
- section_end artifacts_download
.baremetal-test:
extends:
- .test
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
before_script:
- !reference [.download_s3, before_script]
variables:
BM_ROOTFS: /rootfs-${DEBIAN_ARCH}
artifacts:
@@ -407,7 +397,7 @@ python-test:
reports:
junit: results/**/junit.xml
.b2c-x86_64-test-vk:
.b2c-test-vk:
extends:
- .use-debian/x86_64_test-vk
- .b2c-test
@@ -416,7 +406,7 @@ python-test:
- debian-testing
- !reference [.required-for-hardware-jobs, needs]
.b2c-x86_64-test-gl:
.b2c-test-gl:
extends:
- .use-debian/x86_64_test-gl
- .b2c-test

View File

@@ -15,7 +15,7 @@ from typing import Generator
from unittest.mock import MagicMock, patch
import pytest
from lava.exceptions import MesaCIException, MesaCIRetryError, MesaCIFatalException
from lava.exceptions import MesaCIException, MesaCIRetryError
from lava.lava_job_submitter import (
DEVICE_HANGING_TIMEOUT_SEC,
NUMBER_OF_RETRIES_TIMEOUT_DETECTION,
@@ -24,7 +24,6 @@ from lava.lava_job_submitter import (
bootstrap_log_follower,
follow_job_execution,
retriable_follow_job,
wait_for_job_get_started,
)
from lava.utils import LogSectionType
@@ -84,7 +83,7 @@ def lava_job_submitter(
def test_submit_and_follow_respects_exceptions(mock_sleep, mock_proxy, exception):
with pytest.raises(MesaCIException):
proxy = mock_proxy(side_effect=exception)
job = LAVAJob(proxy, "")
job = LAVAJob(proxy, '')
log_follower = bootstrap_log_follower()
follow_job_execution(job, log_follower)
@@ -166,13 +165,21 @@ PROXY_SCENARIOS = {
mock_logs(result="pass"),
does_not_raise(),
"pass",
{"testsuite_results": [generate_testsuite_result(result="pass")]},
{
"testsuite_results": [
generate_testsuite_result(result="pass")
]
},
),
"no retries, but testsuite fails": (
mock_logs(result="fail"),
does_not_raise(),
"fail",
{"testsuite_results": [generate_testsuite_result(result="fail")]},
{
"testsuite_results": [
generate_testsuite_result(result="fail")
]
},
),
"no retries, one testsuite fails": (
generate_n_logs(n=1, tick_fn=0, result="fail"),
@@ -181,7 +188,7 @@ PROXY_SCENARIOS = {
{
"testsuite_results": [
generate_testsuite_result(result="fail"),
generate_testsuite_result(result="pass"),
generate_testsuite_result(result="pass")
]
},
),
@@ -258,27 +265,6 @@ def test_simulate_a_long_wait_to_start_a_job(
assert delta_time.total_seconds() >= wait_time
LONG_LAVA_QUEUE_SCENARIOS = {
"no_time_to_run": (0, pytest.raises(MesaCIFatalException)),
"enough_time_to_run": (9999999999, does_not_raise()),
}
@pytest.mark.parametrize(
"job_timeout, expectation",
LONG_LAVA_QUEUE_SCENARIOS.values(),
ids=LONG_LAVA_QUEUE_SCENARIOS.keys(),
)
def test_wait_for_job_get_started_no_time_to_run(monkeypatch, job_timeout, expectation):
monkeypatch.setattr("lava.lava_job_submitter.CI_JOB_TIMEOUT_SEC", job_timeout)
job = MagicMock()
# Make it escape the loop
job.is_started.side_effect = (False, False, True)
with expectation as e:
wait_for_job_get_started(job, 1)
if e:
job.cancel.assert_called_with()
CORRUPTED_LOG_SCENARIOS = {
"too much subsequent corrupted data": (
@@ -452,7 +438,9 @@ def test_job_combined_status(
"lava.lava_job_submitter.retriable_follow_job"
) as mock_retriable_follow_job, patch(
"lava.lava_job_submitter.LAVAJobSubmitter._LAVAJobSubmitter__prepare_submission"
) as mock_prepare_submission, patch("sys.exit"):
) as mock_prepare_submission, patch(
"sys.exit"
):
from lava.lava_job_submitter import STRUCTURAL_LOG
mock_retriable_follow_job.return_value = MagicMock(status=finished_job_status)

View File

@@ -0,0 +1,87 @@
#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -ex
if [[ -z "$VK_DRIVER" ]]; then
exit 1
fi
# Useful debug output, you rarely know what envirnoment you'll be
# running in within container-land, this can be a landmark.
ls -l
INSTALL=$(realpath -s "$PWD"/install)
RESULTS=$(realpath -s "$PWD"/results)
# Set up the driver environment.
# Modifiying here directly LD_LIBRARY_PATH may cause problems when
# using a command wrapper. Hence, we will just set it when running the
# command.
export __LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL/lib/"
# Sanity check to ensure that our environment is sufficient to make our tests
# run against the Mesa built by CI, rather than any installed distro version.
MESA_VERSION=$(sed 's/\./\\./g' "$INSTALL/VERSION")
# Force the stdout and stderr streams to be unbuffered in python.
export PYTHONUNBUFFERED=1
# Set the Vulkan driver to use.
export VK_ICD_FILENAMES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.x86_64.json"
if [ "${VK_DRIVER}" = "radeon" ]; then
# Disable vsync
export MESA_VK_WSI_PRESENT_MODE=mailbox
export vblank_mode=0
fi
# Set environment for Wine.
export WINEDEBUG="-all"
export WINEPREFIX="/dxvk-wine64"
export WINEESYNC=1
# Wait for amdgpu to be fully loaded
sleep 1
# Avoid having to perform nasty command pre-processing to insert the
# wine executable in front of the test executables. Instead, use the
# kernel's binfmt support to automatically use Wine as an interpreter
# when asked to load PE executables.
# TODO: Have boot2container mount this filesystem for all jobs?
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
echo ':DOSWin:M::MZ::/usr/bin/wine64:' > /proc/sys/fs/binfmt_misc/register
# Set environment for DXVK.
export DXVK_LOG_LEVEL="info"
export DXVK_LOG="$RESULTS/dxvk"
[ -d "$DXVK_LOG" ] || mkdir -pv "$DXVK_LOG"
export DXVK_STATE_CACHE=0
# Set environment for replaying traces.
export PATH="/apitrace-msvc-win64/bin:/gfxreconstruct/build/bin:$PATH"
SANITY_MESA_VERSION_CMD="vulkaninfo"
# Set up the Window System Interface (WSI)
# TODO: Can we get away with GBM?
if [ "${TEST_START_XORG:-0}" -eq 1 ]; then
"$INSTALL"/common/start-x.sh "$INSTALL"
export DISPLAY=:0
fi
wine64 --version
SANITY_MESA_VERSION_CMD="$SANITY_MESA_VERSION_CMD | tee /tmp/version.txt | grep \"Mesa $MESA_VERSION\(\s\|$\)\""
RUN_CMD="export LD_LIBRARY_PATH=$__LD_LIBRARY_PATH; $SANITY_MESA_VERSION_CMD"
set +e
if ! eval $RUN_CMD;
then
printf "%s\n" "Found $(cat /tmp/version.txt), expected $MESA_VERSION"
fi
set -e
# Just to be sure...
chmod +x ./valvetraces-run.sh
./valvetraces-run.sh

View File

@@ -23,7 +23,7 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL/lib/:/vkd3d-proton-tests/x64/"
MESA_VERSION=$(sed 's/\./\\./g' "$INSTALL/VERSION")
# Set the Vulkan driver to use.
export VK_DRIVER_FILES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.x86_64.json"
export VK_ICD_FILENAMES="$INSTALL/share/vulkan/icd.d/${VK_DRIVER}_icd.x86_64.json"
# Set environment for Wine.
export WINEDEBUG="-all"

View File

@@ -7,10 +7,6 @@ COPY mesa_deps_vulkan_sdk.ps1 C:\
RUN C:\mesa_deps_vulkan_sdk.ps1
COPY mesa_init_msvc.ps1 C:\
COPY mesa_deps_libva.ps1 C:\
RUN C:\mesa_deps_libva.ps1
COPY mesa_deps_build.ps1 C:\
RUN C:\mesa_deps_build.ps1

View File

@@ -14,9 +14,6 @@ RUN C:\mesa_deps_rust.ps1
COPY mesa_init_msvc.ps1 C:\
COPY mesa_deps_libva.ps1 C:\
RUN C:\mesa_deps_libva.ps1
COPY mesa_deps_test_piglit.ps1 C:\
RUN C:\mesa_deps_test_piglit.ps1
COPY mesa_deps_test_deqp.ps1 c:\

View File

@@ -1,4 +1,4 @@
# VK_DRIVER_FILES environment variable is not used when running with
# VK_ICD_FILENAMES environment variable is not used when running with
# elevated privileges. Add a key to the registry instead.
$hkey_path = "HKLM:\SOFTWARE\Khronos\Vulkan\Drivers\"
$hkey_name = Join-Path -Path $pwd -ChildPath "_install\share\vulkan\icd.d\dzn_icd.x86_64.json"

View File

@@ -84,6 +84,4 @@ Copy-Item ".\.gitlab-ci\windows\spirv2dxil_run.ps1" -Destination $installdir
Copy-Item ".\.gitlab-ci\windows\deqp_runner_run.ps1" -Destination $installdir
Copy-Item ".\.gitlab-ci\windows\vainfo_run.ps1" -Destination $installdir
Get-ChildItem -Recurse -Filter "ci" | Get-ChildItem -Include "*.txt","*.toml" | Copy-Item -Destination $installdir

View File

@@ -12,7 +12,7 @@ $depsInstallPath="C:\mesa-deps"
Get-Date
Write-Host "Cloning DirectX-Headers"
git clone -b v1.613.1 --depth=1 https://github.com/microsoft/DirectX-Headers deps/DirectX-Headers
git clone -b v1.611.0 --depth=1 https://github.com/microsoft/DirectX-Headers deps/DirectX-Headers
if (!$?) {
Write-Host "Failed to clone DirectX-Headers repository"
Exit 1
@@ -32,17 +32,16 @@ if (!$buildstatus) {
Get-Date
Write-Host "Cloning zlib"
git clone -b v1.3.1 --depth=1 https://github.com/madler/zlib deps/zlib
git clone -b v1.2.13 --depth=1 https://github.com/madler/zlib deps/zlib
if (!$?) {
Write-Host "Failed to clone zlib repository"
Exit 1
}
Write-Host "Downloading zlib meson build files"
Invoke-WebRequest -Uri "https://wrapdb.mesonbuild.com/v2/zlib_1.3.1-1/get_patch" -OutFile deps/zlib.zip
Invoke-WebRequest -Uri "https://wrapdb.mesonbuild.com/v2/zlib_1.2.13-1/get_patch" -OutFile deps/zlib.zip
Expand-Archive -Path deps/zlib.zip -Destination deps/zlib
# Wrap archive puts build files in a version subdir
robocopy deps/zlib/zlib-1.3.1 deps/zlib /E
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path deps/zlib/zlib-1.3.1
Move-Item deps/zlib/zlib-1.2.13/* deps/zlib
$zlib_build = New-Item -ItemType Directory -Path ".\deps\zlib" -Name "build"
Push-Location -Path $zlib_build.FullName
meson .. --backend=ninja -Dprefix="$depsInstallPath" --default-library=static --buildtype=release -Db_vscrt=mt && `
@@ -55,6 +54,35 @@ if (!$buildstatus) {
Exit 1
}
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 df3c584bb79d1a1e521372d62fa62e8b1c52ce6c"
# libva-win32 is released with libva version 2.17 (see https://github.com/intel/libva/releases/tag/2.17.0)
git checkout 2.17.0
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
Write-Host "Cloning LLVM release/15.x"
git clone -b release/15.x --depth=1 https://github.com/llvm/llvm-project deps/llvm-project

View File

@@ -8,7 +8,7 @@ $depsInstallPath="C:\mesa-deps"
Write-Host "Downloading DirectX 12 Agility SDK at:"
Get-Date
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Direct3D.D3D12/1.613.2 -OutFile 'agility.zip'
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Direct3D.D3D12/1.610.2 -OutFile 'agility.zip'
Expand-Archive -Path 'agility.zip' -DestinationPath 'C:\agility'
# Copy Agility SDK into mesa-deps\bin\D3D12
New-Item -ErrorAction SilentlyContinue -ItemType Directory -Path $depsInstallPath\bin -Name 'D3D12'
@@ -18,7 +18,7 @@ Remove-Item -Recurse 'C:\agility'
Write-Host "Downloading Updated WARP at:"
Get-Date
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Direct3D.WARP/1.0.11 -OutFile 'warp.zip'
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Direct3D.WARP/1.0.9 -OutFile 'warp.zip'
Expand-Archive -Path 'warp.zip' -DestinationPath 'C:\warp'
# Copy WARP into mesa-deps\bin
Copy-Item 'C:\warp\build\native\amd64\d3d10warp.dll' -Destination $depsInstallPath\bin
@@ -27,7 +27,7 @@ Remove-Item -Recurse 'C:\warp'
Write-Host "Downloading DirectXShaderCompiler release at:"
Get-Date
Invoke-WebRequest -Uri https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.8.2403/dxc_2024_03_07.zip -OutFile 'DXC.zip'
Invoke-WebRequest -Uri https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.7.2207/dxc_2022_07_18.zip -OutFile 'DXC.zip'
Expand-Archive -Path 'DXC.zip' -DestinationPath 'C:\DXC'
# No more need to get dxil.dll from the VS install
Copy-Item 'C:\DXC\bin\x64\*.dll' -Destination 'C:\Windows\System32'

View File

@@ -1,79 +0,0 @@
# Compiling libva/libva-utils deps
$ProgressPreference = "SilentlyContinue"
$MyPath = $MyInvocation.MyCommand.Path | Split-Path -Parent
. "$MyPath\mesa_init_msvc.ps1"
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "deps" | Out-Null
$depsInstallPath="C:\mesa-deps"
Write-Host "Cloning libva at:"
Get-Date
git clone https://github.com/intel/libva.git deps/libva
if (!$?) {
Write-Host "Failed to clone libva repository"
Exit 1
}
Write-Host "Cloning libva finished at:"
Get-Date
Write-Host "Building libva at:"
Get-Date
Push-Location -Path ".\deps\libva"
Write-Host "Checking out libva..."
git checkout 2.21.0
Pop-Location
# 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
}
Write-Host "Building libva finished at:"
Get-Date
Write-Host "Cloning libva-utils at:"
Get-Date
git clone https://github.com/intel/libva-utils.git deps/libva-utils
if (!$?) {
Write-Host "Failed to clone libva-utils repository"
Exit 1
}
Write-Host "Cloning libva-utils finished at:"
Get-Date
Write-Host "Building libva-utils at:"
Get-Date
Push-Location -Path ".\deps\libva-utils"
Write-Host "Checking out libva-utils..."
git checkout 2.21.0
Pop-Location
Write-Host "Building libva-utils"
# libva-utils already has a build dir in their repo, use builddir instead
$libva_utils_build = New-Item -ItemType Directory -Path ".\deps\libva-utils" -Name "builddir"
Push-Location -Path $libva_utils_build.FullName
meson .. -Dprefix="$depsInstallPath" --pkg-config-path="$depsInstallPath\lib\pkgconfig;$depsInstallPath\share\pkgconfig"
ninja -j32 install
$buildstatus = $?
Pop-Location
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path $libva_utils_build
if (!$buildstatus) {
Write-Host "Failed to compile libva-utils"
Exit 1
}
Write-Host "Building libva-utils finished at:"
Get-Date

View File

@@ -1,99 +0,0 @@
function Deploy-Dependencies {
param (
[string] $deploy_directory
)
Write-Host "Copying libva runtime and driver at:"
Get-Date
# Copy the VA runtime binaries from the mesa built dependencies so the versions match with the built mesa VA driver binary
$depsInstallPath="C:\mesa-deps"
Copy-Item "$depsInstallPath\bin\vainfo.exe" -Destination "$deploy_directory\vainfo.exe"
Copy-Item "$depsInstallPath\bin\va_win32.dll" -Destination "$deploy_directory\va_win32.dll"
Copy-Item "$depsInstallPath\bin\va.dll" -Destination "$deploy_directory\va.dll"
# Copy Agility SDK into D3D12 subfolder of vainfo
New-Item -ItemType Directory -Force -Path "$deploy_directory\D3D12" | Out-Null
Copy-Item "$depsInstallPath\bin\D3D12\D3D12Core.dll" -Destination "$deploy_directory\D3D12\D3D12Core.dll"
Copy-Item "$depsInstallPath\bin\D3D12\d3d12SDKLayers.dll" -Destination "$deploy_directory\D3D12\d3d12SDKLayers.dll"
# Copy WARP next to vainfo
Copy-Item "$depsInstallPath\bin\d3d10warp.dll" -Destination "$deploy_directory\d3d10warp.dll"
Write-Host "Copying libva runtime and driver finished at:"
Get-Date
}
function Check-VAInfo-Entrypoint {
param (
[string] $vainfo_app_path,
[string] $entrypoint
)
$vainfo_run_cmd = "$vainfo_app_path --display win32 --device 0 2>&1 | Select-String $entrypoint -Quiet"
Write-Host "Running: $vainfo_run_cmd"
$vainfo_ret_code= Invoke-Expression $vainfo_run_cmd
if (-not($vainfo_ret_code)) {
return 0
}
return 1
}
# Set testing environment variables
$successful_run=1
$testing_dir="$PWD\_install\bin" # vaon12_drv_video.dll is placed on this directory by the build
$vainfo_app_path = "$testing_dir\vainfo.exe"
# Deploy vainfo and dependencies
Deploy-Dependencies -deploy_directory $testing_dir
# Set VA runtime environment variables
$env:LIBVA_DRIVER_NAME="vaon12"
$env:LIBVA_DRIVERS_PATH="$testing_dir"
Write-Host "LIBVA_DRIVER_NAME: $env:LIBVA_DRIVER_NAME"
Write-Host "LIBVA_DRIVERS_PATH: $env:LIBVA_DRIVERS_PATH"
# Check video processing entrypoint is supported
# Inbox WARP/D3D12 supports this entrypoint with VA frontend shaders support (e.g no video APIs support required)
$entrypoint = "VAEntrypointVideoProc"
# First run without app verifier
Write-Host "Disabling appverifier for $vainfo_app_path and checking for the presence of $entrypoint supported..."
appverif.exe /disable * -for "$vainfo_app_path"
$result_without_appverifier = Check-VAInfo-Entrypoint -vainfo_app_path $vainfo_app_path -entrypoint $entrypoint
if ($result_without_appverifier -eq 1) {
Write-Host "Process exited successfully."
} else {
$successful_run=0
Write-Error "Process exit not successful for $vainfo_run_cmd. Please see vainfo verbose output below for diagnostics..."
# verbose run to print more info on error (helpful to investigate issues from the CI output)
Invoke-Expression "$vainfo_app_path -a --display win32 --device help"
Invoke-Expression "$vainfo_app_path -a --display win32 --device 0"
}
# Enable appverif and run again
Write-Host "Enabling appverifier for $vainfo_app_path and checking for the presence of $entrypoint supported..."
appverif.exe /logtofile enable
appverif.exe /verify "$vainfo_app_path"
appverif.exe /enable "Leak" -for "$vainfo_app_path"
$verifier_log_path="$testing_dir\vainfo_appverif_log.xml"
$result_with_appverifier = Check-VAInfo-Entrypoint -vainfo_app_path $vainfo_app_path -entrypoint $entrypoint
if ($result_with_appverifier -eq 1) {
Write-Host "Process exited successfully."
appverif.exe /logtofile disable
} else {
Write-Host "Process failed. Please see Application Verifier log contents below."
# Need to wait for appverif to exit before gathering log
Start-Process -Wait -FilePath "appverif.exe" -ArgumentList "-export", "log", "-for", "$vainfo_app_path", "-with", "to=$verifier_log_path"
Get-Content $verifier_log_path
Write-Error "Process exit not successful for $vainfo_run_cmd."
appverif.exe /logtofile disable
$successful_run=0
}
if ($successful_run -ne 1) {
Exit 1
}

View File

@@ -88,7 +88,7 @@ issues:
'bisected': 'bisected'
'coverity': 'coverity'
'deqp': 'deqp'
'feature request': 'feature request'
'feature request': 'feature_request'
'haiku' : 'haiku'
'regression': 'regression'
@@ -113,11 +113,8 @@ merge_requests:
paths:
'^.gitlab/issue_templates/' : ['docs']
'^.gitlab-ci' : ['CI']
'^.*/gitlab-ci(-inc)?.yml' : ['CI']
'^.*/ci/deqp-.*\.toml' : ['CI']
'^.*/ci/.*-(fails|flakes|skips)\.txt' : ['CI']
'^.*/ci/(restricted-)?traces-.*\.yml' : ['CI']
'^.*/ci/.*-validation-settings\.txt' : ['CI']
'^.*/gitlab-ci.yml' : ['CI']
'^.*/ci/' : ['CI']
'^.gitlab-ci/windows/' : ['Windows']
'^bin/__init__.py$' : ['maintainer-scripts']
'^bin/gen_release_notes' : ['maintainer-scripts']

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
24.1.0-rc2
24.1.0-devel

View File

@@ -289,8 +289,7 @@ def parse_args() -> None:
parser.add_argument(
"--target",
metavar="target-job",
help="Target job regex. For multiple targets, pass multiple values, "
"eg. `--target foo bar`.",
help="Target job regex. For multiple targets, separate with pipe | character",
required=True,
nargs=argparse.ONE_OR_MORE,
)

View File

@@ -1,26 +0,0 @@
# For performance reasons we don't use a lock here and reading
# a stale value is of no consequence
fun:util_queue_fence_is_signalled
# We also have to blacklist this function, because otherwise tsan will
# still report the unlocked read above
fun:util_queue_fence_signal
# lavapipe:
# Same as above for perf reasons the fence signal value is is read without
# lock
fun:lp_fence_signalled
fun:lp_fence_signal
# gallium/tc
# Keeping track of tc->last_completed is an optimization and it is of no
# consequence to read a stale value there, so surpress the warning about the
# race condition
fun:tc_batch_execute
# This is a debug feature and ATM it is simpler to surpress the race warning
fun:tc_set_driver_thread
# vulkan/runtime
# Even with the data race the returned value is always the same
fun:get_max_abs_timeout_ns

View File

@@ -33,9 +33,9 @@ Then, create your Meson cross file to use it, something like this
pkgconfig = ['env', 'PKG_CONFIG_LIBDIR=NDKDIR/pkgconfig', '/usr/bin/pkg-config']
[host_machine]
system = 'android'
system = 'linux'
cpu_family = 'arm'
cpu = 'aarch64'
cpu = 'armv8'
endian = 'little'
Now, use that cross file for your Android build directory (as in this
@@ -66,7 +66,6 @@ driver development, we need to unlock the device and remount
adb disable-verity
adb reboot
adb remount -R
adb remount
Now you can replace drivers as in:
@@ -75,13 +74,8 @@ Now you can replace drivers as in:
adb push build-android-aarch64/src/freedreno/vulkan/libvulkan_freedreno.so /vendor/lib64/hw/vulkan.sdm710.so
Note this command doesn't quite work because libvulkan wants the
SONAME to match. You can use ``patchelf`` to fix this:
.. code-block:: sh
cp build-android-aarch64/src/freedreno/vulkan/libvulkan_freedreno.so /tmp/vulkan.sdm710.so
patchelf --set-soname vulkan.sdm710.so /tmp/vulkan.sdm710.so
adb push /tmp/vulkan.sdm710.so /vendor/lib64/hw/
SONAME to match. For now, in turnip we have been using a hack to the
meson.build to change the SONAME.
Replacing Android drivers on Chrome OS
--------------------------------------

View File

@@ -305,12 +305,6 @@ The ``--target`` argument takes a regex that you can use to select the
jobs names you want to run, eg. ``--target 'zink.*'`` will run all the
zink jobs, leaving the other drivers' jobs free for others to use.
Note that in fork pipelines, GitLab only adds the jobs for the files that have
changed **since the last push**, so you might not get the jobs you expect.
You can work around that by adding a dummy change in a file core to what you're
working on and then making a new push with that change, and removing that change
before you create the MR.
Conformance Tests
-----------------

View File

@@ -7,37 +7,26 @@ Debugging
Here are a few environment variable debug environment variables
specific to ANV:
.. envvar:: ANV_ENABLE_PIPELINE_CACHE
:envvar:`ANV_ENABLE_PIPELINE_CACHE`
If defined to ``0`` or ``false``, this will disable pipeline
caching, forcing ANV to reparse and recompile any VkShaderModule
(SPIRV) it is given.
.. envvar:: ANV_DISABLE_SECONDARY_CMD_BUFFER_CALLS
:envvar:`ANV_DISABLE_SECONDARY_CMD_BUFFER_CALLS`
If defined to ``1`` or ``true``, this will prevent usage of self
modifying command buffers to implement ``vkCmdExecuteCommands``. As
a result of this, it will also disable :ext:`VK_KHR_performance_query`.
.. envvar:: ANV_ALWAYS_BINDLESS
:envvar:`ANV_ALWAYS_BINDLESS`
If defined to ``1`` or ``true``, this forces all descriptor sets to
use the internal `Bindless model`_.
.. envvar:: ANV_QUEUE_THREAD_DISABLE
:envvar:`ANV_QUEUE_THREAD_DISABLE`
If defined to ``1`` or ``true``, this disables support for timeline
semaphores.
.. envvar:: ANV_USERSPACE_RELOCS
:envvar:`ANV_USERSPACE_RELOCS`
If defined to ``1`` or ``true``, this forces ANV to always do
kernel relocations in command buffers. This should only have an
effect on hardware that doesn't support soft-pinning (Ivybridge,
Haswell, Cherryview).
.. envvar:: ANV_PRIMITIVE_REPLICATION_MAX_VIEWS
:envvar:`ANV_PRIMITIVE_REPLICATION_MAX_VIEWS`
Specifies up to how many view shaders can be lowered to handle
:ext:`VK_KHR_multiview`. Beyond this number, multiview is implemented
using instanced rendering. If unspecified, the value default to

View File

@@ -361,7 +361,3 @@ concepts used in PowerVR GPUs appear in AGX.
Pixel BackEnd
Hardware unit which writes to color attachements and images. Also the
name for a descriptor passed to :term:`PBE` instructions.
UVS
Unified Vertex Store
Hardware unit which buffers the outputs of the vertex shader (varyings).

View File

@@ -406,8 +406,7 @@ capture from inside Mesa. Different ``FD_RD_DUMP`` options are available:
until disabled. Writing 0 (or any other value) will disable dumps.
Output dump files and trigger file (when enabled) are hard-coded to be placed
under ``/tmp``, or ``/data/local/tmp`` under Android. `FD_RD_DUMP_TESTNAME` can
be used to specify a more descriptive prefix for the output or trigger files.
under ``/tmp``, or ``/data/local/tmp`` under Android.
Functionality is generic to any Freedreno-based backend, but is currently only
integrated in the MSM backend of Turnip. Using the existing ``TU_DEBUG=rd``
@@ -432,7 +431,7 @@ The format of hangrd is the same as in ordinary command stream capture.
Replaying Command Stream
^^^^^^^^^^^^^^^^^^^^^^^^
``replay`` tool allows capturing and replaying ``rd`` to reproduce GPU faults.
`replay` tool allows capturing and replaying ``rd`` to reproduce GPU faults.
Especially useful for transient GPU issues since it has much higher chances to
reproduce them.
@@ -441,7 +440,7 @@ Dumping rendering results or even just memory is currently unsupported.
- Replaying command streams requires kernel with ``MSM_INFO_SET_IOVA`` support.
- Requires ``rd`` capture to have full snapshots of the memory (``rd_full`` is enabled).
Replaying is done via ``replay`` tool:
Replaying is done via `replay` tool:
.. code-block:: sh
@@ -455,7 +454,7 @@ More examples:
.. code-block:: sh
./replay --override=0 test_replay.rd
./replay --override=0 --generator=./generate_rd test_replay.rd
Editing Command Stream (a6xx+)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -468,7 +467,7 @@ Given the address space bounds the generated program creates a new ``rd`` which
could be used to override cmdstream with 'replay'. Generated ``rd`` is not replayable
on its own and depends on buffers provided by the source ``rd``.
C source could be compiled by putting it into src/freedreno/decode/generate-rd.cc.
C source could be compiled using rdcompiler-meson.build as an example.
The workflow would look like this:
@@ -477,15 +476,15 @@ The workflow would look like this:
.. code-block:: sh
./rddecompiler -s %cmd_stream_n% example.rd > src/freedreno/decode/generate-rd.cc
./rddecompiler -s %cmd_stream_n% example.rd > generate_rd.c
3. Edit the command stream;;
4. Compile and deploy freedreno tools;
3. Edit the command stream;
4. Compile it back, see rdcompiler-meson.build for the instructions;
5. Plug the generator into cmdstream replay:
.. code-block:: sh
./replay --override=%cmd_stream_№%
./replay --override=%cmd_stream_№% --generator=~/generate_rd
6. Repeat 3-5.
@@ -630,9 +629,9 @@ the cases where stale data is read.
``renderpass``
stomp registers before each renderpass.
``inverse``
changes ``TU_DEBUG_STALE_REGS_RANGE`` meaning to
changes `TU_DEBUG_STALE_REGS_RANGE` meaning to
"regs that should NOT be stomped".
The best way to pinpoint the reg which causes a failure is to bisect the regs
range. In case when a fail is caused by combination of several registers
the ``inverse`` flag may be set to find the reg which prevents the failure.
the `inverse` flag may be set to find the reg which prevents the failure.

View File

@@ -27,8 +27,7 @@ Debugging
Here are a few environment variable debug environment variables
specific to NVK:
.. envvar:: NAK_DEBUG
:envvar:`NAK_DEBUG`:
a comma-separated list of named flags affecting the NVK back-end shader
compiler:
@@ -43,8 +42,7 @@ specific to NVK:
Adds extra annotation instructions to the IR to track information
from various compile passes
.. envvar:: NVK_DEBUG
:envvar:`NVK_DEBUG`:
a comma-separated list of named flags, which do various things:
``push``
@@ -59,8 +57,7 @@ specific to NVK:
``no_cbuf``
Disables automatic promotion of UBOs to constant buffers
.. envvar:: NVK_I_WANT_A_BROKEN_VULKAN_DRIVER
:envvar:`NVK_I_WANT_A_BROKEN_VULKAN_DRIVER`
If defined to ``1`` or ``true``, this will enable enumeration of all
GPUs Kepler and later, including GPUs for which hardware support is
poorly tested or completely broken. This is intended for developer use

View File

@@ -122,7 +122,7 @@ Building the Code
::
cd $TOP/mesa
meson builddir -Dvulkan-drivers= -Dgallium-drivers=svga -Ddri-drivers= -Dglvnd=enabled -Dglvnd-vendor-name=mesa
meson builddir -Dvulkan-drivers= -Dgallium-drivers=svga -Ddri-drivers= -Dglvnd=true -Dglvnd-vendor-name=mesa
meson compile -C builddir
sudo meson install -C builddir

View File

@@ -65,14 +65,14 @@ In another shell,
.. code-block:: sh
$ export VK_DRIVER_FILES=<path-to-virtio_icd.x86_64.json>
$ export VK_ICD_FILENAMES=<path-to-virtio_icd.x86_64.json>
$ export VN_DEBUG=vtest
$ vulkaninfo
$ vkcube
If the host driver of the system is not new enough, it is a good idea to build
the host driver as well when building the Venus driver. Just remember to set
:envvar:`VK_DRIVER_FILES` when starting the vtest server so that the vtest
:envvar:`VK_ICD_FILENAMES` when starting the vtest server so that the vtest
server finds the locally built host driver.
Virtio-GPU
@@ -99,7 +99,7 @@ This is how one might want to start crosvm
.. code-block:: sh
$ sudo LD_LIBRARY_PATH=<...> VK_DRIVER_FILES=<...> ./target/debug/crosvm run \
$ sudo LD_LIBRARY_PATH=<...> VK_ICD_FILENAMES=<...> ./target/debug/crosvm run \
--gpu vulkan=true \
--gpu-render-server path=<path-to-virglrenderer>/out/server/virgl_render_server \
--display-window-keyboard \

View File

@@ -328,20 +328,10 @@ Another useful tool for debugging is the `Vulkan Validation Layers
The validation layers effectively insert extra checking between Zink and the
Vulkan driver, pointing out incorrect usage of the Vulkan API. The layers can
be enabled by setting the environment variable :envvar:`VK_LOADER_LAYERS_ENABLE` to
``VK_LAYER_KHRONOS_validation``. You can read more about the Validation Layers
be enabled by setting the environment variable :envvar:`VK_INSTANCE_LAYERS` to
"VK_LAYER_KHRONOS_validation". You can read more about the Validation Layers
in the link above.
Apple macOS and MoltenVK
------------------------
Zink on macOS is experimental with very limited capabilities.
The Vulkan SDK (1.3.250 or newer) is required to build Zink.
Set the build option ``-Dmoltenvk-dir=<directory>`` to point at your Vulkan SDK install or MoltenVK build.
Add Zink to the Gallium drivers build option ``-Dgallium-drivers=zink``.
If installed using ``brew``, you can set ``-D moltenvk-dir=$(brew --prefix molten-vk)``.
IRC
---

View File

@@ -1,7 +1,7 @@
EGL
===
The current version of EGL in Mesa implements EGL 1.5. More information
The current version of EGL in Mesa implements EGL 1.4. More information
about EGL can be found at https://www.khronos.org/egl/.
The Mesa's implementation of EGL uses a driver architecture. The main
@@ -26,9 +26,10 @@ Build EGL
-D gles2=enabled \
-D gallium-drivers=...
The main EGL library and OpenGL are enabled by default. The two
``gles*`` options after enable :doc:`OpenGL ES 1.x and 2.x+
<opengles>`. The last option enables the listed Gallium drivers.
The main library and OpenGL is enabled by default. The first two
options above enables :doc:`OpenGL ES 1.x and 2.x <opengles>`. The
last two options enables the listed classic and Gallium drivers
respectively.
#. Build and install Mesa as usual.

View File

@@ -38,22 +38,6 @@ LibGL environment variables
disable DRI3 if set to ``true``.
.. envvar:: LIBGL_KOPPER_DISABLE
disable vulkan swapchains with zink if set to ``true``.
In general, this should not be used unless you know what you are
doing. Some examples of "knowing what you are doing" include:
- using a VK driver which has no WSI implementation for your display server
- profiling the DRI frontend against your VK driver's WSI implementation
.. envvar:: LIBGL_KOPPER_DRI2
disable DRI3 with zink if set to ``true``.
In general, this should not be used unless you know what you are
doing. Some examples of "knowing what you are doing" include:
- running xrdp
- using a VK driver which doesn't support modifiers
Core Mesa environment variables
-------------------------------
@@ -238,7 +222,7 @@ Core Mesa environment variables
referencing both the cache DB and its index file. E.g.
``MESA_DISK_CACHE_SINGLE_FILE=filename1`` refers to ``filename1.foz``
and ``filename1_idx.foz``. A limit of 8 DBs can be loaded and this limit
is shared with :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST`.
is shared with :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST.`
.. envvar:: MESA_DISK_CACHE_DATABASE
@@ -1279,8 +1263,6 @@ RADV driver environment variables
disable Delta Color Compression (DCC) on displayable images
``nodynamicbounds``
do not check OOB access for dynamic descriptors
``noeso``
disable VK_EXT_shader_object
``nofastclears``
disable fast color/depthstencil clears
``nofmask``
@@ -1293,6 +1275,8 @@ RADV driver environment variables
disable HIZ for depthstencil images
``noibs``
disable directly recording command buffers in GPU-visible memory
``nomemorycache``
disable memory shaders cache
``nomeshshader``
disable mesh shader support on GFX10.3+
``nongg``
@@ -1380,6 +1364,8 @@ RADV driver environment variables
enable wave64 for ray tracing shaders (GFX10-10.3)
``sam``
enable optimizations to move more driver internal objects to VRAM.
``shader_object``
enable experimental implementation of VK_EXT_shader_object
``transfer_queue``
enable experimental transfer queue support (GFX9+, not yet spec compliant)
``video_decode``
@@ -1803,7 +1789,7 @@ PowerVR driver environment variables
.. envvar:: PVR_DEBUG
A comma-separated list of debug options. Use ``PVR_DEBUG=help`` to
A comma-separated list of debug options. Use `PVR_DEBUG=help` to
print a list of available options.
.. envvar:: ROGUE_DEBUG
@@ -1858,40 +1844,3 @@ Freedreno driver environment variables
Other Gallium drivers have their own environment variables. These may
change frequently so the source code should be consulted for details.
Vulkan loader environment variables
-----------------------------------
These variable are handled by `Khronos' Vulkan loader
<https://github.com/KhronosGroup/Vulkan-Loader>`__, *not by Mesa*, but they
are documented here as we reference them in other places in our docs.
.. envvar:: VK_DRIVER_FILES
Force the loader to use the specific driver JSON files. The value contains
a list of delimited full path listings to driver JSON Manifest files
and/or paths to folders containing driver JSON files.
See `Vulkan loader docs on environment variables`_.
.. envvar:: VK_LOADER_LAYERS_ENABLE
A comma-delimited list of globs to search for in known layers and used to
select only the layers whose layer name matches one or more of the
provided globs.
Known layers are those which are found by the loader taking into account
default search paths and other environment variables (like VK_LAYER_PATH).
See `Vulkan loader docs on environment variables`_.
.. envvar:: VK_ICD_FILENAMES
`Deprecated`_, replaced by :envvar:`VK_DRIVER_FILES`.
.. envvar:: VK_INSTANCE_LAYERS
`Deprecated`_, replaced by :envvar:`VK_LOADER_LAYERS_ENABLE`.
.. _Vulkan loader docs on environment variables: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md#table-of-debug-environment-variables
.. _Deprecated: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md#deprecated-environment-variables

View File

@@ -422,7 +422,7 @@ Vulkan 1.0 -- all DONE: anv, dzn, lvp, nvk, radv, tu, v3dv, vn
Vulkan 1.1 -- all DONE: anv, lvp, nvk, radv, tu, vn
VK_KHR_16bit_storage DONE (anv, dzn, hasvk, lvp, nvk, radv, tu/a650+, v3dv, vn)
VK_KHR_16bit_storage DONE (anv, dzn, hasvk, lvp, nvk, radv, tu/a650, v3dv, vn)
VK_KHR_bind_memory2 DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_dedicated_allocation DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_descriptor_update_template DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
@@ -453,13 +453,13 @@ Vulkan 1.2 -- all DONE: anv, nvk, tu, vn
VK_KHR_create_renderpass2 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_depth_stencil_resolve DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_draw_indirect_count DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)
VK_KHR_driver_properties DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_driver_properties DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_image_format_list DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_imageless_framebuffer DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_separate_depth_stencil_layouts DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_atomic_int64 DONE (anv, lvp, nvk, radv, vn)
VK_KHR_shader_float16_int8 DONE (anv, dzn, nvk, hasvk, lvp, radv, tu, vn)
VK_KHR_shader_float16_int8 DONE (anv, dzn, hasvk, lvp, radv, tu, vn)
VK_KHR_shader_float_controls DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_subgroup_extended_types DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_KHR_spirv_1_4 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
@@ -503,7 +503,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_acceleration_structure DONE (anv/gfx12.5+, lvp, radv/gfx10.3+)
VK_KHR_android_surface not started
VK_KHR_calibrated_timestamps DONE (anv, nvk, radv)
VK_KHR_calibrated_timestamps DONE (anv, radv)
VK_KHR_cooperative_matrix DONE (anv, radv/gfx11+)
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv)
VK_KHR_display DONE (anv, nvk, pvr, radv, tu, v3dv)
@@ -521,11 +521,11 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_get_surface_capabilities2 DONE (anv, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_global_priority DONE (anv, radv, tu)
VK_KHR_incremental_present DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_index_type_uint8 DONE (anv, nvk, pvr, radv, tu, v3dv)
VK_KHR_index_type_uint8 DONE (anv, nvk, radv, tu, v3dv)
VK_KHR_line_rasterization DONE (anv, nvk, radv, tu, v3dv)
VK_KHR_load_store_op_none DONE (anv, nvk, radv, tu, v3dv)
VK_KHR_maintenance5 DONE (anv, lvp, nvk, radv, tu)
VK_KHR_maintenance6 DONE (anv, lvp, nvk, radv)
VK_KHR_maintenance6 DONE (anv, lvp)
VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv)
VK_KHR_pipeline_executable_properties DONE (anv, nvk, hasvk, radv, tu, v3dv)
VK_KHR_pipeline_library DONE (anv, lvp, nvk, radv, tu, vn)
@@ -533,17 +533,17 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_push_descriptor DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_KHR_ray_query DONE (anv/gfx12.5+, lvp, radv/gfx10.3+)
VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, radv/gfx10.3+)
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, lvp, radv/gfx10.3+)
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, radv/gfx10.3+)
VK_KHR_ray_tracing_position_fetch DONE (anv, radv/gfx10.3+)
VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, radv, vn)
VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_shader_maximal_reconvergence DONE (anv, lvp, nvk, radv)
VK_KHR_shader_subgroup_rotate DONE (anv, nvk, radv)
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, nvk, radv)
VK_KHR_shader_maximal_reconvergence DONE (lvp, radv)
VK_KHR_shader_subgroup_rotate DONE (anv, radv)
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, radv)
VK_KHR_shader_quad_control DONE (radv)
VK_KHR_shared_presentable_image not started
VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, v3dv, vn)
VK_KHR_swapchain DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_swapchain_mutable_format DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_vertex_attribute_divisor DONE (anv, nvk, radv, tu, v3dv)
@@ -558,7 +558,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_attachment_feedback_loop_layout DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_border_color_swizzle DONE (anv, hasvk, lvp, nvk, radv/gfx10+, tu, v3dv, vn)
VK_EXT_buffer_device_address DONE (anv, hasvk, nvk, radv)
VK_EXT_calibrated_timestamps DONE (anv, hasvk, nvk, lvp, radv, vn)
VK_EXT_calibrated_timestamps DONE (anv, hasvk, lvp, radv, vn)
VK_EXT_color_write_enable DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_conditional_rendering DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_conservative_rasterization DONE (anv, radv, vn)
@@ -570,7 +570,6 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_depth_clip_enable DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_depth_range_unrestricted DONE (anv/gen20+, radv, lvp)
VK_EXT_descriptor_buffer DONE (anv, lvp, radv, tu)
VK_EXT_device_address_binding_report DONE (radv)
VK_EXT_device_fault DONE (radv)
VK_EXT_device_memory_report DONE (vn)
VK_EXT_direct_mode_display DONE (anv, lvp, nvk, radv, tu, v3dv)
@@ -580,9 +579,9 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_dynamic_rendering_unused_attachments DONE (anv, nvk, radv, vn)
VK_EXT_extended_dynamic_state3 DONE (anv, lvp, nvk, radv, tu, vn)
VK_EXT_external_memory_acquire_unmodified DONE (radv)
VK_EXT_external_memory_dma_buf DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_external_memory_dma_buf DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_external_memory_host DONE (anv, hasvk, lvp, radv)
VK_EXT_filter_cubic DONE (tu/a650+)
VK_EXT_filter_cubic DONE (tu/a650)
VK_EXT_fragment_shader_interlock DONE (anv, radv/gfx9+, vn)
VK_EXT_global_priority DONE (anv, hasvk, radv, tu)
VK_EXT_global_priority_query DONE (anv, hasvk, radv, tu)
@@ -593,7 +592,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_image_drm_format_modifier DONE (anv, hasvk, radv/gfx9+, tu, v3dv, vn)
VK_EXT_image_sliced_view_of_3d DONE (anv, nvk, radv/gfx10+)
VK_EXT_image_view_min_lod DONE (anv, hasvk, nvk, radv, tu, vn)
VK_EXT_index_type_uint8 DONE (anv, hasvk, nvk, lvp, panvk, pvr, radv/gfx8+, tu, v3dv, vn)
VK_EXT_index_type_uint8 DONE (anv, hasvk, nvk, lvp, panvk, radv/gfx8+, tu, v3dv, vn)
VK_EXT_line_rasterization DONE (anv, hasvk, nvk, lvp, radv, tu, v3dv, vn)
VK_EXT_load_store_op_none DONE (anv, nvk, radv, tu, v3dv, vn)
VK_EXT_memory_budget DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
@@ -601,44 +600,44 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_mesh_shader DONE (anv/gfx12.5+, lvp, radv)
VK_EXT_multi_draw DONE (anv, hasvk, lvp, nvk, radv, tu, vn, v3dv)
VK_EXT_multisampled_render_to_single_sampled DONE (lvp)
VK_EXT_nested_command_buffer DONE (anv, lvp, nvk, radv)
VK_EXT_nested_command_buffer DONE (anv, lvp)
VK_EXT_non_seamless_cube_map DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_pageable_device_local_memory DONE (lvp)
VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn)
VK_EXT_physical_device_drm DONE (anv, hasvk, nvk, radv, tu, v3dv, vn)
VK_EXT_pipeline_library_group_handles DONE (anv, radv)
VK_EXT_pipeline_robustness DONE (anv, radv, v3dv)
VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, radv/gfx10+, tu)
VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, radv/gfx10+)
VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_provoking_vertex DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_queue_family_foreign DONE (anv, hasvk, lvp, radv, tu, vn)
VK_EXT_queue_family_foreign DONE (anv, hasvk, radv, tu, vn)
VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn)
VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_sample_locations DONE (anv, hasvk, nvk, radv/gfx9-, tu/a650+)
VK_EXT_sample_locations DONE (anv, hasvk, nvk, radv/gfx9-, tu/a650)
VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv)
VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv)
VK_EXT_shader_image_atomic_int64 DONE (nvk, radv)
VK_EXT_shader_object DONE (lvp, nvk, radv)
VK_EXT_shader_object DONE (lvp, nvk)
VK_EXT_shader_stencil_export DONE (anv, lvp, radv, tu, vn)
VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv)
VK_EXT_shader_module_identifier DONE (anv, hasvk, nvk, radv, tu, v3dv)
VK_EXT_surface_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv)
VK_EXT_swapchain_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv)
VK_EXT_surface_maintenance1 DONE (nvk, radv)
VK_EXT_swapchain_maintenance1 DONE (nvk, radv)
VK_EXT_transform_feedback DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_vertex_input_dynamic_state DONE (anv, lvp, nvk, radv, tu, vn)
VK_EXT_ycbcr_image_arrays DONE (anv, hasvk, lvp, nvk, radv)
VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, radv, vn)
VK_ANDROID_native_buffer DONE (anv, radv, tu, v3dv, vn)
VK_GOOGLE_decorate_string DONE (anv, hasvk, lvp, nvk, radv, tu)
VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, nvk, radv, tu)
VK_GOOGLE_user_type DONE (anv, hasvk, nvk, radv, tu)
VK_IMG_filter_cubic DONE (tu/a650+)
VK_GOOGLE_decorate_string DONE (anv, hasvk, lvp, radv)
VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, lvp, radv)
VK_GOOGLE_user_type DONE (anv, hasvk, radv)
VK_IMG_filter_cubic DONE (tu/a650)
VK_NV_compute_shader_derivatives DONE (anv, hasvk, radv)
VK_EXT_acquire_drm_display DONE (anv, nvk, radv, tu, v3dv)
VK_VALVE_mutable_descriptor_type DONE (anv, hasvk, nvk, radv, tu, vn)
VK_VALVE_mutable_descriptor_type DONE (anv, hasvk, radv, tu, vn)
VK_AMD_buffer_marker DONE (anv, radv, tu)
VK_AMD_device_coherent_memory DONE (radv)
VK_AMD_draw_indirect_count DONE (radv)
@@ -659,7 +658,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_AMD_texture_gather_bias_lod DONE (anv, radv)
VK_ARM_rasterization_order_attachment_access DONE (lvp, tu)
VK_EXT_mutable_descriptor_type DONE (anv, lvp, nvk, radv, tu, vn)
VK_EXT_swapchain_colorspace DONE (anv, lvp, nvk, radv, tu, v3dv)
VK_EXT_swapchain_colorspace DONE (anv, nvk, radv, tu)
VK_EXT_depth_clamp_zero_one DONE (anv, radv)
VK_INTEL_shader_integer_functions2 DONE (anv, hasvk, radv)
VK_KHR_map_memory2 DONE (anv, nvk, radv, tu)

View File

@@ -893,7 +893,7 @@ This function allows frontends to query kernel information defined inside
get_compute_state_subgroup_size
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This function returns the choosen subgroup size when ``launch_grid`` is
This function returns the choosen subgroup size when `launch_grid` is
called with the given block size. This doesn't need to be implemented when
only one size is reported through ``PIPE_COMPUTE_CAP_SUBGROUP_SIZES`` or
``pipe_compute_state_object_info::simd_sizes``.

View File

@@ -545,6 +545,7 @@ The integer capabilities:
* ``PIPE_CAP_DEST_SURFACE_SRGB_CONTROL``: Indicates whether the drivers
supports switching the format between sRGB and linear for a surface that is
used as destination in draw and blit calls.
* ``PIPE_CAP_NIR_COMPACT_ARRAYS``: True if the compiler backend supports NIR's compact array feature, for all shader stages.
* ``PIPE_CAP_MAX_VARYINGS``: The maximum number of fragment shader
varyings. This will generally correspond to
``PIPE_SHADER_CAP_MAX_INPUTS`` for the fragment shader, but in some
@@ -804,7 +805,7 @@ pipe_screen::get_compute_param.
non-zero means yes, zero means no. Value type: ``uint32_t``
* ``PIPE_COMPUTE_CAP_SUBGROUP_SIZES``: Ored power of two sizes of a basic execution
unit in threads. Also known as wavefront size, warp size or SIMD width.
E.g. ``64 | 32``.
E.g. `64 | 32`.
* ``PIPE_COMPUTE_CAP_ADDRESS_BITS``: The default compute device address space
size specified as an unsigned integer value in bits.
* ``PIPE_COMPUTE_CAP_MAX_VARIABLE_THREADS_PER_BLOCK``: Maximum variable number

View File

@@ -161,7 +161,7 @@ Vulkan
.. code-block:: sh
VK_DRIVER_FILES="$MESA_INSTALLDIR/share/vulkan/icd/my_icd.json" vulkaninfo
VK_ICD_FILENAMES="$MESA_INSTALLDIR/share/vulkan/icd/my_icd.json" vulkaninfo
where ``my_icd.json`` is replaced with the actual ICD json file name. This
will depend on your driver. For instance, the 64-bit Lavapipe driver ICD file

View File

@@ -16,8 +16,7 @@ referring both to the *multisample control surface* used for multisample
compression and the control surface used for fast-clears. In ISL, the
:c:enumerator:`isl_aux_usage.ISL_AUX_USAGE_MCS` enum always refers to
multisample color compression while the
:c:enumerator:`isl_aux_usage.ISL_AUX_USAGE_CCS_D` and
:c:enumerator:`isl_aux_usage.ISL_AUX_USAGE_CCS_E` enums always refer to
:c:enumerator:`isl_aux_usage.ISL_AUX_USAGE_CCS_` enums always refer to
single-sampled color compression. Throughout this chapter and the rest of the
ISL documentation, we will use the term "color control surface", abbreviated
CCS, to denote the control surface used for both fast-clears and color

View File

@@ -32,7 +32,7 @@ The different data layouts fall into two categories: array and packed. When an
array layout is used, the components are stored sequentially in an array of the
given encoding. For instance, if the data is encoded in an 8-bit RGBA array
format the data is stored in an array of type :c:type:`uint8_t` where the blue
component of the ``i``'th color value is accessed as:
component of the `i`'th color value is accessed as:
.. code-block:: C
@@ -48,8 +48,8 @@ a standard C data type.
Packed formats, on the other hand, are encoded with the entire color value
packed into a single 8, 16, or 32-bit value. The components are specified by
which bits they occupy within that value. For instance, with the popular
``RGB565`` format, each :c:type:`vec3` takes up 16 bits and the
``i``'th color value is accessed as:
`RGB565` format, each :c:type:`vec3` takes up 16 bits and the
`i`'th color value is accessed as:
.. code-block:: C
@@ -58,24 +58,24 @@ which bits they occupy within that value. For instance, with the popular
uint8_t b = (*(uint16_t *)data >> 11) & 0x1f;
Packed formats are useful because they allow you to specify formats with uneven
component sizes such as ``RGBA1010102`` or where the components are
smaller than 8 bits such as ``RGB565`` discussed above. It does,
component sizes such as `RGBA1010102` or where the components are
smaller than 8 bits such as `RGB565` discussed above. It does,
however, come with the restriction that the entire vector must fit within 8,
16, or 32 bits.
One has to be careful when reasoning about packed formats because it is easy to
get the color order wrong. With array formats, the channel ordering is usually
implied directly from the format name with ``RGBA8888`` storing the
formats as in the first example and ``BGRA8888`` storing them in the BGRA
implied directly from the format name with `RGBA8888` storing the
formats as in the first example and `BGRA8888` storing them in the BGRA
ordering. Packed formats, however, are not as simple because some
specifications choose to use a MSB to LSB ordering and others LSB to MSB. One
must be careful to pay attention to the enum in question in order to avoid
getting them backwards.
From an API perspective, both types of formats are available. In Vulkan, the
formats that are of the form ``VK_FORMAT_xxx_PACKEDn`` are packed
formats where the entire color fits in ``n`` bits and formats without the
``_PACKEDn`` suffix are array formats. In GL, if you specify one of the
formats that are of the form :c:enumerator:`VK_FORMAT_xxx_PACKEDn` are packed
formats where the entire color fits in `n` bits and formats without the
`_PACKEDn` suffix are array formats. In GL, if you specify one of the
base types such as :c:enumerator:`GL_FLOAT` you get an array format but if you
specify a packed type such as :c:enumerator:`GL_UNSIGNED_INT_8_8_8_8_REV` you
get a packed format.

View File

@@ -15,22 +15,22 @@ are as follows:
These units are fundamental to ISL because they allow us to specify information
about a surface in a canonical way that isn't dependent on hardware generation.
Each field in an ISL data structure that stores any sort of dimension has a
suffix that declares the units for that particular value: ``_el`` for elements,
``_sa`` for samples, etc. If the units of the particular field aren't quite
suffix that declares the units for that particular value: "`_el`" for elements,
"`_sa`" for samples, etc. If the units of the particular field aren't quite
what is wanted by the hardware, we do the conversion when we emit
``RENDER_SURFACE_STATE``.
`RENDER_SURFACE_STATE`.
This is one of the primary differences between ISL and the old miptree code and
one of the core design principles of ISL. In the old miptree code, we tried to
keep everything in the same units as the hardware expects but this lead to
unnecessary complications as the hardware evolved. One example of this
difference is QPitch which specifies the distance between array slices. On
Broadwell and earlier, QPitch field in ``RENDER_SURFACE_STATE`` was in
Broadwell and earlier, QPitch field in `RENDER_SURFACE_STATE` was in
rows of samples. For block-compressed images, this meant it had to be
a multiple of the block height. On Skylake, it changed to always being in rows
of elements so you have to divide the pitch in samples by the compression
block height. Since the old surface state code tries to store things in
hardware units, everyone who ever reads ``brw_mipmap_tree.qpitch`` has
hardware units, everyone who ever reads :c:expr:`brw_mipmap_tree.qpitch` has
to change their interpretation based on hardware generation and whether or not
the surface was block-compressed. In ISL, we have
:c:member:`isl_surf.array_pitch_el_rows` which, as the name says, is in rows
@@ -51,11 +51,11 @@ The next unit in ISL's repertoire is **samples**. In a multisampled surface,
each pixel corresponds to some number of samples given by
:c:member:`isl_surf.samples`. The exact layout of the samples depends on
the value of :c:member:`isl_surf.msaa_layout`. If the layout is
:c:enumerator:`isl_msaa_layout.ISL_MSAA_LAYOUT_ARRAY` then each logical array in
the surface corresponds to :c:member:`isl_surf.samples` actual slices
:c:enumerator:`ISL_MSAA_LAYOUT_ARRAY` then each logical array in the surface
corresponds to :c:member:`isl_surf.samples` actual slices
in the resulting surface, one per array slice. If the layout is
:c:enumerator:`isl_msaa_layout.ISL_MSAA_LAYOUT_INTERLEAVED` then each pixel corresponds
to a 2x1, 2x2, 4x2, or 4x4 grid of samples. In order to aid in calculations, one of
:c:enumerator:`ISL_MSAA_LAYOUT_INTERLEAVED` then each pixel corresponds to a
2x1, 2x2, 4x2, or 4x4 grid of samples. In order to aid in calculations, one of
the first things ISL does is to compute :c:member:`isl_surf.phys_level0_sa`
which gives the dimensions of the base miplevel of the surface in samples. The
type of :c:member:`isl_surf.phys_level0_sa` is :c:struct:`isl_extent4d`

View File

@@ -1,6 +1,10 @@
Notes for macOS
================
.. image:: https://github.com/mesa3d/mesa/actions/workflows/macos.yml/badge.svg
:target: https://github.com/mesa3d/mesa/actions/workflows/macos.yml
:alt: macOS CI
Mesa builds on macOS without modifications. However, there are some details to
be aware of.
@@ -16,6 +20,5 @@ hardware-accelerated system OpenGL framework, to provide hardware acceleration
to X11 applications on macOS running via XQuartz.
Mesa's software rasterizers also work on macOS. To build, set the build options
``-Dosmesa=true -Dglx=xlib``.
Mesa's Gallium drivers can be used on macOS by using the ``-Dgallium-drivers=<drivers>`` build option. Do not use with the previous software rasterizers options, instead add ``swrast`` to the ``<drivers>`` list. Only software renderers and drivers that forward to other APIs can work, any linux hardware drivers will not work. For details on each driver's macOS support see their specific documentation.
``-Dosmesa=true -Dglx=xlib`` and select an appropriate Gallium software
rasterizer.

View File

@@ -50,7 +50,7 @@ While most instruction types in NIR require vector sizes to perfectly match on
inputs and outputs, ALU instruction sources have an additional
:c:member:`nir_alu_src.swizzle` field which allows them to act on vectors
which are not the native vector size of the instruction. This is ideal for
hardware with a native data type of :nir:alu-op:`vec4` but also means that ALU
hardware with a native data type of `vec4` but also means that ALU
instructions are often used (and required) for packing/unpacking vectors for
use in other instruction types like intrinsics or texture ops.

View File

@@ -1,9 +1,8 @@
OpenGL ES
=========
Mesa implements OpenGL ES 1.1, 2.0, 3.0, 3.1 and 3.2, although some drivers
may expose lower limited set. More information about OpenGL ES can be found at
https://www.khronos.org/opengles/.
Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More information about
OpenGL ES can be found at https://www.khronos.org/opengles/.
OpenGL ES depends on a working EGL implementation. Please refer to
:doc:`Mesa EGL <egl>` for more information about EGL.

View File

@@ -1,4 +1,7 @@
24.0,2024-04-24,24.0.6,Eric Engestrom
24.0,2024-03-13,24.0.3,Eric Engestrom
,2024-03-27,24.0.4,Eric Engestrom
,2024-04-10,24.0.5,Eric Engestrom
,2024-04-24,24.0.6,Eric Engestrom
,2024-05-08,24.0.7,Eric Engestrom
24.1,2024-04-24,24.1.0-rc1,Eric Engestrom,24.1 branchpoint
,2024-05-01,24.1.0-rc2,Eric Engestrom
1 24.0,2024-04-24,24.0.6,Eric Engestrom 24.0,2024-03-13,24.0.3,Eric Engestrom
2 ,2024-03-27,24.0.4,Eric Engestrom
3 ,2024-04-10,24.0.5,Eric Engestrom
4 ,2024-04-24,24.0.6,Eric Engestrom
5 ,2024-05-08,24.0.7,Eric Engestrom ,2024-05-08,24.0.7,Eric Engestrom
6 24.1,2024-04-24,24.1.0-rc1,Eric Engestrom,24.1 branchpoint 24.1,2024-04-24,24.1.0-rc1,Eric Engestrom,24.1 branchpoint
7 ,2024-05-01,24.1.0-rc2,Eric Engestrom ,2024-05-01,24.1.0-rc2,Eric Engestrom

View File

@@ -286,9 +286,9 @@ Here is one solution:
unset LIBGL_DEBUG
unset LIBGL_ALWAYS_SOFTWARE
unset GALLIUM_DRIVER
export VK_DRIVER_FILES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
steam steam://rungameid/570 -vconsole -vulkan
unset VK_DRIVER_FILES
unset VK_ICD_FILENAMES
Create release notes for the new release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -3,8 +3,6 @@ Release Notes
The release notes summarize what's new or changed in each Mesa release.
- :doc:`24.0.5 release notes <relnotes/24.0.5>`
- :doc:`24.0.4 release notes <relnotes/24.0.4>`
- :doc:`24.0.3 release notes <relnotes/24.0.3>`
- :doc:`24.0.2 release notes <relnotes/24.0.2>`
- :doc:`23.3.6 release notes <relnotes/23.3.6>`
@@ -416,8 +414,6 @@ The release notes summarize what's new or changed in each Mesa release.
:maxdepth: 1
:hidden:
24.0.5 <relnotes/24.0.5>
24.0.4 <relnotes/24.0.4>
24.0.3 <relnotes/24.0.3>
24.0.2 <relnotes/24.0.2>
23.3.6 <relnotes/23.3.6>

View File

@@ -1,220 +0,0 @@
Mesa 24.0.4 Release Notes / 2024-03-27
======================================
Mesa 24.0.4 is a bug fix release which fixes bugs found since the 24.0.3 release.
Mesa 24.0.4 implements the OpenGL 4.6 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 4.6. OpenGL
4.6 is **only** available if requested at context creation.
Compatibility contexts may report a lower version depending on each driver.
Mesa 24.0.4 implements the Vulkan 1.3 API, but the version reported by
the apiVersion property of the VkPhysicalDeviceProperties struct
depends on the particular driver being used.
SHA256 checksum
---------------
::
90febd30a098cbcd97ff62ecc3dcf5c93d76f7fa314de944cfce81951ba745f0 mesa-24.0.4.tar.xz
New features
------------
- None
Bug fixes
---------
- nvk: dota 2 crashes after ~5 seconds in game
- VAAPI: Incorrect HEVC block size reported with radeonsi
- radv: WWE 2K24 has very quirky DCC issues on RDNA2
- RUSTICL creating a shared reference to mutable static is discouraged and will become a hard error
- KiCAD 3D Viewer - rounded pads rendered incorrectly (texture mapping or stencil test error)
- OpenSCAD rendering incorrect and inconsistent on radeonsi
- [radv] Half-Life Alyx renders solid black for reflective surfaces
- [RX 7900 XTX] Helldivers 2 cause GPU reset
- radeon: Crash in radeon_bo_can_reclaim_slab
- RV530 renders improperly at non 4:3 resolutions.
- anv: new cooperative matrix failures with CTS 1.3.8.0
- \`[gfxhub0] no-retry page fault` triggered by \`AMD_TEST=testdmaperf` on gfx90c APU
Changes
-------
Boris Brezillon (1):
- panvk: Disable global offset on varying and non-VS attribute descriptors
Caio Oliveira (2):
- intel/brw: Use helper to create accumulator register
- intel/brw: Fix validation of accumulator register
Charlie Turner (1):
- {vulkan,radv,anv}/video: fix issue in H264 scaling lists derivation
Corentin Noël (2):
- st_pbo/compute: Use the correct structure type when allocating a specialized key
- zink: Make sure to initialize all the fields of VkMemoryBarrier
Dave Airlie (1):
- radv/video: fix h265 decode with unaligned w/h
David Rosca (1):
- radv/video: Set maxActiveReferencePictures to 16 for H264/5
Eric Engestrom (5):
- docs: add sha256sum for 24.0.3
- .pick_status.json: Update to 9b6d6c1d2d0c8a517e974abbf7b75a47a607f6ec
- .pick_status.json: Update to eac703f69128d5aa6879c9becbad627ce08a7920
- .pick_status.json: Update to 912e203a534be8b70b3ef8bf00294e9c962e385a
- .pick_status.json: Update to c0875d21563257442fd91aab5740248b0fd96a5c
Faith Ekstrand (2):
- nir/builder: Correctly handle decl_reg or undef as the first instruction
- nir/gather_types: Support unstructured control-flow
Francisco Jerez (1):
- intel/eu/xe2+: Translate brw_reg fields in REG_SIZE units to physical 512b GRF units during codegen.
Friedrich Vock (2):
- radv: Only enable SEs that the device reports
- radeonsi: Only enable SEs that the device reports
Gert Wollny (2):
- nir-to-spirv: Cast SSBO input pointer when needed
- nir_to_spirv: Allow LOD for external images
Hyunjun Ko (1):
- anv/video: fix scan order for scaling lists on H265 decoding.
Iván Briano (2):
- compiler/types: fix serialization of cooperative matrix
- intel/cmat: fix stride calculation in cmat load/store
Jordan Justen (1):
- intel/compiler/fs: Restore SIMD32 restriction for ray_queries on Xe2
Karol Herbst (2):
- rusticl/kernel: assign sampler locations before DCEing variables
- nouveau: call glsl_type_singleton_init_or_ref earlier
Kenneth Graunke (1):
- intel/brw: Fix opt_split_sends() to allow for FIXED_GRF send sources
Konstantin Seurer (1):
- zink: Handle aoa derefs of images
Lionel Landwerlin (6):
- intel/fs: fixup sampler header message
- anv: return unsupported for FSR images on Gfx12.0
- anv: ignore descriptor alignment for inline uniforms
- blorp: handle a few allocation failure cases
- anv: fix block pool allocation failure
- anv: fix bitfield checks in gfx runtime flushing
Lucas Stach (1):
- etnaviv: fix fixpoint conversion of negative values
Marek Olšák (8):
- amd/registers: add correct gfx11.x enums for BINNING_MODE
- radeonsi: disable binning correctly on gfx11.5
- radeonsi/gfx11: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT
- radeonsi/gfx10.3: add a GPU hang workaround for legacy tess+GS
- radeonsi/gfx11: add missing DCC_RD_POLICY setting
- ac/llvm: fix SSBO bounds checking by using raw instead of struct opcodes
- radeonsi: fix the DMA compute shader
- r300: port scanout pitch alignment from the DDX to fix DRI3
Mary Guillemard (1):
- nvk: Always copy conditional rendering value before compare
Matthew Waters (1):
- teximage: allow glCopyTex{Sub}Image[123]D into R/RG textures with OpenGL ES 2.0
Mike Blumenkrantz (13):
- zink: destroy batch states after copy context
- mesa: force rendertarget usage on required-renderable formats
- zink: try getting sparse page size again without storage bit on fail
- zink: set the sparse format usage flags directly based on queried props
- zink: rename optimal_key in update_gfx_program_optimal()
- zink: use the sanitized key in update_gfx_program_optimal()
- zink: always sync and replace separable progs even with ZINK_DEBUG=noopt
- zink: add even more strict checks for separate shader usage
- glx: only print zink failure-to-load messages if explicitly requested
- zink: iterate all the modes when doing separate shader fixups
- zink: do io fixup on patch variables too
- zink: defer present barrier to flush if a clear is pending
- zink: clamp swapchain renderarea instead of asserting
Patrick Lerda (1):
- ac/llvm,radeonsi: fix memory leaks triggered by ac_nir_translate() errors
Paulo Zanoni (1):
- anv: don't leak device->vma_samplers
Philipp Zabel (1):
- rusticl: work around reference-to-mutable-static warnings
Pierre-Eric Pelloux-Prayer (2):
- winsys/radeon: pass priv instead NULL to radeon_bo_can_reclaim
- radeonsi: preserve alpha if needed in kill_ps_outputs_cb
Rhys Perry (4):
- aco: don't reuse misaligned attribute destination VGPRs in VS prologs
- radv: use dual_color_blend_by_location with Half-Life Alyx
- aco/cssa: reset equal_anc_out if merging fails
- aco/gfx11: fix scratch ST mode assembly
Ruijing Dong (3):
- radeonsi/vcn: add enc surface alignment caps
- frontends/va: add surface alignment attribute
- radeonsi/vcn: update to use correct padding size.
Samuel Pitoiset (7):
- ac/nir: fix exporting NGG streamout outputs with implicit PrimId from VS/TES
- radv: disable binning correctly on GFX11.5
- radv: fix programming of PA_SC_BINNER_CNTL_1.MAX_ALLOC_COUNT on GFX11
- radv: fix occlusion queries with MSAA and no attachments
- radv: add radv_force_pstate_peak_gfx11_dgpu and enable it for Helldivers 2
- radv: add a workaround for null IBO on GFX6
- radv: invalidate L2 metadata for VK_ACCESS_2_MEMORY_READ_BIT
Yusuf Khan (1):
- nvk: fix valve segfault from setting a descriptor set from NULL

View File

@@ -1,212 +0,0 @@
Mesa 24.0.5 Release Notes / 2024-04-10
======================================
Mesa 24.0.5 is a bug fix release which fixes bugs found since the 24.0.4 release.
Mesa 24.0.5 implements the OpenGL 4.6 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 4.6. OpenGL
4.6 is **only** available if requested at context creation.
Compatibility contexts may report a lower version depending on each driver.
Mesa 24.0.5 implements the Vulkan 1.3 API, but the version reported by
the apiVersion property of the VkPhysicalDeviceProperties struct
depends on the particular driver being used.
SHA256 checksum
---------------
::
38cc245ca8faa3c69da6d2687f8906377001f63365348a62cc6f7fafb1e8c018 mesa-24.0.5.tar.xz
New features
------------
- None
Bug fixes
---------
- anv: vkd3d-proton test_stress_suballocation failure
- d3d12: Zwift renders with bad textures/lighting
- NVK: Misrendering with Civilization 6
- radv: RDR2 might need zerovram
- Issues rendering gtk4 window decorations on v3d on Fedora-40/mesa-24.0
- clc: Failure when linking with llvm+clang 18.1 (-Dshared-llvm=disabled)
- LLVM-18 build issue
Changes
-------
Axel Davy (5):
- frontend/nine: Fix ff ps key
- frontend/nine: Fix programmable vs check
- frontend/nine: Fix missing light flag check
- frontend/nine: Fix destruction race
- frontend/nine: Reset should EndScene
Connor Abbott (2):
- freedreno/a7xx: Add CP_CCHE_INVALIDATE
- tu: Implement CCHE invalidation
Dave Airlie (1):
- mesa: reorder st context teardown
David Heidelberg (7):
- r300: add missing licence to the r300_public.h
- r300: add missing copyright header
- docs: we support EGL 1.5 for a long time
- ci/amd: drop old PIGLIT_REPLAY_DESCRIPTION_FILE surpassed by PIGLIT_TRACES_FILE
- r600: add license header to r600_formats.h
- r600: add license info to the r600_opcodes.h
- r600: add license information to the sfn_shader_gs.h
David Stern (1):
- vulkan/wsi/x11: Explicitly discard errors from xcb_present_pixmap.
Eric Engestrom (5):
- docs: add sha256sum for 24.0.4
- .pick_status.json: Update to 3d68dd78d07b30cefe90d76af681075f4ed6b33d
- .pick_status.json: Update to fcb568a5d5a52db75fa2f6d04579bb404ca7f597
- .pick_status.json: Update to 078fe5454e97d073feb18bcdcf7ed1874e8b4835
- .pick_status.json: Update to 2c1cb65949933a05eedb2eacc15cd893ecaef8aa
Eric R. Smith (2):
- panfrost: mark indirect compute buffer as read
- gallium: handle copy_image of depth textures
Faith Ekstrand (2):
- nvk: Add a _pad field to nvk_cbuf
- nvk: Add a _pad field to nvk_fs_key
Georg Lehmann (2):
- aco: don't combine mul+add_clamp to mad_clamp
- aco/ra: use SDWA for 16bit instructions when the second byte is blocked
Iago Toral Quiroga (2):
- v3d: implement fix for GFXH-1602
- broadcom/compiler: fix workaround for GFXH-1602
Ian Romanick (3):
- intel/brw: Clear write_accumulator flag when changing the destination
- intel/brw: Use enums for DPAS source regioning
- nir: intel/brw: Change the order of sources for nir_dpas_intel
Jesse Natalie (1):
- glsl: Use a stable attr sort for VS in / FS out
Jordan Justen (1):
- intel/dev: Add 0x56be and 0x56bf DG2 PCI IDs
José Roberto de Souza (4):
- anv: Fix calculation of syncs required in Xe KMD
- iris: Wait for drm_xe_exec_queue to be idle before destroying it
- anv: Create protected engine context when i915 supports vm control
- intel: Enable Xe KMD support by default
Juston Li (1):
- Revert "zink: store last pipeline directly for zink_gfx_program::last_pipeline"
Karol Herbst (1):
- meson: fix link failure with llvm-18
Kenneth Graunke (2):
- intel/brw: Fix generate_mov_indirect to check has_64bit_int not float
- intel/brw: Fix lower_regioning for BROADCAST, MOV_INDIRECT on Q types
Konstantin Seurer (1):
- nir/serialize: Encode data for temporaries
Lionel Landwerlin (7):
- anv: fix protected memory allocations
- anv: disable protected content around surface state copies
- anv: disable generated draws in protected command buffers
- anv: update protection fault property
- anv: add missing data flush out of L3 for transform feedback writes
- anv: mark descriptors & pipeline dirty after blorp compute
- isl: set NullPageCoherencyEnable for depth/stencil sparse surfaces
Lucas Stach (2):
- etnaviv: fix depth writes without testing
- etnaviv: rs: take src dimensions into account when increasing height alignment
Mike Blumenkrantz (12):
- zink: only check that CUBE_COMPATIBLE for images doesn't subtract flags
- zink: don't use set_foreach_remove with dmabuf_exports
- zink: make descriptor pool creation more robust
- zink: fix shaderdb pipeline compile
- zink: don't clobber indirect array reads with missing components
- zink: fix add_derefs case for compact arrays
- llvmpipe: fix DRAW_USE_LLVM=0
- glsl: handle xfb resources for spirv before running varying opts
- mesa: clamp binary pointer in ShaderBinary if length==0
- glsl: set PSIZ bit in outputs_written when injecting a 1.0 psiz write
- nir/lower_clamp_color_outputs: fix use with lowered io
- nir/texcoord_replace: fix scalarized io handling
Nikita Popov (1):
- Pass no-verify-fixpoint option to instcombine in LLVM 18
Patrick Lerda (1):
- r300: fix constants_remap_table memory leak related to the dummy shader path
Paul Gofman (3):
- glsl: allow out arrays in #110 with allow_glsl_120_subset_in_110
- driconf: add a workaround for Joe Danger 2
- driconf: add a workaround for Joe Danger
Paulo Zanoni (2):
- anv/xe: don't leak xe_syncs during trtt submission
- anv, iris: add missing CS_STALL bit for GPGPU texture invalidation
Samuel Pitoiset (3):
- radv: fix conditional rendering with mesh+task and multiview (again)
- radv: enable radv_zero_vram for Red Dead Redemption 2
- radv: make sure the heap budget is less than or equal to the heap size
Tapani Pälli (1):
- anv: disable fcv optimization on >= gfx125
Yonggang Luo (1):
- util: Fixes futex_wait on win32
Zack Rusin (1):
- svga: Fix instanced draw detection
Zan Dobersek (1):
- tu: fix memory leaks in tu_shader

View File

@@ -1,19 +1,12 @@
VK_EXT_map_memory_placed on RADV, ANV and NVK
VK_KHR_shader_subgroup_rotate on RADV and ANV and NVK
VK_KHR_shader_subgroup_rotate on RADV and ANV
VK_KHR_load_store_op_none on RADV, ANV, NVK and Turnip
VK_KHR_line_rasterization on RADV, ANV, NVK and Turnip
VK_KHR_index_type_uint8 on RADV, ANV, NVK and Turnip
VK_KHR_shader_expect_assume on all Vulkan drivers
VK_KHR_shader_maximal_reconvergence on RADV, ANV and NVK
VK_KHR_shader_maximal_reconvergence on RADV
VK_KHR_shader_quad_control on RADV
OpenGL 4.6 on Asahi
OpenGL ES 3.2 on Asahi
Mali G610 and G310 on Panfrost
Mali T600 on Panfrost
VK_KHR_shader_subgroup_uniform_control_flow on NVK
alphaToOne/extendedDynamicState3AlphaToOneEnable on RADV
VK_EXT_device_address_binding_report on RADV
VK_EXT_external_memory_dma_buf for lavapipe
VK_EXT_queue_family_foreign for lavapipe
VK_EXT_shader_object on RADV
VK_EXT_nested_command_buffer on NVK and RADV

View File

@@ -1,8 +1,6 @@
Rusticl
=======
Rusticl is an OpenCL implementation on top of Gallium drivers.
Enabling
--------

View File

@@ -30,12 +30,12 @@ the render pass and dynamic rendering. For drivers which use
structure will be populated as if for dynamic rendering, regardless of
which path is used. Drivers which use their own render pass structure
should parse the render pass, if available, and pass a
:c:struct:`vk_render_pass_state` to the ``driver_rp`` argument of
:c:struct:`vk_render_pass_state` to the `driver_rp` argument of
:c:func:`vk_graphics_pipeline_state_fill()` with the relevant information
from the specified subpass. If a render pass is available,
:c:struct:`vk_render_pass_state` will be populated with the
the information from the :c:struct:`driver_rp`. If dynamic
rendering is used or the driver provides a ``NULL``
rendering is used or the driver provides a `NULL`
:c:struct:`driver_rp`, the :c:struct:`vk_render_pass_state`
structure will be populated for dynamic rendering, including color, depth,
and stencil attachment formats.

View File

@@ -915,7 +915,7 @@ struct __DRIframebufferRec {
* extension. Version 1 is required by the X server, and version 3 is used.
*/
#define __DRI_SWRAST "DRI_SWRast"
#define __DRI_SWRAST_VERSION 6
#define __DRI_SWRAST_VERSION 5
struct __DRIswrastExtensionRec {
__DRIextension base;
@@ -967,18 +967,6 @@ struct __DRIswrastExtensionRec {
*/
int (*queryBufferAge)(__DRIdrawable *drawable);
/**
* createNewScreen() with the driver extensions passed in and implicit load flag.
*
* \since version 6
*/
__DRIscreen *(*createNewScreen3)(int screen,
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs,
bool implicit,
void *loaderPrivate);
};
/** Common DRI function definitions, shared among DRI2 and Image extensions
@@ -990,13 +978,6 @@ typedef __DRIscreen *
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs,
void *loaderPrivate);
typedef __DRIscreen *
(*__DRIcreateNewScreen3Func)(int screen, int fd,
const __DRIextension **extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs,
bool implicit,
void *loaderPrivate);
typedef __DRIdrawable *
(*__DRIcreateNewDrawableFunc)(__DRIscreen *screen,
@@ -1132,7 +1113,7 @@ struct __DRIdri2LoaderExtensionRec {
* constructors for DRI2. The X server uses up to version 4.
*/
#define __DRI_DRI2 "DRI_DRI2"
#define __DRI_DRI2_VERSION 5
#define __DRI_DRI2_VERSION 4
#define __DRI_API_OPENGL 0 /**< OpenGL compatibility profile */
#define __DRI_API_GLES 1 /**< OpenGL ES 1.x */
@@ -1251,13 +1232,6 @@ struct __DRIdri2ExtensionRec {
* \since version 4
*/
__DRIcreateNewScreen2Func createNewScreen2;
/**
* createNewScreen with the driver's extension list passed in and implicit load flag.
*
* \since version 5
*/
__DRIcreateNewScreen3Func createNewScreen3;
};
@@ -2071,7 +2045,7 @@ struct __DRIimageLoaderExtensionRec {
*/
#define __DRI_IMAGE_DRIVER "DRI_IMAGE_DRIVER"
#define __DRI_IMAGE_DRIVER_VERSION 2
#define __DRI_IMAGE_DRIVER_VERSION 1
struct __DRIimageDriverExtensionRec {
__DRIextension base;
@@ -2081,7 +2055,6 @@ struct __DRIimageDriverExtensionRec {
__DRIcreateNewDrawableFunc createNewDrawable;
__DRIcreateContextAttribsFunc createContextAttribs;
__DRIgetAPIMaskFunc getAPIMask;
__DRIcreateNewScreen3Func createNewScreen3;
};
/**

View File

@@ -33,7 +33,7 @@
typedef struct __DRImesaCoreExtensionRec __DRImesaCoreExtension;
#define __DRI_MESA "DRI_Mesa"
#define __DRI_MESA_VERSION 2
#define __DRI_MESA_VERSION 1
struct dri_screen;
@@ -60,12 +60,9 @@ struct __DRImesaCoreExtensionRec {
__DRIcreateContextAttribsFunc createContext;
/* driver function for finishing initialization inside createNewScreen(). */
const __DRIconfig **(*initScreen)(struct dri_screen *screen, bool implicit);
const __DRIconfig **(*initScreen)(struct dri_screen *screen);
int (*queryCompatibleRenderOnlyDeviceFd)(int kms_only_fd);
/* version 2 */
__DRIcreateNewScreen3Func createNewScreen3;
};
#endif /* MESA_INTERFACE_H */

View File

@@ -459,16 +459,8 @@ struct drm_xe_gt {
* by struct drm_xe_query_mem_regions' mem_class.
*/
__u64 far_mem_regions;
/** @ip_ver_major: Graphics/media IP major version on GMD_ID platforms */
__u16 ip_ver_major;
/** @ip_ver_minor: Graphics/media IP minor version on GMD_ID platforms */
__u16 ip_ver_minor;
/** @ip_ver_rev: Graphics/media IP revision version on GMD_ID platforms */
__u16 ip_ver_rev;
/** @pad2: MBZ */
__u16 pad2;
/** @reserved: Reserved */
__u64 reserved[7];
__u64 reserved[8];
};
/**
@@ -518,9 +510,9 @@ struct drm_xe_query_topology_mask {
/** @gt_id: GT ID the mask is associated with */
__u16 gt_id;
#define DRM_XE_TOPO_DSS_GEOMETRY 1
#define DRM_XE_TOPO_DSS_COMPUTE 2
#define DRM_XE_TOPO_EU_PER_DSS 4
#define DRM_XE_TOPO_DSS_GEOMETRY (1 << 0)
#define DRM_XE_TOPO_DSS_COMPUTE (1 << 1)
#define DRM_XE_TOPO_EU_PER_DSS (1 << 2)
/** @type: type of mask */
__u16 type;
@@ -871,12 +863,6 @@ struct drm_xe_vm_destroy {
* - %DRM_XE_VM_BIND_OP_PREFETCH
*
* and the @flags can be:
* - %DRM_XE_VM_BIND_FLAG_READONLY - Setup the page tables as read-only
* to ensure write protection
* - %DRM_XE_VM_BIND_FLAG_IMMEDIATE - On a faulting VM, do the
* MAP operation immediately rather than deferring the MAP to the page
* fault handler. This is implied on a non-faulting VM as there is no
* fault handler to defer to.
* - %DRM_XE_VM_BIND_FLAG_NULL - When the NULL flag is set, the page
* tables are setup with a special bit which indicates writes are
* dropped and all reads return zero. In the future, the NULL flags
@@ -969,8 +955,6 @@ struct drm_xe_vm_bind_op {
/** @op: Bind operation to perform */
__u32 op;
#define DRM_XE_VM_BIND_FLAG_READONLY (1 << 0)
#define DRM_XE_VM_BIND_FLAG_IMMEDIATE (1 << 1)
#define DRM_XE_VM_BIND_FLAG_NULL (1 << 2)
#define DRM_XE_VM_BIND_FLAG_DUMPABLE (1 << 3)
/** @flags: Bind flags */

View File

@@ -247,18 +247,16 @@ CHIPSET(0x56b0, dg2_g11, "DG2", "Intel(R) Arc(tm) Pro A30M Graphics")
CHIPSET(0x56b1, dg2_g11, "DG2", "Intel(R) Arc(tm) Pro A40/A50 Graphics")
CHIPSET(0x56b2, dg2_g12, "DG2", "Intel(R) Arc(tm) Pro A60M Graphics")
CHIPSET(0x56b3, dg2_g12, "DG2", "Intel(R) Arc(tm) Pro A60 Graphics")
CHIPSET(0x56ba, dg2_g11, "DG2", "Intel(R) Arc(tm) A380E Graphics")
CHIPSET(0x56bb, dg2_g11, "DG2", "Intel(R) Arc(tm) A310E Graphics")
CHIPSET(0x56bc, dg2_g11, "DG2", "Intel(R) Arc(tm) A370E Graphics")
CHIPSET(0x56bd, dg2_g11, "DG2", "Intel(R) Arc(tm) A350E Graphics")
CHIPSET(0x56be, dg2_g10, "DG2", "Intel(R) Arc(tm) A750E Graphics")
CHIPSET(0x56bf, dg2_g10, "DG2", "Intel(R) Arc(tm) A580E Graphics")
CHIPSET(0x56ba, dg2_g11, "DG2", "Intel(R) Graphics")
CHIPSET(0x56bb, dg2_g11, "DG2", "Intel(R) Graphics")
CHIPSET(0x56bc, dg2_g11, "DG2", "Intel(R) Graphics")
CHIPSET(0x56bd, dg2_g11, "DG2", "Intel(R) Graphics")
CHIPSET(0x56c0, atsm_g10, "ATS-M", "Intel(R) Data Center GPU Flex 170")
CHIPSET(0x56c1, atsm_g11, "ATS-M", "Intel(R) Data Center GPU Flex 140")
CHIPSET(0x56c2, atsm_g10, "ATS-M", "Intel(R) Data Center GPU Flex 170V")
CHIPSET(0x56c2, atsm_g10, "ATS-M", "Intel(R) Data Center GPU Flex 170G")
CHIPSET(0x7d40, mtl_u, "MTL", "Intel(R) Graphics")
CHIPSET(0x7d45, mtl_u, "MTL", "Intel(R) Graphics")
CHIPSET(0x7d45, mtl_h, "MTL", "Intel(R) Graphics")
CHIPSET(0x7d55, mtl_h, "MTL", "Intel(R) Arc(tm) Graphics")
CHIPSET(0x7d60, mtl_u, "MTL", "Intel(R) Graphics")
CHIPSET(0x7dd5, mtl_h, "MTL", "Intel(R) Graphics")

View File

@@ -45,11 +45,6 @@ if get_option('layout') != 'mirror'
error('`mirror` is the only build directory layout supported')
endif
with_mesa_debug = get_option('buildtype') == 'debug'
# This means the final value of b_ndebug==true
with_mesa_ndebug = get_option('b_ndebug') == 'true' or (get_option('buildtype') == 'release' and get_option('b_ndebug') == 'if-release')
# Arguments for the preprocessor, put these in a separate array from the C and
# C++ (cpp in meson terminology) arguments since they need to be added to the
# default arguments for both C and C++.
@@ -543,21 +538,20 @@ if with_glx != 'disabled'
endif
endif
_glvnd = get_option('glvnd') \
.require(not with_platform_windows,
error_message: 'glvnd cannot be used on Windows') \
.require(with_glx != 'xlib',
error_message: 'Cannot build glvnd support for GLX that is not DRI based.') \
.require(with_glx != 'disabled' or with_egl,
error_message: 'glvnd requires DRI based GLX and/or EGL') \
.require(get_option('egl-lib-suffix') == '',
error_message: '''EGL lib suffix can't be used with libglvnd''')
dep_glvnd = dependency('libglvnd', version : '>= 1.3.2', required : _glvnd)
with_glvnd = dep_glvnd.found()
if with_glvnd
pre_args += '-DUSE_LIBGLVND=1'
endif
with_glvnd = get_option('glvnd')
glvnd_vendor_name = get_option('glvnd-vendor-name')
if with_glvnd
if with_platform_windows
error('glvnd cannot be used on Windows')
elif with_glx == 'xlib'
error('Cannot build glvnd support for GLX that is not DRI based.')
elif with_glx == 'disabled' and not with_egl
error('glvnd requires DRI based GLX and/or EGL')
endif
if get_option('egl-lib-suffix') != ''
error('''EGL lib suffix can't be used with libglvnd''')
endif
endif
if with_vulkan_icd_dir == ''
with_vulkan_icd_dir = join_paths(get_option('datadir'), 'vulkan/icd.d')
@@ -586,7 +580,7 @@ if with_gallium_d3d12 or with_microsoft_clc or with_microsoft_vk
dep_dxheaders = dependency('directx-headers', required : false)
if not dep_dxheaders.found()
dep_dxheaders = dependency('DirectX-Headers',
version : '>= 1.613.0',
version : '>= 1.611.0',
fallback : ['DirectX-Headers', 'dep_dxheaders'],
required : with_gallium_d3d12 or with_microsoft_vk
)
@@ -957,19 +951,9 @@ if cc.get_define('ETIME', prefix : '#include <errno.h>') == ''
pre_args += '-DETIME=ETIMEDOUT'
endif
# Define MESA_DEBUG to 1 for debug builds only (debugoptimized is not included on this one);
# otherwise define MESA_DEBUG to 0
pre_args += '-DMESA_DEBUG=' + (with_mesa_debug ? '1' : '0')
with_split_debug = get_option('split-debug') \
.disable_if(not cc.has_argument('-gsplit-dwarf'),
error_message : 'split-debug requires compiler -gsplit-dwarf support') \
.disable_if(not cc.has_link_argument('-Wl,--gdb-index'),
error_message : 'split-debug requires the linker argument -Wl,--gdb-index')
if with_split_debug.allowed() and get_option('debug')
add_project_arguments('-gsplit-dwarf', language : ['c', 'cpp'])
add_project_link_arguments('-Wl,--gdb-index', language : ['c', 'cpp'])
# Define DEBUG for debug builds only (debugoptimized is not included on this one)
if get_option('buildtype') == 'debug'
pre_args += '-DDEBUG'
endif
with_shader_cache = get_option('shader-cache') \
@@ -1156,7 +1140,7 @@ else
# Variables that are only used for assertions are considered unused when assertions
# are disabled. Don't treat this as an error, since we build with -Werror even if
# assertions are disabled.
if with_mesa_ndebug
if get_option('b_ndebug') == 'true' or (get_option('buildtype') == 'release' and get_option('b_ndebug') == 'if-release')
_trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', '/wd4189']
_trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', '/wd4189']
endif
@@ -1384,7 +1368,7 @@ if not ['linux'].contains(host_machine.system())
endif
foreach h : ['xlocale.h', 'linux/futex.h', 'endian.h', 'dlfcn.h', 'sys/shm.h',
'cet.h', 'pthread_np.h', 'renderdoc_app.h', 'sys/inotify.h', 'linux/udmabuf.h']
'cet.h', 'pthread_np.h', 'renderdoc_app.h', 'sys/inotify.h']
if cc.check_header(h)
pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify())
endif
@@ -1738,7 +1722,7 @@ if with_clc
# all-targets is needed to support static linking LLVM build with multiple targets.
# windowsdriver is needded with LLVM>=15 and frontendhlsl is needed with LLVM>=16,
# but we don't know what LLVM version we are using yet
llvm_optional_modules += ['all-targets', 'windowsdriver', 'frontendhlsl', 'frontenddriver']
llvm_optional_modules += ['all-targets', 'windowsdriver', 'frontendhlsl']
endif
draw_with_llvm = get_option('draw-use-llvm')
if draw_with_llvm
@@ -1878,9 +1862,6 @@ if with_clc
if dep_llvm.version().version_compare('>= 16.0')
clang_modules += 'clangASTMatchers'
endif
if dep_llvm.version().version_compare('>= 18.0')
clang_modules += 'clangAPINotes'
endif
dep_clang = []
foreach m : clang_modules
@@ -1906,6 +1887,12 @@ elif with_gallium_radeonsi
error('Gallium driver radeonsi requires libelf')
endif
dep_glvnd = null_dep
if with_glvnd
dep_glvnd = dependency('libglvnd', version : '>= 1.3.2')
pre_args += '-DUSE_LIBGLVND=1'
endif
dep_valgrind = dependency('valgrind', required : get_option('valgrind'))
if dep_valgrind.found()
pre_args += '-DHAVE_VALGRIND'
@@ -1920,23 +1907,6 @@ else
asan_c_args = ['-DBUILT_WITH_ASAN=0']
endif
# ThreadSanitizer can't deal with futexes, and reports races for cases we don't care about
# so add a define to work silence these issues.
if get_option('b_sanitize') == 'thread'
pre_args += '-DTHREAD_SANITIZER=1'
# meson versions prior to 1.4 will warn "Consider using the built-in option for sanitizers ..."
# later on because it only checks whether the option starts with "-fsanitize",
# but there is no built-in option for adding a blacklist
tsan_blacklist = '-fsanitize-blacklist=@0@'.format(join_paths(meson.project_source_root(), 'build-support', 'tsan-blacklist.txt'))
if cc.has_argument(tsan_blacklist)
pre_args += tsan_blacklist
else
warning('Compiler does not support "-fsanitize-blacklist", expected race conditions will not be surpressed')
endif
else
pre_args += '-DTHREAD_SANITIZER=0'
endif
yacc_is_bison = true
needs_flex_bison = with_any_opengl or with_freedreno_vk or with_intel_tools or with_gallium
@@ -2024,7 +1994,7 @@ if with_platform_wayland
else
wl_scanner_arg = 'code'
endif
dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.34')
dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.30')
dep_wayland_client = dependency('wayland-client', version : '>=1.18')
dep_wayland_server = dependency('wayland-server', version : '>=1.18')
if with_egl
@@ -2077,7 +2047,6 @@ if host_machine.cpu_family() == 'x86_64' and cc.get_id() == 'gcc'
endif
with_dri3_modifiers = false
with_dri3_explicit_sync = false
with_xcb_keysyms = false
if with_platform_x11
if with_glx == 'xlib'
@@ -2121,10 +2090,6 @@ if with_platform_x11
dep_xcb_present.version().version_compare('>= 1.13'))
with_dri3_modifiers = true
endif
if (dep_xcb_dri3.version().version_compare('>= 1.17') and
dep_xcb_present.version().version_compare('>= 1.17'))
with_dri3_explicit_sync = true
endif
dep_xcb_shm = dependency('xcb-shm')
dep_xcb_sync = dependency('xcb-sync')
dep_xshmfence = dependency('xshmfence', version : '>= 1.1')
@@ -2167,9 +2132,6 @@ endif
if with_dri3_modifiers
pre_args += '-DHAVE_DRI3_MODIFIERS'
endif
if with_dri3_explicit_sync
pre_args += '-DHAVE_DRI3_EXPLICIT_SYNC'
endif
if with_gallium_drisw_kms
pre_args += '-DHAVE_DRISW_KMS'
endif

View File

@@ -1,12 +1,6 @@
# Copyright © 2017-2019 Intel Corporation
# SPDX-License-Identifier: MIT
option(
'split-debug',
type : 'feature',
value : 'disabled',
description : 'split debug information (-gsplit-dwarf compile flag) and debug information in the gdb index format (--gdb-index)',
)
option(
'platforms',
type : 'array',
@@ -367,8 +361,8 @@ option(
option(
'glvnd',
type : 'feature',
deprecated: {'true': 'enabled', 'false': 'disabled'},
type : 'boolean',
value : false,
description : 'Enable GLVND support.'
)
@@ -716,4 +710,4 @@ option(
description : 'Build custom xmlconfig (driconf) support. If disabled, ' +
'the default driconf file is hardcoded into Mesa. ' +
'Requires expat.'
)
)

View File

@@ -196,7 +196,6 @@ ForEachMacros:
- agx_foreach_block_from_rev
- agx_foreach_block_rev
- agx_foreach_dest
- agx_foreach_dest_rev
- agx_foreach_instr_global
- agx_foreach_instr_global_rev
- agx_foreach_instr_global_safe
@@ -209,16 +208,11 @@ ForEachMacros:
- agx_foreach_instr_in_block_safe_rev
- agx_foreach_non_phi_in_block_rev
- agx_foreach_phi_in_block
- agx_foreach_phi_in_block_safe
- agx_foreach_predecessor
- agx_foreach_src
- agx_foreach_src_rev
- agx_foreach_ssa_dest
- agx_foreach_ssa_dest_rev
- agx_foreach_ssa_src
- agx_foreach_ssa_src_rev
- agx_foreach_successor
- foreach_next_use
# radv
- PHASE

View File

@@ -1024,17 +1024,6 @@ UINT_32 Gfx11Lib::GetMetaBlkSize(
// For htile surfaces, pad meta block size to 2K * num_pipes
metablkSizeLog2 = Max(metablkSizeLog2, 11 + numPipesLog2);
}
/* This chunk is not part of upstream addrlib. See !28268 */
const INT_32 compFragLog2 = numSamplesLog2;
if (IsRtOptSwizzle(swizzleMode) && (compFragLog2 > 1) && (pipeRotateLog2 >= 1))
{
const INT_32 tmp = 8 + m_pipesLog2 + Max(pipeRotateLog2, compFragLog2 - 1);
metablkSizeLog2 = Max(metablkSizeLog2, tmp);
}
/* End of the non-upstream chunk. */
}
const INT_32 metablkBitsLog2 =

View File

@@ -1,54 +1,14 @@
[[deqp]]
deqp = "/deqp/modules/gles31/deqp-gles31"
caselists = [
"/deqp/mustpass/gles31-main.txt",
]
deqp_args = [
"--deqp-surface-width=256", "--deqp-surface-height=256",
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
"--deqp-gl-config-name=rgba8888d24s8ms0",
]
[[deqp]]
deqp = "/deqp/modules/gles3/deqp-gles3"
caselists = [
"/deqp/mustpass/gles3-main.txt",
]
deqp_args = [
"--deqp-surface-width=256", "--deqp-surface-height=256",
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
"--deqp-gl-config-name=rgba8888d24s8ms0",
]
[[deqp]]
deqp = "/deqp/modules/gles2/deqp-gles2"
caselists = [
"/deqp/mustpass/gles2-main.txt",
]
deqp_args = [
"--deqp-surface-width=256", "--deqp-surface-height=256",
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
"--deqp-gl-config-name=rgba8888d24s8ms0",
]
[[deqp]]
deqp = "/deqp/external/openglcts/modules/glcts"
caselists = [
# The GLES* tests don't include the tests for the previous versions.
# The GL* tests include the tests for the previous versions, but the GLES*
# tests don't.
"/deqp/mustpass/gles2-main.txt",
"/deqp/mustpass/gles3-main.txt",
"/deqp/mustpass/gles31-main.txt",
"/deqp/mustpass/gles2-khr-main.txt",
"/deqp/mustpass/gles3-khr-main.txt",
"/deqp/mustpass/gles31-khr-main.txt",
]
deqp_args = [
"--deqp-surface-width=256", "--deqp-surface-height=256",
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
"--deqp-gl-config-name=rgba8888d24s8ms0",
]
[[deqp]]
deqp = "/deqp/external/openglcts/modules/glcts"
caselists = [
# The GL* tests include the tests for the previous versions.
"/deqp/mustpass/gl46-main.txt",
"/deqp/mustpass/gl46-khr-single.txt",
]

View File

@@ -46,13 +46,6 @@
- !reference [.collabora-farm-rules, rules]
- !reference [.radv-rules, rules]
.radv-collabora-rules-restricted:
stage: amd
rules:
- !reference [.test, rules]
- !reference [.restricted-rules, rules]
- !reference [.radv-collabora-rules, rules]
.radv-valve-rules:
stage: amd
rules:
@@ -223,6 +216,13 @@
GPU_VERSION: amd-raven
VK_DRIVER: radeon
.radv-traces:
extends:
- .lava-piglit-traces:x86_64
variables:
PIGLIT_PLATFORM: mixed_glx_egl # TODO, take wine/VK in account
PIGLIT_TRACES_FILE: traces-amd.yml
############### Valve Infra
.test-radv:
variables:
@@ -242,11 +242,11 @@
extends:
- .radv-valve-rules
- .test-radv
- .b2c-x86_64-test-vk
- .b2c-test-vk
variables:
B2C_KERNEL_URL: https://fs.mupuf.org/linux-6.6-b2c-radv-ci # 6.6
.b2c-deqp-test:
.deqp-test-valve:
variables:
B2C_JOB_SUCCESS_REGEX: '^\+ DEQP_EXITCODE=0\r$'
HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
@@ -373,7 +373,7 @@
.vkcts-test-valve:
extends:
- .b2c-test-radv-vk
- .b2c-deqp-test
- .deqp-test-valve
variables:
DEQP_VER: vk

View File

@@ -46,6 +46,7 @@ radeonsi-stoney-traces:x86_64:
variables:
EGL_PLATFORM: surfaceless
PIGLIT_TRACES_FILE: traces-amd.yml
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/traces-amd.yml"
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image
radv-raven-vkcts:x86_64:
@@ -69,28 +70,12 @@ amd-raven-skqp:x86_64:
radv-raven-traces:x86_64:
extends:
- .lava-piglit-traces:x86_64
- .radv-traces
- .radv-raven-test:x86_64
- .lava-lenovo-TPad-C13-Yoga-zork:x86_64
variables:
HWCI_START_XORG: 1
PIGLIT_PLATFORM: mixed_glx_egl # TODO, take wine/VK in account
PIGLIT_REPLAY_DEVICE_NAME: "vk-${GPU_VERSION}"
PIGLIT_TRACES_FILE: traces-amd.yml
radv-raven-traces-restricted:x86_64:
extends:
- .lava-piglit-traces:x86_64
- .radv-raven-test:x86_64
- .lava-lenovo-TPad-C13-Yoga-zork:x86_64
- .radv-collabora-rules-restricted
variables:
HWCI_START_WESTON: 1
PIGLIT_REPLAY_ANGLE_TAG: "2023-02-10-1"
PIGLIT_TRACES_FILE: restricted-traces-amd.yml
PIGLIT_REPLAY_DEVICE_NAME: "vk-${GPU_VERSION}"
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --minio_bucket=mesa-tracie-private --jwt-file=${CI_JOB_JWT_FILE}
FDO_CI_CONCURRENT: 10
radeonsi-raven-piglit-quick_gl:x86_64:
extends:
@@ -186,6 +171,7 @@ vkcts-tahiti-valve:
B2C_TIMEOUT_BOOT_MINUTES: 350
B2C_TIMEOUT_OVERALL_MINUTES: 350
B2C_TIMEOUT_BOOT_RETRIES: 0
RADV_PERFTEST: shader_object
vkcts-polaris10-valve:
extends:
@@ -197,6 +183,7 @@ vkcts-polaris10-valve:
GPU_VERSION: radv-polaris10-aco
B2C_TIMEOUT_BOOT_MINUTES: 70
B2C_TIMEOUT_OVERALL_MINUTES: 70
RADV_PERFTEST: shader_object
vkcts-vega10-valve:
extends:
@@ -208,6 +195,7 @@ vkcts-vega10-valve:
GPU_VERSION: radv-vega10-aco
B2C_TIMEOUT_BOOT_MINUTES: 70
B2C_TIMEOUT_OVERALL_MINUTES: 70
RADV_PERFTEST: shader_object
vkcts-renoir-valve:
extends:
@@ -219,6 +207,7 @@ vkcts-renoir-valve:
GPU_VERSION: radv-renoir-aco
B2C_TIMEOUT_BOOT_MINUTES: 130
B2C_TIMEOUT_OVERALL_MINUTES: 130
RADV_PERFTEST: shader_object
vkcts-navi10-valve:
parallel: 2
@@ -228,10 +217,11 @@ vkcts-navi10-valve:
- .radv-valve-manual-rules
variables:
GPU_VERSION: radv-navi10-aco
RADV_PERFTEST: shader_object
vkcts-navi21-valve:
timeout: 35m
parallel: 3
parallel: 4
extends:
- .vkcts-test-valve
- .navi21-test-valve
@@ -240,6 +230,7 @@ vkcts-navi21-valve:
GPU_VERSION: radv-navi21-aco
B2C_TIMEOUT_BOOT_MINUTES: 30
B2C_TIMEOUT_OVERALL_MINUTES: 30
RADV_PERFTEST: shader_object
# Disabled due to its extremelly-broken nature
.vkcts-navi21-llvm-valve:
@@ -260,11 +251,12 @@ vkcts-vangogh-valve:
timeout: 2h 10m
variables:
GPU_VERSION: radv-vangogh-aco
RADV_PERFTEST: shader_object
glcts-vangogh-valve:
extends:
- .b2c-x86_64-test-gl
- .b2c-deqp-test
- .b2c-test-gl
- .deqp-test-valve
- .vangogh-test-valve
- .radeonsi-valve-manual-rules
timeout: 40m
@@ -280,6 +272,7 @@ vkcts-navi31-valve:
variables:
GPU_VERSION: radv-navi31-aco
RADV_DEBUG: nomeshshader # Disable mesh shaders until task shaders stop hanging
RADV_PERFTEST: shader_object
############### Fossilize
radv-fossils:

View File

@@ -24,21 +24,44 @@ spec@!opengl 3.2@gl-3.2-adj-prims line cull-front pv-last,Fail
spec@!opengl 3.2@gl-3.2-adj-prims pv-last,Fail
spec@arb_depth_buffer_float@fbo-depthstencil-gl_depth32f_stencil8-drawpixels-float-and-ushort,Fail
spec@arb_depth_buffer_float@fbo-stencil-gl_depth32f_stencil8-drawpixels,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail
@@ -63,24 +86,44 @@ spec@ext_packed_depth_stencil@fbo-stencil-gl_depth24_stencil8-drawpixels,Fail
spec@glsl-1.50@execution@geometry@primitive-types gl_triangle_strip_adjacency,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@glsl-es-3.00@execution@built-in-functions@fs-packhalf2x16,Fail
spec@glsl-es-3.00@execution@built-in-functions@vs-packhalf2x16,Fail

View File

@@ -29,6 +29,45 @@ spec@!opengl 3.2@gl-3.2-adj-prims line cull-front pv-first,Fail
spec@!opengl 3.2@gl-3.2-adj-prims pv-first,Fail
spec@arb_es2_compatibility@texwrap formats bordercolor-swizzled,Fail
spec@arb_es2_compatibility@texwrap formats bordercolor-swizzled@GL_RGB565- swizzled- border color only,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail
@@ -129,6 +168,45 @@ spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SR
spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_S3TC_DXT1_EXT- swizzled- border color only,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@glsl-es-3.00@execution@built-in-functions@fs-packhalf2x16,Fail
spec@glsl-es-3.00@execution@built-in-functions@vs-packhalf2x16,Fail
spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail

View File

@@ -116,6 +116,45 @@ spec@!opengl 1.0@rasterpos@glsl_vs_gs_linked,Fail
spec@!opengl 1.0@rasterpos@glsl_vs_tes_linked,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
spec@arb_fragment_layer_viewport@layer-gs-writes-out-of-range,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@arb_gpu_shader_fp64@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-frag,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail
spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail
@@ -127,6 +166,45 @@ spec@arb_viewport_array@display-list,Fail
spec@egl 1.4@eglterminate then unbind context,Fail
spec@egl_khr_surfaceless_context@viewport,Fail
spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@geom-conversion-explicit-dvec4-vec4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2-mat2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x3-mat2x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat2x4-mat2x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3-mat3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x2-mat3x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat3x4-mat3x4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4-mat4,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x2-mat4x2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dmat4x3-mat4x3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-double-float,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec2-vec2,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec3-vec3,Fail
spec@glsl-4.00@execution@conversion@vert-conversion-explicit-dvec4-vec4,Fail
spec@glsl-es-3.00@execution@built-in-functions@fs-packhalf2x16,Fail
spec@glsl-es-3.00@execution@built-in-functions@vs-packhalf2x16,Fail
spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail

View File

@@ -3,14 +3,9 @@ KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluat
KHR-GLES31.core.tessellation_shader.vertex.vertex_ordering
KHR-GL46.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives
KHR-GL46.texture_swizzle.functional
KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
spec@arb_timer_query@timestamp-get
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount-multithread
# Nightly run expectations update
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f.cubemap_to_texture2d_array

View File

@@ -1,5 +1,2 @@
# New CTS failures in 1.3.7.0
dEQP-VK.api.version_check.unavailable_entry_points,Fail
# New CTS failures in 1.3.8.0
dEQP-VK.api.get_device_proc_addr.non_enabled,Fail

Some files were not shown because too many files have changed in this diff Show More