Compare commits
11 Commits
mesa-24.1.
...
explicit-s
Author | SHA1 | Date | |
---|---|---|---|
|
aa5bc3e41f | ||
|
e4e3436d45 | ||
|
becb5d5161 | ||
|
06c2af994b | ||
|
d9cbc79941 | ||
|
e209b02b97 | ||
|
8a098f591b | ||
|
754f52e1e1 | ||
|
00dba3992c | ||
|
9c8f205131 | ||
|
f17f43b149 |
@@ -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:
|
||||
|
@@ -61,7 +61,3 @@ deployment:
|
||||
initramfs:
|
||||
url: '{{ initramfs_url }}'
|
||||
|
||||
{% if dtb_url is defined %}
|
||||
dtb:
|
||||
url: '{{ dtb_url }}'
|
||||
{% endif %}
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -41,7 +41,6 @@ DEPS=(
|
||||
libpciaccess-dev
|
||||
zlib-dev
|
||||
python3-dev
|
||||
py3-cparser
|
||||
py3-mako
|
||||
py3-ply
|
||||
vulkan-headers
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -64,7 +64,6 @@ DEPS=(
|
||||
python3-mako
|
||||
python3-pil
|
||||
python3-pip
|
||||
python3-pycparser
|
||||
python3-requests
|
||||
python3-setuptools
|
||||
u-boot-tools
|
||||
|
@@ -70,7 +70,6 @@ DEPS=(
|
||||
python3-pil
|
||||
python3-pip
|
||||
python3-ply
|
||||
python3-pycparser
|
||||
python3-requests
|
||||
python3-setuptools
|
||||
qemu-user
|
||||
|
@@ -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[@]}"
|
||||
|
@@ -27,7 +27,6 @@ EPHEMERAL=(
|
||||
libvulkan-dev
|
||||
libwaffle-dev
|
||||
libx11-xcb-dev
|
||||
libxcb-dri2-0-dev
|
||||
libxcb-ewmh-dev
|
||||
libxcb-keysyms1-dev
|
||||
libxkbcommon-dev
|
||||
|
@@ -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
|
||||
|
@@ -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}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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();
|
@@ -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 \
|
||||
|
@@ -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"
|
||||
|
@@ -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"'
|
||||
|
@@ -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"
|
||||
|
@@ -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"
|
||||
|
@@ -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"""
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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":
|
||||
|
@@ -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},
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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/
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
87
.gitlab-ci/valve/traces-runner.sh
Executable file
87
.gitlab-ci/valve/traces-runner.sh
Executable 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
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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:\
|
||||
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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'
|
||||
|
@@ -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
|
@@ -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
|
||||
}
|
||||
|
@@ -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']
|
||||
|
3002
.pick_status.json
3002
.pick_status.json
File diff suppressed because it is too large
Load Diff
@@ -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,
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
--------------------------------------
|
||||
|
@@ -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
|
||||
-----------------
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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).
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
---
|
||||
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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``.
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
@@ -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`
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
|
|
@@ -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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@@ -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>
|
||||
|
@@ -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
|
@@ -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
|
@@ -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
|
||||
|
@@ -1,8 +1,6 @@
|
||||
Rusticl
|
||||
=======
|
||||
|
||||
Rusticl is an OpenCL implementation on top of Gallium drivers.
|
||||
|
||||
Enabling
|
||||
--------
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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")
|
||||
|
92
meson.build
92
meson.build
@@ -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
|
||||
|
@@ -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.'
|
||||
)
|
||||
)
|
@@ -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
|
||||
|
@@ -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 =
|
||||
|
@@ -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",
|
||||
]
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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:
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
Reference in New Issue
Block a user