Compare commits
195 Commits
22.1
...
mesa-21.3.
Author | SHA1 | Date | |
---|---|---|---|
|
9a33ae9467 | ||
|
9ca91d9bbe | ||
|
b7ac49468b | ||
|
02dc554b21 | ||
|
a6c713f8c5 | ||
|
ca307d8cbf | ||
|
6e1de95860 | ||
|
503321ea7d | ||
|
dc7bccdb54 | ||
|
565a14d7ed | ||
|
5275563df4 | ||
|
f2de11b926 | ||
|
90486b44ae | ||
|
ca3f3318e4 | ||
|
9586feff54 | ||
|
ffb3ab4d7a | ||
|
5380104201 | ||
|
db338002c7 | ||
|
fdc6d4dc95 | ||
|
a728b8a732 | ||
|
764e965f37 | ||
|
c0d6fbba8e | ||
|
eb2f43553a | ||
|
a4ba277451 | ||
|
44b5b83593 | ||
|
3327295498 | ||
|
0f40fdd4d9 | ||
|
6108b3c7f2 | ||
|
e5b1bee339 | ||
|
766c57480b | ||
|
7970a4a9a8 | ||
|
b726997029 | ||
|
b5ebe0ec36 | ||
|
6bbf2110db | ||
|
e426a9e586 | ||
|
caf9593d4b | ||
|
7fd2714ddb | ||
|
49a49fd20c | ||
|
bdc8f04620 | ||
|
1ae6279081 | ||
|
4fd4c41c9e | ||
|
03ee3a9dd0 | ||
|
198f6463ee | ||
|
f4fe896423 | ||
|
8b4c231932 | ||
|
546a870459 | ||
|
84140c8792 | ||
|
20f076e6b7 | ||
|
2f542d2fba | ||
|
e7164ad154 | ||
|
2075a86ba2 | ||
|
7a23cf05a4 | ||
|
5b0ab532d4 | ||
|
8b46e23ef2 | ||
|
4286b1ebed | ||
|
3fc4ccde2d | ||
|
82fbb4bae8 | ||
|
8ed29c36eb | ||
|
3ca9c9c2d9 | ||
|
4ed9a049a1 | ||
|
7952aef95e | ||
|
a8c7745109 | ||
|
c8b1a34daf | ||
|
f7206f1cde | ||
|
0a246ea9f1 | ||
|
3744fd7ba8 | ||
|
cacf726669 | ||
|
61c78021b3 | ||
|
f5e4a3ee15 | ||
|
3edcd42bea | ||
|
c9fd70a573 | ||
|
2fd37402de | ||
|
5ac869f56c | ||
|
01009ce54a | ||
|
6789fa1600 | ||
|
c88f0087e6 | ||
|
b99dc621ec | ||
|
ced465b4e0 | ||
|
65f82f8b2d | ||
|
bab79aec38 | ||
|
f03f1b58a4 | ||
|
93aa5eb0a1 | ||
|
9687c4dfa2 | ||
|
d251318ea5 | ||
|
15751fbdf7 | ||
|
d3efbf9c64 | ||
|
1146a8ef50 | ||
|
371a73a602 | ||
|
2daf26c7e1 | ||
|
d5228dcd84 | ||
|
d901368b1b | ||
|
4a471ea160 | ||
|
bca13e8fc8 | ||
|
3e826c339c | ||
|
2b4ae31cec | ||
|
23ad2decbb | ||
|
a78bb23c0e | ||
|
7495998ce2 | ||
|
ce3598d34b | ||
|
ff163eeb64 | ||
|
9b5b2e2d80 | ||
|
2209023f6e | ||
|
2b89108e48 | ||
|
f4698f6105 | ||
|
6b6f321e28 | ||
|
3f46f53781 | ||
|
1640e3e2e9 | ||
|
ed5c8bb1d2 | ||
|
b255dbcdd9 | ||
|
00fcc6c6ae | ||
|
8c90f6ca3d | ||
|
a3ba864e7f | ||
|
88da00b28b | ||
|
d57b43827a | ||
|
d8b39ba136 | ||
|
42d1e477a8 | ||
|
bb9bdc4b73 | ||
|
f199962c4d | ||
|
bf2e533688 | ||
|
627659b6af | ||
|
b4506d1cc2 | ||
|
852c6bb9d2 | ||
|
59b59c586b | ||
|
8cb060c374 | ||
|
25b007d7a9 | ||
|
a82babccd1 | ||
|
e4dc69796e | ||
|
737c9a7dcf | ||
|
7264cc5cd4 | ||
|
4d88c19510 | ||
|
b6f0a4c11d | ||
|
a63104a7d8 | ||
|
734011012f | ||
|
2ac3a3b5e9 | ||
|
40eb47924e | ||
|
e97caaf452 | ||
|
1b87d41d73 | ||
|
14f88aaca3 | ||
|
fd3f846f4f | ||
|
ddcf4a13f2 | ||
|
f97f9253b6 | ||
|
2569f415f2 | ||
|
03b36e3efb | ||
|
61244fad74 | ||
|
664cc248b3 | ||
|
fa24bfb914 | ||
|
d9cdad377d | ||
|
ebf218158c | ||
|
d558fe4c75 | ||
|
25a09a9879 | ||
|
af0c678a3c | ||
|
b68088b110 | ||
|
b829dc1a3a | ||
|
bb763eee16 | ||
|
7976828ae3 | ||
|
f8b5444a09 | ||
|
f1b779361c | ||
|
d797e98b6f | ||
|
9aaf29b938 | ||
|
97a30b2d21 | ||
|
1771a7da08 | ||
|
5532c4267f | ||
|
80305d7c2e | ||
|
356cac1c29 | ||
|
b28da95fa4 | ||
|
28261505d6 | ||
|
b67308a449 | ||
|
2d6c11843d | ||
|
ca1c300ecd | ||
|
ed1db8e8ca | ||
|
4504abe511 | ||
|
d19e28c139 | ||
|
983cccf757 | ||
|
7456331987 | ||
|
bac2dd958a | ||
|
121f0528a7 | ||
|
3c0c2465f3 | ||
|
118131c071 | ||
|
b7942e3134 | ||
|
7cddbaab2d | ||
|
2dcee84ce3 | ||
|
9b68854c2e | ||
|
071ce0bbc7 | ||
|
8876a87565 | ||
|
9c7e483a1c | ||
|
0969e1247c | ||
|
3f61f84fe3 | ||
|
5c3159e088 | ||
|
45a9fd6acb | ||
|
81fe3260e0 | ||
|
70cd17bbf1 | ||
|
2b77d8afa7 | ||
|
f774768d17 | ||
|
1cf264d89d | ||
|
2dc6aa567f |
@@ -376,7 +376,7 @@ debian/android_build:
|
||||
extends:
|
||||
- .use-debian/x86_build-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-android_build "2021-07-02-bump-libdrm"
|
||||
MESA_IMAGE_TAG: &debian-android_build "2021-10-26-static-libstdcxx"
|
||||
|
||||
.use-debian/android_build:
|
||||
extends:
|
||||
@@ -392,7 +392,7 @@ debian/android_build:
|
||||
debian/x86_test-base:
|
||||
extends: debian/x86_build-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-x86_test-base "2021-09-28-deqp-runner"
|
||||
MESA_IMAGE_TAG: &debian-x86_test-base "2021-10-15-va"
|
||||
|
||||
.use-debian/x86_test-base:
|
||||
extends:
|
||||
@@ -409,14 +409,14 @@ debian/x86_test-gl:
|
||||
extends: .use-debian/x86_test-base
|
||||
variables:
|
||||
FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
|
||||
KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc5-for-mesa-ci-2bb5d9ffd79c/linux-v5.13-rc5-for-mesa-ci-2bb5d9ffd79c.tar.bz2"
|
||||
MESA_IMAGE_TAG: &debian-x86_test-gl "2021-2021-10-07-piglit"
|
||||
KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.15-for-mesa-ci-540a4af22d71/linux-v5.15-for-mesa-ci-540a4af22d71.tar.bz2"
|
||||
MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-02-lazor"
|
||||
|
||||
# Debian 11 based x86 test image for VK
|
||||
debian/x86_test-vk:
|
||||
extends: .use-debian/x86_test-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-x86_test-vk "2021-2021-10-07-piglit"
|
||||
MESA_IMAGE_TAG: &debian-x86_test-vk "2021-2021-10-15-va"
|
||||
|
||||
# Debian 11 based ARM build image
|
||||
debian/arm_build:
|
||||
@@ -465,7 +465,7 @@ fedora/x86_build:
|
||||
variables:
|
||||
GIT_STRATEGY: fetch
|
||||
KERNEL_URL: *kernel-rootfs-url
|
||||
MESA_ROOTFS_TAG: &kernel-rootfs "2021-10-07-piglit"
|
||||
MESA_ROOTFS_TAG: &kernel-rootfs "2021-11-02-lazor"
|
||||
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||
script:
|
||||
- .gitlab-ci/container/lava_build.sh
|
||||
@@ -684,6 +684,7 @@ debian-testing:
|
||||
-D platforms=x11
|
||||
GALLIUM_ST: >
|
||||
-D dri3=enabled
|
||||
-D gallium-va=enabled
|
||||
GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,iris,i915"
|
||||
VULKAN_DRIVERS: "swrast,amd"
|
||||
BUILDTYPE: "debugoptimized"
|
||||
@@ -1291,6 +1292,7 @@ debian-mingw32-x86_64:
|
||||
- when: never
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
JOB_TIMEOUT: 80
|
||||
|
||||
# The above .test-manual rules doesn't allow the jobs to be available for MRs
|
||||
# but we should have an option to have manual jobs in MRs as well.
|
||||
@@ -1304,6 +1306,7 @@ debian-mingw32-x86_64:
|
||||
- when: never
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
JOB_TIMEOUT: 80
|
||||
|
||||
.baremetal-test:
|
||||
extends:
|
||||
@@ -1337,7 +1340,7 @@ debian-mingw32-x86_64:
|
||||
|
||||
.baremetal-arm64-asan-test:
|
||||
variables:
|
||||
TEST_LD_PRELOAD: libasan.so.6
|
||||
DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6"
|
||||
MINIO_ARTIFACT_NAME: mesa-arm64-asan
|
||||
needs:
|
||||
- debian/arm_test
|
||||
@@ -1347,4 +1350,4 @@ debian-mingw32-x86_64:
|
||||
.baremetal-deqp-test:
|
||||
variables:
|
||||
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
DEQP_PARALLEL: 0 # Default to number of CPUs
|
||||
FDO_CI_CONCURRENT: 0 # Default to number of CPUs
|
||||
|
@@ -8,3 +8,10 @@ dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/4575
|
||||
dEQP-VK.wsi.display.get_display_plane_capabilities
|
||||
|
||||
# piglit: WGL is Windows-only
|
||||
wgl@.*
|
||||
|
||||
# These are sensitive to CPU timing, and would need to be run in isolation
|
||||
# on the system rather than in parallel with other tests.
|
||||
glx@glx_arb_sync_control@timing.*
|
@@ -10,7 +10,7 @@ EXIT=0
|
||||
# Run reset tests without parallelism:
|
||||
if ! env \
|
||||
DEQP_RESULTS_DIR=results/reset \
|
||||
DEQP_PARALLEL=1 \
|
||||
FDO_CI_CONCURRENT=1 \
|
||||
DEQP_CASELIST_FILTER='.*reset.*' \
|
||||
/install/deqp-runner.sh; then
|
||||
EXIT=1
|
||||
|
@@ -26,7 +26,6 @@ for var in \
|
||||
DEQP_EXPECTED_RENDERER \
|
||||
DEQP_FRACTION \
|
||||
DEQP_HEIGHT \
|
||||
DEQP_PARALLEL \
|
||||
DEQP_RESULTS_DIR \
|
||||
DEQP_RUNNER_OPTIONS \
|
||||
DEQP_SUITE \
|
||||
@@ -42,6 +41,12 @@ for var in \
|
||||
FD_MESA_DEBUG \
|
||||
FLAKES_CHANNEL \
|
||||
GPU_VERSION \
|
||||
GTEST \
|
||||
GTEST_FAILS \
|
||||
GTEST_FRACTION \
|
||||
GTEST_RESULTS_DIR \
|
||||
GTEST_RUNNER_OPTIONS \
|
||||
GTEST_SKIPS \
|
||||
HWCI_FREQ_MAX \
|
||||
HWCI_KERNEL_MODULES \
|
||||
HWCI_START_XORG \
|
||||
@@ -75,7 +80,6 @@ for var in \
|
||||
PIGLIT_RESULTS \
|
||||
PIGLIT_TESTS \
|
||||
PIPELINE_ARTIFACTS_BASE \
|
||||
TEST_LD_PRELOAD \
|
||||
TU_DEBUG \
|
||||
VK_CPU \
|
||||
VK_DRIVER \
|
||||
|
@@ -16,7 +16,6 @@ CONFIG_DRM_LIMA=y
|
||||
CONFIG_DRM_PANEL_SIMPLE=y
|
||||
CONFIG_DRM_MSM=y
|
||||
CONFIG_DRM_I2C_ADV7511=y
|
||||
CONFIG_DRM_I2C_ADV7533=y
|
||||
CONFIG_PWM_CROS_EC=y
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
|
||||
@@ -32,6 +31,10 @@ CONFIG_TYPEC=y
|
||||
CONFIG_TYPEC_TCPM=y
|
||||
|
||||
# MSM platform bits
|
||||
|
||||
# For CONFIG_QCOM_LMH
|
||||
CONFIG_OF=y
|
||||
|
||||
CONFIG_QCOM_RPMHPD=y
|
||||
CONFIG_QCOM_RPMPD=y
|
||||
CONFIG_SDM_GPUCC_845=y
|
||||
@@ -45,9 +48,11 @@ CONFIG_I2C_QCOM_GENI=y
|
||||
CONFIG_SPI_QCOM_GENI=y
|
||||
CONFIG_PHY_QCOM_QUSB2=y
|
||||
CONFIG_PHY_QCOM_QMP=y
|
||||
CONFIG_QCOM_LLCC=y
|
||||
CONFIG_QCOM_SPMI_TEMP_ALARM=y
|
||||
CONFIG_QCOM_CLK_APCC_MSM8996=y
|
||||
CONFIG_QCOM_LLCC=y
|
||||
CONFIG_QCOM_LMH=y
|
||||
CONFIG_QCOM_SPMI_TEMP_ALARM=y
|
||||
CONFIG_QCOM_WDT=y
|
||||
CONFIG_POWER_RESET_QCOM_PON=y
|
||||
CONFIG_RTC_DRV_PM8XXX=y
|
||||
CONFIG_INTERCONNECT=y
|
||||
@@ -56,8 +61,9 @@ CONFIG_INTERCONNECT_QCOM_SDM845=y
|
||||
CONFIG_INTERCONNECT_QCOM_MSM8916=y
|
||||
CONFIG_INTERCONNECT_QCOM_OSM_L3=y
|
||||
CONFIG_INTERCONNECT_QCOM_SC7180=y
|
||||
CONFIG_QCOM_WDT=y
|
||||
CONFIG_CRYPTO_DEV_QCOM_RNG=y
|
||||
CONFIG_SC_DISPCC_7180=y
|
||||
CONFIG_SC_GPUCC_7180=y
|
||||
|
||||
# db410c ethernet
|
||||
CONFIG_USB_RTL8152=y
|
||||
@@ -142,7 +148,9 @@ CONFIG_DRM_MESON=y
|
||||
CONFIG_DRM_MEDIATEK=y
|
||||
CONFIG_PWM_MEDIATEK=y
|
||||
CONFIG_DRM_MEDIATEK_HDMI=y
|
||||
CONFIG_GNSS=y
|
||||
CONFIG_GNSS_MTK_SERIAL=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_MTK=y
|
||||
CONFIG_MTK_DEVAPC=y
|
||||
CONFIG_PWM_MTK_DISP=y
|
||||
|
@@ -4,6 +4,6 @@ set -ex
|
||||
|
||||
cargo install --locked deqp-runner \
|
||||
-j ${FDO_CI_CONCURRENT:-4} \
|
||||
--version 0.9.0 \
|
||||
--version 0.10.0 \
|
||||
--root /usr/local \
|
||||
$EXTRA_CARGO_ARGS
|
||||
|
17
.gitlab-ci/container/build-va-tools.sh
Normal file
17
.gitlab-ci/container/build-va-tools.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
git config --global user.email "mesa@example.com"
|
||||
git config --global user.name "Mesa CI"
|
||||
git clone \
|
||||
https://github.com/intel/libva-utils.git \
|
||||
-b 2.13.0 \
|
||||
--depth 1 \
|
||||
/va-utils
|
||||
|
||||
pushd /va-utils
|
||||
meson build -D tests=true -Dprefix=/va $EXTRA_MESON_ARGS
|
||||
ninja -C build install
|
||||
popd
|
||||
rm -rf /va-utils
|
@@ -17,7 +17,7 @@ cat >$cross_file <<EOF
|
||||
[binaries]
|
||||
ar = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-ar'
|
||||
c = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
|
||||
cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
|
||||
cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
|
||||
c_ld = 'lld'
|
||||
cpp_ld = 'lld'
|
||||
strip = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-strip'
|
||||
|
@@ -8,6 +8,8 @@ elif [ $DEBIAN_ARCH = amd64 ]; then
|
||||
ARCH_PACKAGES="firmware-amd-graphics
|
||||
libelf1
|
||||
libllvm11
|
||||
libva2
|
||||
libva-drm2
|
||||
"
|
||||
fi
|
||||
|
||||
|
@@ -34,6 +34,7 @@ if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
|
||||
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8096-db820c.dtb"
|
||||
DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb"
|
||||
DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb"
|
||||
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots.dtb"
|
||||
KERNEL_IMAGE_NAME="Image"
|
||||
elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
|
||||
GCC_ARCH="arm-linux-gnueabihf"
|
||||
@@ -50,6 +51,7 @@ else
|
||||
DEFCONFIG="arch/x86/configs/x86_64_defconfig"
|
||||
DEVICE_TREES=""
|
||||
KERNEL_IMAGE_NAME="bzImage"
|
||||
ARCH_PACKAGES="libva-dev"
|
||||
fi
|
||||
|
||||
# Determine if we're in a cross build.
|
||||
@@ -71,6 +73,7 @@ fi
|
||||
|
||||
apt-get update
|
||||
apt-get install -y --no-remove \
|
||||
${ARCH_PACKAGES} \
|
||||
automake \
|
||||
bc \
|
||||
cmake \
|
||||
@@ -129,8 +132,7 @@ rm -rf /apitrace
|
||||
############### Build dEQP runner
|
||||
. .gitlab-ci/container/build-deqp-runner.sh
|
||||
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
|
||||
mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
|
||||
mv /usr/local/bin/piglit-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
|
||||
mv /usr/local/bin/*-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
|
||||
|
||||
|
||||
############### Build dEQP
|
||||
@@ -143,6 +145,11 @@ mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
|
||||
PIGLIT_OPTS="-DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
|
||||
mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
|
||||
|
||||
############### Build libva tests
|
||||
if [[ "$DEBIAN_ARCH" = "amd64" ]]; then
|
||||
. .gitlab-ci/container/build-va-tools.sh
|
||||
mv /va/bin/* /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/
|
||||
fi
|
||||
|
||||
############### Build libdrm
|
||||
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
|
||||
@@ -179,6 +186,8 @@ rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
|
||||
# created.
|
||||
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
|
||||
find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
|
||||
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/libdrm/
|
||||
cp -Rp /libdrm/share /lava-files/rootfs-${DEBIAN_ARCH}/libdrm/share
|
||||
rm -rf /libdrm
|
||||
|
||||
|
||||
|
@@ -1,6 +1,11 @@
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_CROS_EC=y
|
||||
|
||||
# abootimg with a 'dummy' rootfs fails with root=/dev/nfs
|
||||
CONFIG_BLK_DEV_INITRD=n
|
||||
|
||||
@@ -57,7 +62,7 @@ CONFIG_X86_AMD_FREQ_SENSITIVITY=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_AMD=y
|
||||
CONFIG_DRM_AMDGPU=m
|
||||
CONFIG_DRM_AMDGPU_SI=m
|
||||
CONFIG_DRM_AMDGPU_SI=y
|
||||
CONFIG_DRM_AMDGPU_USERPTR=y
|
||||
CONFIG_DRM_AMD_ACP=n
|
||||
CONFIG_ACPI_WMI=y
|
||||
|
@@ -2,30 +2,8 @@
|
||||
|
||||
set -ex
|
||||
|
||||
DEQP_WIDTH=${DEQP_WIDTH:-256}
|
||||
DEQP_HEIGHT=${DEQP_HEIGHT:-256}
|
||||
DEQP_CONFIG=${DEQP_CONFIG:-rgba8888d24s8ms0}
|
||||
DEQP_VARIANT=${DEQP_VARIANT:-master}
|
||||
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=$DEQP_WIDTH --deqp-surface-height=$DEQP_HEIGHT"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=${DEQP_SURFACE_TYPE:-pbuffer}"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||
|
||||
if [ -z "$DEQP_VER" ]; then
|
||||
echo 'DEQP_VER must be set to something like "gles2", "gles31-khr" or "vk" for the test run'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$DEQP_VER" = "vk" ]; then
|
||||
if [ -z "$VK_DRIVER" ]; then
|
||||
echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$GPU_VERSION" ]; then
|
||||
echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/deqp-gpu-version-*.txt)'
|
||||
echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/gpu-version-*.txt)'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -36,35 +14,48 @@ export LD_LIBRARY_PATH=`pwd`/install/lib/
|
||||
export EGL_PLATFORM=surfaceless
|
||||
export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.${VK_CPU:-`uname -m`}.json
|
||||
|
||||
# the runner was failing to look for libkms in /usr/local/lib for some reason
|
||||
# I never figured out.
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
|
||||
|
||||
RESULTS=`pwd`/${DEQP_RESULTS_DIR:-results}
|
||||
mkdir -p $RESULTS
|
||||
|
||||
HANG_DETECTION_CMD=""
|
||||
|
||||
# Generate test case list file.
|
||||
if [ "$DEQP_VER" = "vk" ]; then
|
||||
MUSTPASS=/deqp/mustpass/vk-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
|
||||
HANG_DETECTION_CMD="/parallel-deqp-runner/build/bin/hang-detection"
|
||||
elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" -o "$DEQP_VER" = "egl" ]; then
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
|
||||
SUITE=dEQP
|
||||
elif [ "$DEQP_VER" = "gles2-khr" -o "$DEQP_VER" = "gles3-khr" -o "$DEQP_VER" = "gles31-khr" -o "$DEQP_VER" = "gles32-khr" ]; then
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/openglcts/modules/glcts
|
||||
SUITE=dEQP
|
||||
else
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/openglcts/modules/glcts
|
||||
SUITE=KHR
|
||||
fi
|
||||
|
||||
if [ -z "$DEQP_SUITE" ]; then
|
||||
if [ -z "$DEQP_VER" ]; then
|
||||
echo 'DEQP_SUITE must be set to the name of your deqp-gpu_version.toml, or DEQP_VER must be set to something like "gles2", "gles31-khr" or "vk" for the test run'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEQP_WIDTH=${DEQP_WIDTH:-256}
|
||||
DEQP_HEIGHT=${DEQP_HEIGHT:-256}
|
||||
DEQP_CONFIG=${DEQP_CONFIG:-rgba8888d24s8ms0}
|
||||
DEQP_VARIANT=${DEQP_VARIANT:-master}
|
||||
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=$DEQP_WIDTH --deqp-surface-height=$DEQP_HEIGHT"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=${DEQP_SURFACE_TYPE:-pbuffer}"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||
|
||||
if [ "$DEQP_VER" = "vk" -a -z "$VK_DRIVER" ]; then
|
||||
echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Generate test case list file.
|
||||
if [ "$DEQP_VER" = "vk" ]; then
|
||||
MUSTPASS=/deqp/mustpass/vk-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
|
||||
HANG_DETECTION_CMD="/parallel-deqp-runner/build/bin/hang-detection"
|
||||
elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" -o "$DEQP_VER" = "egl" ]; then
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
|
||||
elif [ "$DEQP_VER" = "gles2-khr" -o "$DEQP_VER" = "gles3-khr" -o "$DEQP_VER" = "gles31-khr" -o "$DEQP_VER" = "gles32-khr" ]; then
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/openglcts/modules/glcts
|
||||
else
|
||||
MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
|
||||
DEQP=/deqp/external/openglcts/modules/glcts
|
||||
fi
|
||||
|
||||
cp $MUSTPASS /tmp/case-list.txt
|
||||
|
||||
# If the caselist is too long to run in a reasonable amount of time, let the job
|
||||
@@ -94,80 +85,32 @@ if [ -z "$DEQP_SUITE" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e "$INSTALL/deqp-$GPU_VERSION-fails.txt" ]; then
|
||||
DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --baseline $INSTALL/deqp-$GPU_VERSION-fails.txt"
|
||||
if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
|
||||
DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
|
||||
fi
|
||||
|
||||
# Default to an empty known flakes file if it doesn't exist.
|
||||
touch $INSTALL/deqp-$GPU_VERSION-flakes.txt
|
||||
touch $INSTALL/$GPU_VERSION-flakes.txt
|
||||
|
||||
|
||||
if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/deqp-$VK_DRIVER-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$VK_DRIVER-skips.txt"
|
||||
if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/$VK_DRIVER-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$VK_DRIVER-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/deqp-$GALLIUM_DRIVER-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$GALLIUM_DRIVER-skips.txt"
|
||||
if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$GALLIUM_DRIVER-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/deqp-$DRIVER_NAME-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$DRIVER_NAME-skips.txt"
|
||||
if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$DRIVER_NAME-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -e "$INSTALL/deqp-$GPU_VERSION-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$GPU_VERSION-skips.txt"
|
||||
if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
|
||||
DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$GPU_VERSION-skips.txt"
|
||||
fi
|
||||
|
||||
set +e
|
||||
|
||||
if [ -n "$DEQP_PARALLEL" ]; then
|
||||
JOB="--jobs $DEQP_PARALLEL"
|
||||
elif [ -n "$FDO_CI_CONCURRENT" ]; then
|
||||
JOB="--jobs $FDO_CI_CONCURRENT"
|
||||
else
|
||||
JOB="--jobs 4"
|
||||
fi
|
||||
|
||||
parse_renderer() {
|
||||
RENDERER=`grep -A1 TestCaseResult.\*info.renderer $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
|
||||
VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
|
||||
echo "Renderer: $RENDERER"
|
||||
echo "Version: $VERSION "
|
||||
|
||||
if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then
|
||||
echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_renderer() {
|
||||
if echo $DEQP_VER | grep -q egl; then
|
||||
return
|
||||
fi
|
||||
echo "Capturing renderer info for GLES driver sanity checks"
|
||||
# If you're having trouble loading your driver, uncommenting this may help
|
||||
# debug.
|
||||
# export EGL_LOG_LEVEL=debug
|
||||
VERSION=`echo $DEQP_VER | cut -d '-' -f1 | tr '[a-z]' '[A-Z]'`
|
||||
export LD_PRELOAD=$TEST_LD_PRELOAD
|
||||
$DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
|
||||
export LD_PRELOAD=
|
||||
parse_renderer
|
||||
}
|
||||
|
||||
check_vk_device_name() {
|
||||
echo "Capturing device info for VK driver sanity checks"
|
||||
export LD_PRELOAD=$TEST_LD_PRELOAD
|
||||
$DEQP $DEQP_OPTIONS --deqp-case=dEQP-VK.info.device --deqp-log-filename=$RESULTS/deqp-info.qpa
|
||||
export LD_PRELOAD=
|
||||
DEVICENAME=`grep deviceName $RESULTS/deqp-info.qpa | sed 's|deviceName: ||g'`
|
||||
echo "deviceName: $DEVICENAME"
|
||||
if ! echo $DEVICENAME | grep -q "$DEQP_EXPECTED_RENDERER"; then
|
||||
echo "Expected deviceName $DEQP_EXPECTED_RENDERER"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
report_load() {
|
||||
echo "System load: $(cut -d' ' -f1-3 < /proc/loadavg)"
|
||||
echo "# of CPU cores: $(cat /proc/cpuinfo | grep processor | wc -l)"
|
||||
@@ -196,28 +139,23 @@ if [ "$GALLIUM_DRIVER" = "virpipe" ]; then
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if [ $DEQP_VER = vk ]; then
|
||||
quiet check_vk_device_name
|
||||
else
|
||||
quiet check_renderer
|
||||
fi
|
||||
|
||||
RESULTS_CSV=$RESULTS/results.csv
|
||||
FAILURES_CSV=$RESULTS/failures.csv
|
||||
|
||||
export LD_PRELOAD=$TEST_LD_PRELOAD
|
||||
|
||||
if [ -z "$DEQP_SUITE" ]; then
|
||||
if [ -n "$DEQP_EXPECTED_RENDERER" ]; then
|
||||
export DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --renderer-check "$DEQP_EXPECTED_RENDERER""
|
||||
fi
|
||||
if [ $DEQP_VER != vk -a $DEQP_VER != egl ]; then
|
||||
export DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --version-check `cat $INSTALL/VERSION | sed 's/[() ]/./g'`"
|
||||
fi
|
||||
|
||||
deqp-runner \
|
||||
run \
|
||||
--deqp $DEQP \
|
||||
--output $RESULTS \
|
||||
--caselist /tmp/case-list.txt \
|
||||
--skips $INSTALL/deqp-all-skips.txt $DEQP_SKIPS \
|
||||
--flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
|
||||
--skips $INSTALL/all-skips.txt $DEQP_SKIPS \
|
||||
--flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--testlog-to-xml /deqp/executor/testlog-to-xml \
|
||||
$JOB \
|
||||
$SUMMARY_LIMIT \
|
||||
--jobs ${FDO_CI_CONCURRENT:-4} \
|
||||
$DEQP_RUNNER_OPTIONS \
|
||||
-- \
|
||||
$DEQP_OPTIONS
|
||||
@@ -226,19 +164,17 @@ else
|
||||
suite \
|
||||
--suite $INSTALL/deqp-$DEQP_SUITE.toml \
|
||||
--output $RESULTS \
|
||||
--skips $INSTALL/deqp-all-skips.txt $DEQP_SKIPS \
|
||||
--flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
|
||||
--skips $INSTALL/all-skips.txt $DEQP_SKIPS \
|
||||
--flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--testlog-to-xml /deqp/executor/testlog-to-xml \
|
||||
--fraction-start $CI_NODE_INDEX \
|
||||
--fraction $CI_NODE_TOTAL \
|
||||
$JOB \
|
||||
$SUMMARY_LIMIT \
|
||||
--jobs ${FDO_CI_CONCURRENT:-4} \
|
||||
$DEQP_RUNNER_OPTIONS
|
||||
fi
|
||||
|
||||
DEQP_EXITCODE=$?
|
||||
|
||||
export LD_PRELOAD=
|
||||
quiet report_load
|
||||
|
||||
# Remove all but the first 50 individual XML files uploaded as artifacts, to
|
||||
@@ -253,8 +189,8 @@ find $RESULTS -name \*.xml \
|
||||
-exec cp /deqp/testlog.css /deqp/testlog.xsl "$RESULTS/" ";" \
|
||||
-quit
|
||||
|
||||
$HANG_DETECTION_CMD deqp-runner junit \
|
||||
--testsuite $DEQP_VER \
|
||||
deqp-runner junit \
|
||||
--testsuite dEQP \
|
||||
--results $RESULTS/failures.csv \
|
||||
--output $RESULTS/junit.xml \
|
||||
--limit 50 \
|
||||
@@ -265,8 +201,8 @@ if [ -n "$FLAKES_CHANNEL" ]; then
|
||||
python3 $INSTALL/report-flakes.py \
|
||||
--host irc.oftc.net \
|
||||
--port 6667 \
|
||||
--results $RESULTS_CSV \
|
||||
--known-flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
|
||||
--results $RESULTS/results.csv \
|
||||
--known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--channel "$FLAKES_CHANNEL" \
|
||||
--runner "$CI_RUNNER_DESCRIPTION" \
|
||||
--job "$CI_JOB_ID" \
|
||||
|
70
.gitlab-ci/gtest-runner.sh
Normal file
70
.gitlab-ci/gtest-runner.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
INSTALL=`pwd`/install
|
||||
|
||||
# Set up the driver environment.
|
||||
export LD_LIBRARY_PATH=`pwd`/install/lib/
|
||||
export LIBVA_DRIVERS_PATH=`pwd`/install/lib/dri/
|
||||
# libva spams driver open info by default, and that happens per testcase.
|
||||
export LIBVA_MESSAGING_LEVEL=1
|
||||
|
||||
if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
|
||||
GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
|
||||
fi
|
||||
|
||||
# Default to an empty known flakes file if it doesn't exist.
|
||||
touch $INSTALL/$GPU_VERSION-flakes.txt
|
||||
|
||||
if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
|
||||
GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
|
||||
GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
|
||||
GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt"
|
||||
fi
|
||||
|
||||
set +e
|
||||
|
||||
gtest-runner \
|
||||
run \
|
||||
--gtest $GTEST \
|
||||
--output ${GTEST_RESULTS_DIR:-results} \
|
||||
--jobs ${FDO_CI_CONCURRENT:-4} \
|
||||
$GTEST_SKIPS \
|
||||
--flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--fraction-start ${CI_NODE_INDEX:-1} \
|
||||
--fraction $((${CI_NODE_TOTAL:-1} * ${GTEST_FRACTION:-1})) \
|
||||
--env "LD_PRELOAD=$TEST_LD_PRELOAD" \
|
||||
$GTEST_RUNNER_OPTIONS
|
||||
|
||||
GTEST_EXITCODE=$?
|
||||
|
||||
deqp-runner junit \
|
||||
--testsuite gtest \
|
||||
--results $RESULTS/failures.csv \
|
||||
--output $RESULTS/junit.xml \
|
||||
--limit 50 \
|
||||
--template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml"
|
||||
|
||||
# Report the flakes to the IRC channel for monitoring (if configured):
|
||||
if [ -n "$FLAKES_CHANNEL" ]; then
|
||||
python3 $INSTALL/report-flakes.py \
|
||||
--host irc.oftc.net \
|
||||
--port 6667 \
|
||||
--results $RESULTS/results.csv \
|
||||
--known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--channel "$FLAKES_CHANNEL" \
|
||||
--runner "$CI_RUNNER_DESCRIPTION" \
|
||||
--job "$CI_JOB_ID" \
|
||||
--url "$CI_JOB_URL" \
|
||||
--branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \
|
||||
--branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}"
|
||||
fi
|
||||
|
||||
exit $GTEST_EXITCODE
|
@@ -5,7 +5,7 @@
|
||||
interruptible: true
|
||||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
DEQP_PARALLEL: 6 # should be replaced by per-machine definitions
|
||||
FDO_CI_CONCURRENT: 6 # should be replaced by per-machine definitions
|
||||
DEQP_VER: gles2
|
||||
# proxy used to cache data locally
|
||||
FDO_HTTP_CACHE_URI: "http://caching-proxy/cache/?uri="
|
||||
|
@@ -34,6 +34,7 @@ artifacts/lava/lava_job_submitter.py \
|
||||
--mesa-build-url "${FDO_HTTP_CACHE_URI:-}https://${MESA_BUILD_PATH}" \
|
||||
--job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
|
||||
--job-artifacts-base ${JOB_ARTIFACTS_BASE} \
|
||||
--job-timeout ${JOB_TIMEOUT:-30} \
|
||||
--first-stage-init artifacts/ci-common/init-stage1.sh \
|
||||
--ci-project-dir ${CI_PROJECT_DIR} \
|
||||
--device-type ${DEVICE_TYPE} \
|
||||
|
@@ -71,7 +71,7 @@ def generate_lava_yaml(args):
|
||||
},
|
||||
'timeouts': {
|
||||
'job': {
|
||||
'minutes': 30
|
||||
'minutes': args.job_timeout
|
||||
}
|
||||
},
|
||||
}
|
||||
@@ -111,7 +111,7 @@ def generate_lava_yaml(args):
|
||||
# skeleton test definition: only declaring each job as a single 'test'
|
||||
# since LAVA's test parsing is not useful to us
|
||||
test = {
|
||||
'timeout': { 'minutes': 30 },
|
||||
'timeout': { 'minutes': args.job_timeout },
|
||||
'failure_retry': 1,
|
||||
'definitions': [ {
|
||||
'name': 'mesa',
|
||||
@@ -332,6 +332,7 @@ if __name__ == '__main__':
|
||||
parser.add_argument("--mesa-build-url")
|
||||
parser.add_argument("--job-rootfs-overlay-url")
|
||||
parser.add_argument("--job-artifacts-base")
|
||||
parser.add_argument("--job-timeout", type=int)
|
||||
parser.add_argument("--first-stage-init")
|
||||
parser.add_argument("--ci-project-dir")
|
||||
parser.add_argument("--device-type")
|
||||
|
@@ -1,6 +0,0 @@
|
||||
# WGL is Windows-only
|
||||
wgl@.*
|
||||
|
||||
# These are sensitive to CPU timing, and would need to be run in isolation
|
||||
# on the system rather than in parallel with other tests.
|
||||
glx@glx_arb_sync_control@timing.*
|
@@ -3,7 +3,7 @@
|
||||
set -ex
|
||||
|
||||
if [ -z "$GPU_VERSION" ]; then
|
||||
echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in your ci/piglit-gpu-version-*.txt)'
|
||||
echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in your ci/gpu-version-*.txt)'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -28,59 +28,45 @@ if [ -n "$CI_NODE_INDEX" ]; then
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --fraction-start ${CI_NODE_INDEX}"
|
||||
fi
|
||||
|
||||
if [ -e "$INSTALL/piglit-$GPU_VERSION-fails.txt" ]; then
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --baseline $INSTALL/piglit-$GPU_VERSION-fails.txt"
|
||||
if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
|
||||
fi
|
||||
|
||||
# Default to an empty known flakes file if it doesn't exist.
|
||||
touch $INSTALL/piglit-$GPU_VERSION-flakes.txt
|
||||
touch $INSTALL/$GPU_VERSION-flakes.txt
|
||||
|
||||
if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/piglit-$VK_DRIVER-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$VK_DRIVER-skips.txt"
|
||||
if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/$VK_DRIVER-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$VK_DRIVER-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/piglit-$GALLIUM_DRIVER-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$GALLIUM_DRIVER-skips.txt"
|
||||
if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$GALLIUM_DRIVER-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/piglit-$DRIVER_NAME-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$DRIVER_NAME-skips.txt"
|
||||
if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$DRIVER_NAME-skips.txt"
|
||||
fi
|
||||
|
||||
if [ -e "$INSTALL/piglit-$GPU_VERSION-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$GPU_VERSION-skips.txt"
|
||||
if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
|
||||
PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$GPU_VERSION-skips.txt"
|
||||
fi
|
||||
|
||||
set +e
|
||||
|
||||
if [ -n "$PIGLIT_PARALLEL" ]; then
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs $PIGLIT_PARALLEL"
|
||||
elif [ -n "$FDO_CI_CONCURRENT" ]; then
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs $FDO_CI_CONCURRENT"
|
||||
else
|
||||
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs 4"
|
||||
fi
|
||||
|
||||
RESULTS_CSV=$RESULTS/results.csv
|
||||
FAILURES_CSV=$RESULTS/failures.csv
|
||||
|
||||
export LD_PRELOAD=$TEST_LD_PRELOAD
|
||||
|
||||
piglit-runner \
|
||||
run \
|
||||
--piglit-folder /piglit \
|
||||
--output $RESULTS \
|
||||
--skips $INSTALL/piglit/piglit-all-skips.txt $PIGLIT_SKIPS \
|
||||
--flakes $INSTALL/piglit-$GPU_VERSION-flakes.txt \
|
||||
--profile $PIGLIT_PROFILES \
|
||||
--process-isolation \
|
||||
$PIGLIT_RUNNER_OPTIONS \
|
||||
-v -v
|
||||
piglit-runner \
|
||||
run \
|
||||
--piglit-folder /piglit \
|
||||
--output $RESULTS \
|
||||
--jobs ${FDO_CI_CONCURRENT:-4} \
|
||||
--skips $INSTALL/all-skips.txt $PIGLIT_SKIPS \
|
||||
--flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--profile $PIGLIT_PROFILES \
|
||||
--process-isolation \
|
||||
$PIGLIT_RUNNER_OPTIONS \
|
||||
-v -v
|
||||
|
||||
PIGLIT_EXITCODE=$?
|
||||
|
||||
export LD_PRELOAD=
|
||||
|
||||
deqp-runner junit \
|
||||
--testsuite $PIGLIT_PROFILES \
|
||||
--results $RESULTS/failures.csv \
|
||||
@@ -93,8 +79,8 @@ if [ -n "$FLAKES_CHANNEL" ]; then
|
||||
python3 $INSTALL/report-flakes.py \
|
||||
--host irc.oftc.net \
|
||||
--port 6667 \
|
||||
--results $RESULTS_CSV \
|
||||
--known-flakes $INSTALL/piglit-$GPU_VERSION-flakes.txt \
|
||||
--results $RESULTS/results.csv \
|
||||
--known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
|
||||
--channel "$FLAKES_CHANNEL" \
|
||||
--runner "$CI_RUNNER_DESCRIPTION" \
|
||||
--job "$CI_JOB_ID" \
|
||||
|
@@ -31,12 +31,11 @@ cp -Rp .gitlab-ci/piglit install/
|
||||
cp -Rp .gitlab-ci/fossils.yml install/
|
||||
cp -Rp .gitlab-ci/fossils install/
|
||||
cp -Rp .gitlab-ci/fossilize-runner.sh install/
|
||||
cp -Rp .gitlab-ci/deqp-runner.sh install/
|
||||
cp -Rp .gitlab-ci/crosvm-runner.sh install/
|
||||
cp -Rp .gitlab-ci/crosvm-init.sh install/
|
||||
cp -Rp .gitlab-ci/deqp-*.txt install/
|
||||
cp -Rp .gitlab-ci/*.txt install/
|
||||
cp -Rp .gitlab-ci/report-flakes.py install/
|
||||
cp -Rp .gitlab-ci/vkd3d-proton install/
|
||||
cp -Rp .gitlab-ci/*-runner.sh install/
|
||||
find . -path \*/ci/\*.txt \
|
||||
-o -path \*/ci/\*.toml \
|
||||
-o -path \*/ci/\*traces\*.yml \
|
||||
|
@@ -398,6 +398,25 @@
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
.radeonsi-vaapi-rules:
|
||||
stage: amd
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
- changes:
|
||||
*gallium_core_file_list
|
||||
when: on_success
|
||||
- changes:
|
||||
*radeonsi_file_list
|
||||
when: on_success
|
||||
- changes: &radeon_vcn_file_list
|
||||
- src/gallium/frontends/va/**/*
|
||||
- src/gallium/drivers/radeon/**/*
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
.i915g-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
|
9452
.pick_status.json
Normal file
9452
.pick_status.json
Normal file
File diff suppressed because it is too large
Load Diff
4398
docs/relnotes/21.3.0.rst
Normal file
4398
docs/relnotes/21.3.0.rst
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,23 +0,0 @@
|
||||
VK_EXT_color_write_enable on lavapipe
|
||||
GL_ARB_texture_filter_anisotropic in llvmpipe
|
||||
Anisotropic texture filtering in lavapipe
|
||||
VK_EXT_shader_atomic_float2 on Intel and RADV.
|
||||
VK_EXT_vertex_input_dynamic_state on RADV.
|
||||
VK_KHR_timeline_semaphore on lavapipe
|
||||
VK_EXT_external_memory_host on lavapipe
|
||||
GL_AMD_pinned_memory on llvmpipe
|
||||
GL 4.5 compatibility on llvmpipe
|
||||
VK_EXT_primitive_topology_list_restart on RADV and lavapipe.
|
||||
ES 3.2 on zink
|
||||
VK_KHR_depth_stencil_resolve on lavapipe
|
||||
VK_KHR_shader_integer_dot_product on RADV.
|
||||
OpenGL FP16 support on llvmpipe
|
||||
VK_KHR_shader_float16_int8 on lavapipe
|
||||
VK_KHR_shader_subgroup_extended_types on lavapipe
|
||||
VK_KHR_spirv_1_4 on lavapipe
|
||||
Experimental raytracing support on RADV
|
||||
VK_KHR_synchronization2 on Intel
|
||||
NGG shader based culling is now enabled by default on GFX10.3 on RADV.
|
||||
VK_KHR_maintenance4 on RADV
|
||||
VK_KHR_format_feature_flags2 on RADV.
|
||||
EGL_EXT_present_opaque on wayland
|
@@ -48,8 +48,6 @@ typedef unsigned int drm_drawable_t;
|
||||
typedef struct drm_clip_rect drm_clip_rect_t;
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
@@ -153,32 +151,6 @@ struct __DRIswapControlExtensionRec {
|
||||
unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
|
||||
};
|
||||
|
||||
/**
|
||||
* Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
|
||||
*/
|
||||
#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
|
||||
#define __DRI_FRAME_TRACKING_VERSION 1
|
||||
struct __DRIframeTrackingExtensionRec {
|
||||
__DRIextension base;
|
||||
|
||||
/**
|
||||
* Enable or disable frame usage tracking.
|
||||
*
|
||||
* \since Internal API version 20030317.
|
||||
*/
|
||||
int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
|
||||
|
||||
/**
|
||||
* Retrieve frame usage information.
|
||||
*
|
||||
* \since Internal API version 20030317.
|
||||
*/
|
||||
int (*queryFrameTracking)(__DRIdrawable *drawable,
|
||||
int64_t * sbc, int64_t * missedFrames,
|
||||
float * lastMissedUsage, float * usage);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Used by drivers that implement the GLX_SGI_video_sync extension.
|
||||
*/
|
||||
@@ -205,24 +177,6 @@ struct __DRImediaStreamCounterExtensionRec {
|
||||
int64_t *msc);
|
||||
};
|
||||
|
||||
|
||||
#define __DRI_TEX_OFFSET "DRI_TexOffset"
|
||||
#define __DRI_TEX_OFFSET_VERSION 1
|
||||
struct __DRItexOffsetExtensionRec {
|
||||
__DRIextension base;
|
||||
|
||||
/**
|
||||
* Method to override base texture image with a driver specific 'offset'.
|
||||
* The depth passed in allows e.g. to ignore the alpha channel of texture
|
||||
* images where the non-alpha components don't occupy a whole texel.
|
||||
*
|
||||
* For GLX_EXT_texture_from_pixmap with AIGLX.
|
||||
*/
|
||||
void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
|
||||
unsigned long long offset, GLint depth, GLuint pitch);
|
||||
};
|
||||
|
||||
|
||||
/* Valid values for format in the setTexBuffer2 function below. These
|
||||
* values match the GLX tokens for compatibility reasons, but we
|
||||
* define them here since the DRI interface can't depend on GLX. */
|
||||
@@ -243,7 +197,7 @@ struct __DRItexBufferExtensionRec {
|
||||
* setTexBuffer2 in version 2 of this interface
|
||||
*/
|
||||
void (*setTexBuffer)(__DRIcontext *pDRICtx,
|
||||
GLint target,
|
||||
int target,
|
||||
__DRIdrawable *pDraw);
|
||||
|
||||
/**
|
||||
@@ -255,8 +209,8 @@ struct __DRItexBufferExtensionRec {
|
||||
* \since 2
|
||||
*/
|
||||
void (*setTexBuffer2)(__DRIcontext *pDRICtx,
|
||||
GLint target,
|
||||
GLint format,
|
||||
int target,
|
||||
int format,
|
||||
__DRIdrawable *pDraw);
|
||||
/**
|
||||
* Method to release texture buffer in case some special platform
|
||||
@@ -267,7 +221,7 @@ struct __DRItexBufferExtensionRec {
|
||||
* \since 3
|
||||
*/
|
||||
void (*releaseTexBuffer)(__DRIcontext *pDRICtx,
|
||||
GLint target,
|
||||
int target,
|
||||
__DRIdrawable *pDraw);
|
||||
};
|
||||
|
||||
@@ -410,8 +364,8 @@ struct __DRI2fenceExtensionRec {
|
||||
* \param flags a combination of __DRI2_FENCE_FLAG_xxx flags
|
||||
* \param timeout the timeout in ns or __DRI2_FENCE_TIMEOUT_INFINITE
|
||||
*/
|
||||
GLboolean (*client_wait_sync)(__DRIcontext *ctx, void *fence,
|
||||
unsigned flags, uint64_t timeout);
|
||||
unsigned char (*client_wait_sync)(__DRIcontext *ctx, void *fence,
|
||||
unsigned flags, uint64_t timeout);
|
||||
|
||||
/**
|
||||
* This function enqueues a wait command into the command stream of
|
||||
@@ -549,28 +503,6 @@ typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
|
||||
typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
|
||||
typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
|
||||
|
||||
|
||||
/**
|
||||
* Callback to getDrawableInfo protocol
|
||||
*/
|
||||
#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
|
||||
#define __DRI_GET_DRAWABLE_INFO_VERSION 1
|
||||
struct __DRIgetDrawableInfoExtensionRec {
|
||||
__DRIextension base;
|
||||
|
||||
/**
|
||||
* This function is used to get information about the position, size, and
|
||||
* clip rects of a drawable.
|
||||
*/
|
||||
GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
|
||||
unsigned int * index, unsigned int * stamp,
|
||||
int * x, int * y, int * width, int * height,
|
||||
int * numClipRects, drm_clip_rect_t ** pClipRects,
|
||||
int * backX, int * backY,
|
||||
int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
|
||||
void *loaderPrivate);
|
||||
};
|
||||
|
||||
/**
|
||||
* Callback to get system time for media stream counter extensions.
|
||||
*/
|
||||
@@ -591,7 +523,7 @@ struct __DRIsystemTimeExtensionRec {
|
||||
* the rate of the "media stream counter". In practical terms, this is
|
||||
* the frame refresh rate of the display.
|
||||
*/
|
||||
GLboolean (*getMSCRate)(__DRIdrawable *draw,
|
||||
unsigned char (*getMSCRate)(__DRIdrawable *draw,
|
||||
int32_t * numerator, int32_t * denominator,
|
||||
void *loaderPrivate);
|
||||
};
|
||||
@@ -622,7 +554,7 @@ struct __DRIdamageExtensionRec {
|
||||
void (*reportDamage)(__DRIdrawable *draw,
|
||||
int x, int y,
|
||||
drm_clip_rect_t *rects, int num_rects,
|
||||
GLboolean front_buffer,
|
||||
unsigned char front_buffer,
|
||||
void *loaderPrivate);
|
||||
};
|
||||
|
||||
@@ -721,9 +653,9 @@ struct __DRIswrastLoaderExtensionRec {
|
||||
*
|
||||
* \since 6
|
||||
*/
|
||||
GLboolean (*getImageShm2)(__DRIdrawable *readable,
|
||||
int x, int y, int width, int height,
|
||||
int shmid, void *loaderPrivate);
|
||||
unsigned char (*getImageShm2)(__DRIdrawable *readable,
|
||||
int x, int y, int width, int height,
|
||||
int shmid, void *loaderPrivate);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1509,7 +1441,7 @@ struct __DRIimageExtensionRec {
|
||||
unsigned int use,
|
||||
void *loaderPrivate);
|
||||
|
||||
GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value);
|
||||
unsigned char (*queryImage)(__DRIimage *image, int attrib, int *value);
|
||||
|
||||
/**
|
||||
* The new __DRIimage will share the content with the old one, see dup(2).
|
||||
@@ -1521,7 +1453,7 @@ struct __DRIimageExtensionRec {
|
||||
*
|
||||
* \since 2
|
||||
*/
|
||||
GLboolean (*validateUsage)(__DRIimage *image, unsigned int use);
|
||||
unsigned char (*validateUsage)(__DRIimage *image, unsigned int use);
|
||||
|
||||
/**
|
||||
* Unlike createImageFromName __DRI_IMAGE_FORMAT is not used but instead
|
||||
@@ -1702,8 +1634,8 @@ struct __DRIimageExtensionRec {
|
||||
*
|
||||
* \since 15
|
||||
*/
|
||||
GLboolean (*queryDmaBufFormats)(__DRIscreen *screen, int max,
|
||||
int *formats, int *count);
|
||||
unsigned char (*queryDmaBufFormats)(__DRIscreen *screen, int max,
|
||||
int *formats, int *count);
|
||||
|
||||
/*
|
||||
* dmabuf format modifier query for a given format to support
|
||||
@@ -1724,10 +1656,10 @@ struct __DRIimageExtensionRec {
|
||||
*
|
||||
* \since 15
|
||||
*/
|
||||
GLboolean (*queryDmaBufModifiers)(__DRIscreen *screen, int fourcc,
|
||||
int max, uint64_t *modifiers,
|
||||
unsigned int *external_only,
|
||||
int *count);
|
||||
unsigned char (*queryDmaBufModifiers)(__DRIscreen *screen, int fourcc,
|
||||
int max, uint64_t *modifiers,
|
||||
unsigned int *external_only,
|
||||
int *count);
|
||||
|
||||
/**
|
||||
* dmabuf format modifier attribute query for a given format and modifier.
|
||||
@@ -1743,9 +1675,11 @@ struct __DRIimageExtensionRec {
|
||||
*
|
||||
* \since 16
|
||||
*/
|
||||
GLboolean (*queryDmaBufFormatModifierAttribs)(__DRIscreen *screen,
|
||||
uint32_t fourcc, uint64_t modifier,
|
||||
int attrib, uint64_t *value);
|
||||
unsigned char (*queryDmaBufFormatModifierAttribs)(__DRIscreen *screen,
|
||||
uint32_t fourcc,
|
||||
uint64_t modifier,
|
||||
int attrib,
|
||||
uint64_t *value);
|
||||
|
||||
/**
|
||||
* Create a DRI image from the given renderbuffer.
|
||||
@@ -1839,7 +1773,7 @@ struct __DRIimageLookupExtensionRec {
|
||||
*
|
||||
* \since 2
|
||||
*/
|
||||
GLboolean (*validateEGLImage)(void *image, void *loaderPrivate);
|
||||
unsigned char (*validateEGLImage)(void *image, void *loaderPrivate);
|
||||
|
||||
/**
|
||||
* Lookup EGLImage after validateEGLImage(). No lock in this function.
|
||||
@@ -2201,7 +2135,7 @@ struct __DRIbackgroundCallableExtensionRec {
|
||||
* the context was created. This can be used by the loader to identify
|
||||
* which context any callbacks are associated with.
|
||||
*/
|
||||
GLboolean (*isThreadSafe)(void *loaderPrivate);
|
||||
unsigned char (*isThreadSafe)(void *loaderPrivate);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -14,8 +14,6 @@ CHIPSET(0x4690, adl_gt1, "ADL-S GT1", "Intel(R) Graphics")
|
||||
CHIPSET(0x4691, adl_gt1, "ADL-S GT1", "Intel(R) Graphics")
|
||||
CHIPSET(0x4692, adl_gt1, "ADL-S GT1", "Intel(R) Graphics")
|
||||
CHIPSET(0x4693, adl_gt05, "ADL-S GT0.5", "Intel(R) Graphics")
|
||||
CHIPSET(0x4698, adl_gt1, "ADL-S GT1", "Intel(R) Graphics")
|
||||
CHIPSET(0x4699, adl_gt1, "ADL-S GT1", "Intel(R) Graphics")
|
||||
|
||||
CHIPSET(0x4626, adl_gt2, "ADL GT2", "Intel(R) Graphics")
|
||||
CHIPSET(0x4628, adl_gt2, "ADL GT2", "Intel(R) Graphics")
|
||||
|
30
meson.build
30
meson.build
@@ -1124,7 +1124,6 @@ else
|
||||
'-Werror=incompatible-pointer-types',
|
||||
'-Werror=int-conversion',
|
||||
'-Wimplicit-fallthrough',
|
||||
'-Werror=thread-safety',
|
||||
'-Wno-missing-field-initializers',
|
||||
'-Wno-format-truncation',
|
||||
'-fno-math-errno',
|
||||
@@ -1136,6 +1135,10 @@ else
|
||||
if not (cc.get_id() == 'gcc' and host_machine.system() == 'windows')
|
||||
_trial += ['-Werror=format', '-Wformat-security']
|
||||
endif
|
||||
# FreeBSD annotated <pthread.h> but Mesa isn't ready
|
||||
if not (cc.get_id() == 'clang' and host_machine.system() == 'freebsd')
|
||||
_trial += ['-Werror=thread-safety']
|
||||
endif
|
||||
foreach a : _trial
|
||||
if cc.has_argument(a)
|
||||
c_args += a
|
||||
@@ -1208,11 +1211,22 @@ if host_machine.system() == 'windows'
|
||||
endif
|
||||
else
|
||||
add_project_link_arguments(
|
||||
'-Wl,--nxcompat',
|
||||
'-Wl,--dynamicbase',
|
||||
'-static-libgcc',
|
||||
'-static-libstdc++',
|
||||
language : ['c', 'cpp'],
|
||||
cc.get_supported_arguments(
|
||||
'-Wl,--nxcompat',
|
||||
'-Wl,--dynamicbase',
|
||||
'-static-libgcc',
|
||||
'-static-libstdc++',
|
||||
),
|
||||
language : ['c'],
|
||||
)
|
||||
add_project_link_arguments(
|
||||
cpp.get_supported_arguments(
|
||||
'-Wl,--nxcompat',
|
||||
'-Wl,--dynamicbase',
|
||||
'-static-libgcc',
|
||||
'-static-libstdc++',
|
||||
),
|
||||
language : ['cpp'],
|
||||
)
|
||||
endif
|
||||
endif
|
||||
@@ -2250,10 +2264,6 @@ if with_egl
|
||||
lines += 'EGL drivers: ' + ' '.join(egl_drivers)
|
||||
endif
|
||||
if with_egl or with_any_vk
|
||||
_platforms += 'surfaceless'
|
||||
if with_gbm and not with_platform_android
|
||||
_platforms += 'drm'
|
||||
endif
|
||||
lines += 'EGL/Vulkan/VL platforms: ' + ' '.join(_platforms)
|
||||
endif
|
||||
lines += 'GBM: ' + (with_gbm ? 'yes' : 'no')
|
||||
|
@@ -64,7 +64,7 @@ radv_stoney_vkcts:amd64:
|
||||
variables:
|
||||
DEQP_VER: vk
|
||||
DEQP_FRACTION: 10
|
||||
DEQP_PARALLEL: 4
|
||||
FDO_CI_CONCURRENT: 4
|
||||
DEQP_EXPECTED_RENDERER: STONEY
|
||||
DEVICE_TYPE: hp-11A-G6-EE-grunt
|
||||
DTB: ""
|
||||
|
@@ -2303,7 +2303,9 @@ static int gfx9_compute_surface(struct ac_addrlib *addrlib, const struct radeon_
|
||||
!(surf->flags & (RADEON_SURF_DISABLE_DCC | RADEON_SURF_FORCE_SWIZZLE_MODE |
|
||||
RADEON_SURF_FORCE_MICRO_TILE_MODE)) &&
|
||||
(surf->modifier == DRM_FORMAT_MOD_INVALID ||
|
||||
ac_modifier_has_dcc(surf->modifier))) {
|
||||
ac_modifier_has_dcc(surf->modifier)) &&
|
||||
is_dcc_supported_by_DCN(info, config, surf, surf->u.gfx9.color.dcc.rb_aligned,
|
||||
surf->u.gfx9.color.dcc.pipe_aligned)) {
|
||||
/* Validate that DCC is enabled if DCN can do it. */
|
||||
if ((info->use_display_dcc_unaligned || info->use_display_dcc_with_retile_blit) &&
|
||||
AddrSurfInfoIn.flags.display && surf->bpe == 4) {
|
||||
|
@@ -3038,7 +3038,7 @@ visit_alu_instr(isel_context* ctx, nir_alu_instr* instr)
|
||||
bld.sop2(aco_opcode::s_cselect_b64, Definition(dst), Operand::c32(0x3f800000u),
|
||||
Operand::zero(), bld.scc(src));
|
||||
} else if (dst.regClass() == v2) {
|
||||
Temp one = bld.copy(bld.def(v2), Operand::c32(0x3FF00000u));
|
||||
Temp one = bld.copy(bld.def(v1), Operand::c32(0x3FF00000u));
|
||||
Temp upper =
|
||||
bld.vop2_e64(aco_opcode::v_cndmask_b32, bld.def(v1), Operand::zero(), one, src);
|
||||
bld.pseudo(aco_opcode::p_create_vector, Definition(dst), Operand::zero(), upper);
|
||||
@@ -5284,16 +5284,22 @@ visit_load_input(isel_context* ctx, nir_intrinsic_instr* instr)
|
||||
}
|
||||
}
|
||||
|
||||
if (instr->dest.ssa.num_components == 1) {
|
||||
if (instr->dest.ssa.num_components == 1 &&
|
||||
instr->dest.ssa.bit_size != 64) {
|
||||
bld.vintrp(aco_opcode::v_interp_mov_f32, Definition(dst), Operand::c32(vertex_id),
|
||||
bld.m0(prim_mask), idx, component);
|
||||
} else {
|
||||
unsigned num_components = instr->dest.ssa.num_components;
|
||||
if (instr->dest.ssa.bit_size == 64)
|
||||
num_components *= 2;
|
||||
aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>(
|
||||
aco_opcode::p_create_vector, Format::PSEUDO, instr->dest.ssa.num_components, 1)};
|
||||
for (unsigned i = 0; i < instr->dest.ssa.num_components; i++) {
|
||||
aco_opcode::p_create_vector, Format::PSEUDO, num_components, 1)};
|
||||
for (unsigned i = 0; i < num_components; i++) {
|
||||
unsigned chan_component = (component + i) % 4;
|
||||
unsigned chan_idx = idx + (component + i) / 4;
|
||||
vec->operands[i] = bld.vintrp(
|
||||
aco_opcode::v_interp_mov_f32, bld.def(instr->dest.ssa.bit_size == 16 ? v2b : v1),
|
||||
Operand::c32(vertex_id), bld.m0(prim_mask), idx, component + i);
|
||||
Operand::c32(vertex_id), bld.m0(prim_mask), chan_idx, chan_component);
|
||||
}
|
||||
vec->definitions[0] = Definition(dst);
|
||||
bld.insert(std::move(vec));
|
||||
@@ -8696,7 +8702,7 @@ visit_intrinsic(isel_context* ctx, nir_intrinsic_instr* instr)
|
||||
/* load_helper() after demote() get lowered to is_helper().
|
||||
* Otherwise, these two behave the same. */
|
||||
Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
|
||||
bld.pseudo(aco_opcode::p_is_helper, Definition(dst));
|
||||
bld.pseudo(aco_opcode::p_is_helper, Definition(dst), Operand(exec, bld.lm));
|
||||
ctx->block->kind |= block_kind_needs_lowering;
|
||||
ctx->program->needs_exact = true;
|
||||
break;
|
||||
@@ -11172,7 +11178,7 @@ emit_stream_output(isel_context* ctx, Temp const* so_buffers, Temp const* so_wri
|
||||
aco_opcode::p_create_vector, Format::PSEUDO, count, 1)};
|
||||
for (int i = 0; i < count; ++i)
|
||||
vec->operands[i] =
|
||||
(ctx->outputs.mask[loc] & 1 << (start + i)) ? Operand(out[start + i]) : Operand::zero();
|
||||
(ctx->outputs.mask[loc] & 1 << (start + first_comp + i)) ? Operand(out[start + i]) : Operand::zero();
|
||||
vec->definitions[0] = Definition(write_data);
|
||||
ctx->block->instructions.emplace_back(std::move(vec));
|
||||
|
||||
@@ -11212,17 +11218,6 @@ emit_streamout(isel_context* ctx, unsigned stream)
|
||||
{
|
||||
Builder bld(ctx->program, ctx->block);
|
||||
|
||||
Temp so_buffers[4];
|
||||
Temp buf_ptr = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->streamout_buffers));
|
||||
for (unsigned i = 0; i < 4; i++) {
|
||||
unsigned stride = ctx->program->info->so.strides[i];
|
||||
if (!stride)
|
||||
continue;
|
||||
|
||||
Operand off = bld.copy(bld.def(s1), Operand::c32(i * 16u));
|
||||
so_buffers[i] = bld.smem(aco_opcode::s_load_dwordx4, bld.def(s4), buf_ptr, off);
|
||||
}
|
||||
|
||||
Temp so_vtx_count =
|
||||
bld.sop2(aco_opcode::s_bfe_u32, bld.def(s1), bld.def(s1, scc),
|
||||
get_arg(ctx, ctx->args->ac.streamout_config), Operand::c32(0x70010u));
|
||||
@@ -11239,13 +11234,18 @@ emit_streamout(isel_context* ctx, unsigned stream)
|
||||
Temp so_write_index =
|
||||
bld.vadd32(bld.def(v1), get_arg(ctx, ctx->args->ac.streamout_write_index), tid);
|
||||
|
||||
Temp so_buffers[4];
|
||||
Temp so_write_offset[4];
|
||||
Temp buf_ptr = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->streamout_buffers));
|
||||
|
||||
for (unsigned i = 0; i < 4; i++) {
|
||||
unsigned stride = ctx->program->info->so.strides[i];
|
||||
if (!stride)
|
||||
continue;
|
||||
|
||||
so_buffers[i] = bld.smem(aco_opcode::s_load_dwordx4, bld.def(s4), buf_ptr,
|
||||
bld.copy(bld.def(s1), Operand::c32(i * 16u)));
|
||||
|
||||
if (stride == 1) {
|
||||
Temp offset = bld.sop2(aco_opcode::s_add_i32, bld.def(s1), bld.def(s1, scc),
|
||||
get_arg(ctx, ctx->args->ac.streamout_write_index),
|
||||
|
@@ -213,11 +213,12 @@ aco_compile_shader(unsigned shader_count, struct nir_shader* const* shaders,
|
||||
size += disasm_size;
|
||||
free(data);
|
||||
} else {
|
||||
fprintf(stderr, "Shader disassembly is not supported in the current configuration"
|
||||
disasm = "Shader disassembly is not supported in the current configuration"
|
||||
#ifndef LLVM_AVAILABLE
|
||||
" (LLVM not available)"
|
||||
" (LLVM not available)"
|
||||
#endif
|
||||
".\n");
|
||||
".\n";
|
||||
size += disasm.length();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -525,12 +525,18 @@ get_reduction_identity(ReduceOp op, unsigned idx)
|
||||
bool
|
||||
needs_exec_mask(const Instruction* instr)
|
||||
{
|
||||
if (instr->isSALU() || instr->isBranch())
|
||||
if (instr->isVALU()) {
|
||||
return instr->opcode != aco_opcode::v_readlane_b32 &&
|
||||
instr->opcode != aco_opcode::v_readlane_b32_e64 &&
|
||||
instr->opcode != aco_opcode::v_writelane_b32 &&
|
||||
instr->opcode != aco_opcode::v_writelane_b32_e64;
|
||||
}
|
||||
|
||||
if (instr->isVMEM() || instr->isFlatLike())
|
||||
return true;
|
||||
|
||||
if (instr->isSALU() || instr->isBranch() || instr->isSMEM() || instr->isBarrier())
|
||||
return instr->reads_exec();
|
||||
if (instr->isSMEM())
|
||||
return false;
|
||||
if (instr->isBarrier())
|
||||
return false;
|
||||
|
||||
if (instr->isPseudo()) {
|
||||
switch (instr->opcode) {
|
||||
@@ -543,22 +549,16 @@ needs_exec_mask(const Instruction* instr)
|
||||
if (def.getTemp().type() == RegType::vgpr)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return instr->reads_exec();
|
||||
case aco_opcode::p_spill:
|
||||
case aco_opcode::p_reload:
|
||||
case aco_opcode::p_logical_start:
|
||||
case aco_opcode::p_logical_end:
|
||||
case aco_opcode::p_startpgm: return false;
|
||||
case aco_opcode::p_startpgm: return instr->reads_exec();
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
if (instr->opcode == aco_opcode::v_readlane_b32 ||
|
||||
instr->opcode == aco_opcode::v_readlane_b32_e64 ||
|
||||
instr->opcode == aco_opcode::v_writelane_b32 ||
|
||||
instr->opcode == aco_opcode::v_writelane_b32_e64)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -25,6 +25,9 @@
|
||||
#include "aco_ir.h"
|
||||
|
||||
#ifdef LLVM_AVAILABLE
|
||||
#if defined(_MSC_VER) && defined(restrict)
|
||||
#undef restrict
|
||||
#endif
|
||||
#include "llvm/ac_llvm_util.h"
|
||||
|
||||
#include "llvm-c/Disassembler.h"
|
||||
|
@@ -389,15 +389,6 @@ radv_handle_thread_trace(VkQueue _queue)
|
||||
#endif
|
||||
|
||||
if (frame_trigger || file_trigger || resize_trigger) {
|
||||
/* FIXME: SQTT on compute hangs. */
|
||||
if (queue->vk.queue_family_index == RADV_QUEUE_COMPUTE) {
|
||||
fprintf(stderr, "RADV: Capturing a SQTT trace on the compute "
|
||||
"queue is currently broken and might hang! "
|
||||
"Please, disable presenting on compute if "
|
||||
"you can.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
radv_begin_thread_trace(queue);
|
||||
assert(!thread_trace_enabled);
|
||||
thread_trace_enabled = true;
|
||||
|
@@ -662,7 +662,7 @@ get_ahb_buffer_format_properties(VkDevice device_h, const struct AHardwareBuffer
|
||||
|
||||
static VkResult
|
||||
get_ahb_buffer_format_properties2(VkDevice device_h, const struct AHardwareBuffer *buffer,
|
||||
VkAndroidHardwareBufferFormatPropertiesANDROID2 *pProperties)
|
||||
VkAndroidHardwareBufferFormatProperties2ANDROID *pProperties)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_device, device, device_h);
|
||||
|
||||
@@ -682,7 +682,7 @@ get_ahb_buffer_format_properties2(VkDevice device_h, const struct AHardwareBuffe
|
||||
return VK_ERROR_INVALID_EXTERNAL_HANDLE;
|
||||
|
||||
/* Fill properties fields based on description. */
|
||||
VkAndroidHardwareBufferFormatPropertiesANDROID *p = pProperties;
|
||||
VkAndroidHardwareBufferFormatProperties2ANDROID *p = pProperties;
|
||||
|
||||
p->format = vk_format_from_android(desc.format, desc.usage);
|
||||
p->externalFormat = (uint64_t)(uintptr_t)p->format;
|
||||
|
@@ -389,6 +389,30 @@ radv_queue_family_to_ring(int f)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
radv_emit_write_data_packet(struct radv_cmd_buffer *cmd_buffer, unsigned engine_sel, uint64_t va,
|
||||
unsigned count, const uint32_t *data)
|
||||
{
|
||||
struct radeon_cmdbuf *cs = cmd_buffer->cs;
|
||||
|
||||
radeon_check_space(cmd_buffer->device->ws, cs, 4 + count);
|
||||
|
||||
radeon_emit(cs, PKT3(PKT3_WRITE_DATA, 2 + count, 0));
|
||||
radeon_emit(cs, S_370_DST_SEL(V_370_MEM) | S_370_WR_CONFIRM(1) | S_370_ENGINE_SEL(engine_sel));
|
||||
radeon_emit(cs, va);
|
||||
radeon_emit(cs, va >> 32);
|
||||
radeon_emit_array(cs, data, count);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_emit_clear_data(struct radv_cmd_buffer *cmd_buffer, unsigned engine_sel, uint64_t va,
|
||||
unsigned size)
|
||||
{
|
||||
uint32_t *zeroes = alloca(size);
|
||||
memset(zeroes, 0, size);
|
||||
radv_emit_write_data_packet(cmd_buffer, engine_sel, va, size / 4, zeroes);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_destroy_cmd_buffer(struct radv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
@@ -516,12 +540,16 @@ radv_reset_cmd_buffer(struct radv_cmd_buffer *cmd_buffer)
|
||||
cmd_buffer->gfx9_fence_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo);
|
||||
cmd_buffer->gfx9_fence_va += fence_offset;
|
||||
|
||||
radv_emit_clear_data(cmd_buffer, V_370_PFP, cmd_buffer->gfx9_fence_va, 8);
|
||||
|
||||
if (cmd_buffer->device->physical_device->rad_info.chip_class == GFX9) {
|
||||
/* Allocate a buffer for the EOP bug on GFX9. */
|
||||
radv_cmd_buffer_upload_alloc(cmd_buffer, 16 * num_db, &eop_bug_offset, &fence_ptr);
|
||||
memset(fence_ptr, 0, 16 * num_db);
|
||||
cmd_buffer->gfx9_eop_bug_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo);
|
||||
cmd_buffer->gfx9_eop_bug_va += eop_bug_offset;
|
||||
|
||||
radv_emit_clear_data(cmd_buffer, V_370_PFP, cmd_buffer->gfx9_eop_bug_va, 16 * num_db);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -624,21 +652,6 @@ radv_cmd_buffer_upload_data(struct radv_cmd_buffer *cmd_buffer, unsigned size, c
|
||||
return true;
|
||||
}
|
||||
|
||||
static void
|
||||
radv_emit_write_data_packet(struct radv_cmd_buffer *cmd_buffer, uint64_t va, unsigned count,
|
||||
const uint32_t *data)
|
||||
{
|
||||
struct radeon_cmdbuf *cs = cmd_buffer->cs;
|
||||
|
||||
radeon_check_space(cmd_buffer->device->ws, cs, 4 + count);
|
||||
|
||||
radeon_emit(cs, PKT3(PKT3_WRITE_DATA, 2 + count, 0));
|
||||
radeon_emit(cs, S_370_DST_SEL(V_370_MEM) | S_370_WR_CONFIRM(1) | S_370_ENGINE_SEL(V_370_ME));
|
||||
radeon_emit(cs, va);
|
||||
radeon_emit(cs, va >> 32);
|
||||
radeon_emit_array(cs, data, count);
|
||||
}
|
||||
|
||||
void
|
||||
radv_cmd_buffer_trace_emit(struct radv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
@@ -651,7 +664,7 @@ radv_cmd_buffer_trace_emit(struct radv_cmd_buffer *cmd_buffer)
|
||||
va += 4;
|
||||
|
||||
++cmd_buffer->state.trace_id;
|
||||
radv_emit_write_data_packet(cmd_buffer, va, 1, &cmd_buffer->state.trace_id);
|
||||
radv_emit_write_data_packet(cmd_buffer, V_370_ME, va, 1, &cmd_buffer->state.trace_id);
|
||||
|
||||
radeon_check_space(cmd_buffer->device->ws, cs, 2);
|
||||
|
||||
@@ -712,7 +725,7 @@ radv_save_pipeline(struct radv_cmd_buffer *cmd_buffer, struct radv_pipeline *pip
|
||||
data[0] = pipeline_address;
|
||||
data[1] = pipeline_address >> 32;
|
||||
|
||||
radv_emit_write_data_packet(cmd_buffer, va, 2, data);
|
||||
radv_emit_write_data_packet(cmd_buffer, V_370_ME, va, 2, data);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -728,7 +741,7 @@ radv_save_vertex_descriptors(struct radv_cmd_buffer *cmd_buffer, uint64_t vb_ptr
|
||||
data[0] = vb_ptr;
|
||||
data[1] = vb_ptr >> 32;
|
||||
|
||||
radv_emit_write_data_packet(cmd_buffer, va, 2, data);
|
||||
radv_emit_write_data_packet(cmd_buffer, V_370_ME, va, 2, data);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -761,7 +774,7 @@ radv_save_descriptors(struct radv_cmd_buffer *cmd_buffer, VkPipelineBindPoint bi
|
||||
data[i * 2 + 1] = (uint64_t)(uintptr_t)set >> 32;
|
||||
}
|
||||
|
||||
radv_emit_write_data_packet(cmd_buffer, va, MAX_SETS * 2, data);
|
||||
radv_emit_write_data_packet(cmd_buffer, V_370_ME, va, MAX_SETS * 2, data);
|
||||
}
|
||||
|
||||
struct radv_userdata_info *
|
||||
@@ -2837,6 +2850,7 @@ lookup_vs_prolog(struct radv_cmd_buffer *cmd_buffer, struct radv_shader_variant
|
||||
prolog = radv_create_vs_prolog(device, &key);
|
||||
uint32_t *key2 = malloc(key_size * 4);
|
||||
if (!prolog || !key2) {
|
||||
radv_prolog_destroy(device, prolog);
|
||||
free(key2);
|
||||
u_rwlock_wrunlock(&device->vs_prologs_lock);
|
||||
return NULL;
|
||||
@@ -2908,7 +2922,8 @@ emit_prolog_inputs(struct radv_cmd_buffer *cmd_buffer, struct radv_shader_varian
|
||||
uint32_t nontrivial_divisors, bool pipeline_is_dirty)
|
||||
{
|
||||
/* no need to re-emit anything in this case */
|
||||
if (!nontrivial_divisors && !pipeline_is_dirty)
|
||||
if (!nontrivial_divisors && !pipeline_is_dirty && cmd_buffer->state.emitted_vs_prolog &&
|
||||
!cmd_buffer->state.emitted_vs_prolog->nontrivial_divisors)
|
||||
return;
|
||||
|
||||
struct radv_vs_input_state *state = &cmd_buffer->state.dynamic_vs_input;
|
||||
@@ -3738,6 +3753,14 @@ radv_stage_flush(struct radv_cmd_buffer *cmd_buffer, VkPipelineStageFlags src_st
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
can_skip_buffer_l2_flushes(struct radv_device *device)
|
||||
{
|
||||
return device->physical_device->rad_info.chip_class == GFX9 ||
|
||||
(device->physical_device->rad_info.chip_class >= GFX10 &&
|
||||
!device->physical_device->rad_info.tcc_rb_non_coherent);
|
||||
}
|
||||
|
||||
/*
|
||||
* In vulkan barriers have two kinds of operations:
|
||||
*
|
||||
@@ -3869,8 +3892,8 @@ radv_dst_access_flush(struct radv_cmd_buffer *cmd_buffer, VkAccessFlags dst_flag
|
||||
|
||||
/* All the L2 invalidations below are not the CB/DB. So if there are no incoherent images
|
||||
* in the L2 cache in CB/DB mode then they are already usable from all the other L2 clients. */
|
||||
image_is_coherent |= cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9 &&
|
||||
!cmd_buffer->state.rb_noncoherent_dirty;
|
||||
image_is_coherent |=
|
||||
can_skip_buffer_l2_flushes(cmd_buffer->device) && !cmd_buffer->state.rb_noncoherent_dirty;
|
||||
|
||||
u_foreach_bit(b, dst_flags)
|
||||
{
|
||||
@@ -4761,8 +4784,7 @@ radv_EndCommandBuffer(VkCommandBuffer commandBuffer)
|
||||
/* Flush noncoherent images on GFX9+ so we can assume they're clean on the start of a
|
||||
* command buffer.
|
||||
*/
|
||||
if (cmd_buffer->state.rb_noncoherent_dirty &&
|
||||
cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9)
|
||||
if (cmd_buffer->state.rb_noncoherent_dirty && can_skip_buffer_l2_flushes(cmd_buffer->device))
|
||||
cmd_buffer->state.flush_bits |= radv_src_access_flush(
|
||||
cmd_buffer,
|
||||
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
|
||||
|
@@ -1255,7 +1255,7 @@ radv_get_physical_device_features_1_2(struct radv_physical_device *pdevice,
|
||||
f->hostQueryReset = true;
|
||||
f->timelineSemaphore = true, f->bufferDeviceAddress = true;
|
||||
f->bufferDeviceAddressCaptureReplay = true;
|
||||
f->bufferDeviceAddressMultiDevice = false;
|
||||
f->bufferDeviceAddressMultiDevice = true;
|
||||
f->vulkanMemoryModel = true;
|
||||
f->vulkanMemoryModelDeviceScope = true;
|
||||
f->vulkanMemoryModelAvailabilityVisibilityChains = false;
|
||||
|
@@ -868,6 +868,11 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
|
||||
tiled |= VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
|
||||
}
|
||||
|
||||
/* It's invalid to expose buffer features with depth/stencil formats. */
|
||||
if (vk_format_is_depth_or_stencil(format)) {
|
||||
buffer = 0;
|
||||
}
|
||||
|
||||
out_properties->linearTilingFeatures = linear;
|
||||
out_properties->optimalTilingFeatures = tiled;
|
||||
out_properties->bufferFeatures = buffer;
|
||||
@@ -1219,10 +1224,9 @@ features2_to_features(VkFormatFeatureFlags2KHR features2)
|
||||
|
||||
static void
|
||||
radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format,
|
||||
VkFormatProperties2 *pFormatProperties)
|
||||
const VkFormatProperties3KHR *format_props,
|
||||
VkDrmFormatModifierPropertiesListEXT *mod_list)
|
||||
{
|
||||
VkDrmFormatModifierPropertiesListEXT *mod_list =
|
||||
vk_find_struct(pFormatProperties, DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
|
||||
unsigned mod_count;
|
||||
|
||||
if (!mod_list)
|
||||
@@ -1253,9 +1257,8 @@ radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format
|
||||
|
||||
mod_list->drmFormatModifierCount = 0;
|
||||
for (unsigned i = 0; i < mod_count; ++i) {
|
||||
VkFormatProperties3KHR format_props;
|
||||
VkFormatFeatureFlags2KHR features =
|
||||
radv_get_modifier_flags(dev, format, mods[i], &format_props);
|
||||
radv_get_modifier_flags(dev, format, mods[i], format_props);
|
||||
unsigned planes = vk_format_get_plane_count(format);
|
||||
if (planes == 1) {
|
||||
if (ac_modifier_has_dcc_retile(mods[i]))
|
||||
@@ -1264,13 +1267,6 @@ radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format
|
||||
planes = 2;
|
||||
}
|
||||
|
||||
pFormatProperties->formatProperties.linearTilingFeatures =
|
||||
features2_to_features(format_props.linearTilingFeatures);
|
||||
pFormatProperties->formatProperties.optimalTilingFeatures =
|
||||
features2_to_features(format_props.optimalTilingFeatures);
|
||||
pFormatProperties->formatProperties.bufferFeatures =
|
||||
features2_to_features(format_props.bufferFeatures);
|
||||
|
||||
if (!features)
|
||||
continue;
|
||||
|
||||
@@ -1289,10 +1285,9 @@ radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format
|
||||
|
||||
static void
|
||||
radv_list_drm_format_modifiers_2(struct radv_physical_device *dev, VkFormat format,
|
||||
VkFormatProperties2 *pFormatProperties)
|
||||
const VkFormatProperties3KHR *format_props,
|
||||
VkDrmFormatModifierPropertiesList2EXT *mod_list)
|
||||
{
|
||||
VkDrmFormatModifierPropertiesList2EXT *mod_list =
|
||||
vk_find_struct(pFormatProperties, DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT);
|
||||
unsigned mod_count;
|
||||
|
||||
if (!mod_list)
|
||||
@@ -1323,9 +1318,8 @@ radv_list_drm_format_modifiers_2(struct radv_physical_device *dev, VkFormat form
|
||||
|
||||
mod_list->drmFormatModifierCount = 0;
|
||||
for (unsigned i = 0; i < mod_count; ++i) {
|
||||
VkFormatProperties3KHR format_props;
|
||||
VkFormatFeatureFlags2KHR features =
|
||||
radv_get_modifier_flags(dev, format, mods[i], &format_props);
|
||||
radv_get_modifier_flags(dev, format, mods[i], format_props);
|
||||
unsigned planes = vk_format_get_plane_count(format);
|
||||
if (planes == 1) {
|
||||
if (ac_modifier_has_dcc_retile(mods[i]))
|
||||
@@ -1334,10 +1328,6 @@ radv_list_drm_format_modifiers_2(struct radv_physical_device *dev, VkFormat form
|
||||
planes = 2;
|
||||
}
|
||||
|
||||
pFormatProperties->formatProperties.linearTilingFeatures = format_props.linearTilingFeatures;
|
||||
pFormatProperties->formatProperties.optimalTilingFeatures = format_props.optimalTilingFeatures;
|
||||
pFormatProperties->formatProperties.bufferFeatures = format_props.bufferFeatures;
|
||||
|
||||
if (!features)
|
||||
continue;
|
||||
|
||||
@@ -1455,8 +1445,12 @@ radv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkForma
|
||||
format_props_extended->bufferFeatures = format_props.bufferFeatures;
|
||||
}
|
||||
|
||||
radv_list_drm_format_modifiers(physical_device, format, pFormatProperties);
|
||||
radv_list_drm_format_modifiers_2(physical_device, format, pFormatProperties);
|
||||
radv_list_drm_format_modifiers(
|
||||
physical_device, format, &format_props,
|
||||
vk_find_struct(pFormatProperties, DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT));
|
||||
radv_list_drm_format_modifiers_2(
|
||||
physical_device, format, &format_props,
|
||||
vk_find_struct(pFormatProperties, DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT));
|
||||
}
|
||||
|
||||
static VkResult
|
||||
|
@@ -2285,6 +2285,16 @@ get_vs_output_info(const struct radv_pipeline *pipeline)
|
||||
return &pipeline->shaders[MESA_SHADER_VERTEX]->info.vs.outinfo;
|
||||
}
|
||||
|
||||
static bool
|
||||
radv_nir_stage_uses_xfb(const nir_shader *nir)
|
||||
{
|
||||
nir_xfb_info *xfb = nir_gather_xfb_info(nir, NULL);
|
||||
bool uses_xfb = !!xfb;
|
||||
|
||||
ralloc_free(xfb);
|
||||
return uses_xfb;
|
||||
}
|
||||
|
||||
static void
|
||||
radv_link_shaders(struct radv_pipeline *pipeline,
|
||||
const struct radv_pipeline_key *pipeline_key,
|
||||
@@ -2372,7 +2382,9 @@ radv_link_shaders(struct radv_pipeline *pipeline,
|
||||
}
|
||||
}
|
||||
|
||||
if (!optimize_conservatively) {
|
||||
bool uses_xfb = pipeline->graphics.last_vgt_api_stage != -1 &&
|
||||
radv_nir_stage_uses_xfb(shaders[pipeline->graphics.last_vgt_api_stage]);
|
||||
if (!uses_xfb && !optimize_conservatively) {
|
||||
/* Remove PSIZ from shaders when it's not needed.
|
||||
* This is typically produced by translation layers like Zink or D9VK.
|
||||
*/
|
||||
@@ -2390,10 +2402,11 @@ radv_link_shaders(struct radv_pipeline *pipeline,
|
||||
(info->stage == MESA_SHADER_TESS_EVAL && info->tess.point_mode) ||
|
||||
(info->stage == MESA_SHADER_GEOMETRY && info->gs.output_primitive == GL_POINTS));
|
||||
|
||||
if (!next_stage_needs_psiz && !topology_uses_psiz) {
|
||||
/* Change PSIZ to a global variable which allows it to be DCE'd. */
|
||||
nir_variable *psiz_var =
|
||||
nir_variable *psiz_var =
|
||||
nir_find_variable_with_location(ordered_shaders[i], nir_var_shader_out, VARYING_SLOT_PSIZ);
|
||||
|
||||
if (!next_stage_needs_psiz && !topology_uses_psiz && psiz_var) {
|
||||
/* Change PSIZ to a global variable which allows it to be DCE'd. */
|
||||
psiz_var->data.location = 0;
|
||||
psiz_var->data.mode = nir_var_shader_temp;
|
||||
|
||||
@@ -2702,16 +2715,6 @@ radv_generate_graphics_pipeline_key(const struct radv_pipeline *pipeline,
|
||||
return key;
|
||||
}
|
||||
|
||||
static bool
|
||||
radv_nir_stage_uses_xfb(const nir_shader *nir)
|
||||
{
|
||||
nir_xfb_info *xfb = nir_gather_xfb_info(nir, NULL);
|
||||
bool uses_xfb = !!xfb;
|
||||
|
||||
ralloc_free(xfb);
|
||||
return uses_xfb;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
radv_get_wave_size(struct radv_device *device, const VkPipelineShaderStageCreateInfo *pStage,
|
||||
gl_shader_stage stage, const struct radv_shader_info *info)
|
||||
|
@@ -109,6 +109,7 @@ entry_size(struct cache_entry *entry)
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; ++i)
|
||||
if (entry->binary_sizes[i])
|
||||
ret += entry->binary_sizes[i];
|
||||
ret += sizeof(struct radv_pipeline_shader_stack_size) * entry->num_stack_sizes;
|
||||
ret = align(ret, alignof(struct cache_entry));
|
||||
return ret;
|
||||
}
|
||||
|
@@ -1975,6 +1975,9 @@ radv_create_vs_prolog(struct radv_device *device, const struct radv_vs_prolog_ke
|
||||
struct radv_prolog_binary *binary = NULL;
|
||||
aco_compile_vs_prolog(key, &binary, &args);
|
||||
struct radv_shader_prolog *prolog = upload_vs_prolog(device, binary, info.wave_size);
|
||||
if (prolog) {
|
||||
prolog->nontrivial_divisors = key->state->nontrivial_divisors;
|
||||
}
|
||||
free(binary);
|
||||
|
||||
return prolog;
|
||||
|
@@ -479,6 +479,7 @@ struct radv_shader_prolog {
|
||||
union radv_shader_arena_block *alloc;
|
||||
uint32_t rsrc1;
|
||||
uint8_t num_preserved_sgprs;
|
||||
bool nontrivial_divisors;
|
||||
};
|
||||
|
||||
void radv_optimize_nir(const struct radv_device *device, struct nir_shader *shader,
|
||||
|
@@ -247,7 +247,8 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr,
|
||||
case nir_intrinsic_image_deref_atomic_comp_swap:
|
||||
case nir_intrinsic_image_deref_atomic_fmin:
|
||||
case nir_intrinsic_image_deref_atomic_fmax:
|
||||
case nir_intrinsic_image_deref_size: {
|
||||
case nir_intrinsic_image_deref_size:
|
||||
case nir_intrinsic_image_deref_samples: {
|
||||
nir_variable *var =
|
||||
nir_deref_instr_get_variable(nir_instr_as_deref(instr->src[0].ssa->parent_instr));
|
||||
mark_sampler_desc(var, info);
|
||||
|
@@ -271,7 +271,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs
|
||||
radeon_emit(cs, R_008D20_SQ_THREAD_TRACE_STATUS >> 2); /* register */
|
||||
radeon_emit(cs, 0);
|
||||
radeon_emit(cs, 0); /* reference value */
|
||||
radeon_emit(cs, S_008D20_FINISH_DONE(1)); /* mask */
|
||||
radeon_emit(cs, ~C_008D20_FINISH_DONE);
|
||||
radeon_emit(cs, 4); /* poll interval */
|
||||
|
||||
/* Disable the thread trace mode. */
|
||||
@@ -285,7 +285,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs
|
||||
radeon_emit(cs, R_008D20_SQ_THREAD_TRACE_STATUS >> 2); /* register */
|
||||
radeon_emit(cs, 0);
|
||||
radeon_emit(cs, 0); /* reference value */
|
||||
radeon_emit(cs, S_008D20_BUSY(1)); /* mask */
|
||||
radeon_emit(cs, ~C_008D20_BUSY); /* mask */
|
||||
radeon_emit(cs, 4); /* poll interval */
|
||||
} else {
|
||||
/* Disable the thread trace mode. */
|
||||
@@ -298,7 +298,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs
|
||||
radeon_emit(cs, R_030CE8_SQ_THREAD_TRACE_STATUS >> 2); /* register */
|
||||
radeon_emit(cs, 0);
|
||||
radeon_emit(cs, 0); /* reference value */
|
||||
radeon_emit(cs, S_030CE8_BUSY(1)); /* mask */
|
||||
radeon_emit(cs, ~C_030CE8_BUSY); /* mask */
|
||||
radeon_emit(cs, 4); /* poll interval */
|
||||
}
|
||||
|
||||
|
@@ -1,4 +0,0 @@
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_amplification,Fail
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_instanced,Fail
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_amplification,Fail
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_partial_primitives,Fail
|
@@ -1,3 +0,0 @@
|
||||
dEQP-GLES31.functional.compute.shared_var.basic_type.ivec3_highp
|
||||
dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed.highp_mat2
|
||||
KHR-GLES31.core.shader_image_load_store.basic-glsl-earlyFragTests
|
@@ -8,6 +8,8 @@ deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-visibility=hidden",
|
||||
]
|
||||
version_check = "GL ES 3.1.*git"
|
||||
renderer_check = "V3D"
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles3/deqp-gles3"
|
||||
|
@@ -3,30 +3,3 @@ dEQP-VK.geometry.input.basic_primitive.line_strip_adjacency,Fail
|
||||
|
||||
# CTS bug; fix submitted
|
||||
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_geom,Fail
|
||||
|
||||
# Multiview doesn't work with points
|
||||
dEQP-VK.multiview.point_size.15,Fail
|
||||
dEQP-VK.multiview.point_size.8,Fail
|
||||
dEQP-VK.multiview.point_size.1_2_4_8,Fail
|
||||
dEQP-VK.multiview.point_size.15_15_15_15,Fail
|
||||
dEQP-VK.multiview.point_size.8_1_1_8,Fail
|
||||
dEQP-VK.multiview.point_size.5_10_5_10,Fail
|
||||
dEQP-VK.multiview.point_size.1_2_4_8_16_32,Fail
|
||||
dEQP-VK.multiview.point_size.max_multi_view_view_count,Fail
|
||||
|
||||
dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview,Fail
|
||||
dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview,Fail
|
||||
|
@@ -1,417 +0,0 @@
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_int_depth_component16,Fail
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_int_depth_component24,Fail
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_short_depth_component16,Fail
|
||||
|
||||
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3133
|
||||
KHR-GLES2.texture_3d.copy_sub_image.negative,Fail
|
||||
KHR-GLES2.texture_3d.copy_sub_image.rgba,Fail
|
||||
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_repeat,Fail
|
||||
|
||||
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3134
|
||||
KHR-GLES2.texture_3d.filtering.combinations.negative,Fail
|
||||
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.framebuffer_texture.rgba,Fail
|
||||
KHR-GLES2.texture_3d.sub_image.rgba8,Fail
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.create_context.no_config,Fail
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgba8888_window,Crash
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked,Fail
|
||||
dEQP-GLES2.functional.draw.draw_arrays.line_loop.multiple_attributes,Fail
|
||||
dEQP-GLES2.functional.draw.draw_arrays.line_loop.single_attribute,Fail
|
||||
dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba,Fail
|
||||
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba,Fail
|
||||
dEQP-GLES2.functional.negative_api.vertex_array.vertex_attrib,Fail
|
||||
dEQP-GLES2.functional.negative_api.vertex_array.vertex_attribv,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_mirror_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba,Fail
|
||||
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba,Fail
|
||||
dEQP-GLES2.functional.texture.wrap.clamp_clamp_nearest_npot_etc1,Fail
|
@@ -9,6 +9,8 @@ deqp_args = [
|
||||
"--deqp-surface-width=256",
|
||||
"--deqp-visibility=hidden",
|
||||
]
|
||||
version_check = "GL ES 2.0.*git"
|
||||
renderer_check = "VC4"
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/external/openglcts/modules/glcts"
|
||||
|
@@ -6,7 +6,6 @@
|
||||
variables:
|
||||
BM_BOOTFS: /boot/raspberrypi_armhf
|
||||
BM_ROOTFS: /rootfs-armhf
|
||||
DEQP_EXPECTED_RENDERER: VC4
|
||||
GPU_VERSION: vc4-rpi3
|
||||
HWCI_KERNEL_MODULES: vc4
|
||||
FLAKES_CHANNEL: "#videocore-ci"
|
||||
@@ -26,7 +25,6 @@ vc4-rpi3-gles:armhf:
|
||||
variables:
|
||||
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
DEQP_SUITE: vc4-rpi3-gles
|
||||
DEQP_VER: gles2
|
||||
|
||||
vc4-rpi3-egl:armhf:
|
||||
extends:
|
||||
@@ -74,7 +72,6 @@ vc4-rpi3-piglit-quick_shader:armhf:
|
||||
BM_BOOTFS: /boot/raspberrypi_armhf
|
||||
BM_POE_TIMEOUT: 300
|
||||
BM_ROOTFS: /rootfs-armhf
|
||||
DEQP_EXPECTED_RENDERER: V3D
|
||||
FLAKES_CHANNEL: "#videocore-ci"
|
||||
GPU_VERSION: v3d-rpi4
|
||||
HWCI_KERNEL_MODULES: v3d,vc4
|
||||
@@ -92,7 +89,6 @@ v3d-rpi4-gles:armhf:
|
||||
parallel: 8
|
||||
variables:
|
||||
DEQP_SUITE: v3d-rpi4-gles
|
||||
DEQP_VER: gles31
|
||||
|
||||
v3d-rpi4-egl:armhf:
|
||||
extends:
|
||||
@@ -123,7 +119,7 @@ v3dv-rpi4-vk:arm64:
|
||||
BM_BOOTFS: /boot/raspberrypi_arm64
|
||||
BM_POE_TIMEOUT: 300
|
||||
BM_ROOTFS: /rootfs-arm64
|
||||
DEQP_EXPECTED_RENDERER: "V3D 4.2"
|
||||
DEQP_EXPECTED_RENDERER: "V3D.4.2"
|
||||
DEQP_FRACTION: 5
|
||||
DEQP_VER: vk
|
||||
FLAKES_CHANNEL: "#videocore-ci"
|
||||
|
@@ -1,8 +0,0 @@
|
||||
glx@glx-multi-window-single-context
|
||||
shaders@glsl-vs-loop
|
||||
shaders@glsl-vs-loop-nested
|
||||
spec@arb_framebuffer_srgb@blit renderbuffer srgb single_sampled enabled clear
|
||||
spec@egl_chromium_sync_control@conformance
|
||||
spec@ext_packed_depth_stencil@fbo-stencil-gl_depth24_stencil8-readpixels
|
||||
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=2
|
||||
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=4
|
@@ -1,20 +0,0 @@
|
||||
# Slow tests (> 1 minute to run)
|
||||
spec@ext_framebuffer_multisample@accuracy
|
||||
glx@glx-multithread-texture
|
||||
spec@arb_internalformat_query2@all internalformat_<x>_type pname checks
|
||||
spec@!opengl 1.1@streaming-texture-leak
|
||||
spec@!opengl 1.0@gl-1.0-blend-func
|
||||
shaders@glsl-predication-on-large-array
|
||||
|
||||
# Extensions not supported
|
||||
spec@arb_gpu_shader_fp64.*
|
||||
spec@arb_gpu_shader_gpu5.*
|
||||
spec@arb_gpu_shader_int64.*
|
||||
spec@arb_tessellation_shader.*
|
||||
spec@arb_texture_cube_map.*
|
||||
spec@glsl-1.30.*
|
||||
spec@glsl-1.40.*
|
||||
spec@glsl-1.50.*
|
||||
spec@glsl-3.*
|
||||
spec@glsl-4.*
|
||||
spec@glsl-es-3.*
|
@@ -277,11 +277,6 @@ spec@khr_texture_compression_astc@miptree-gles srgb-fp,Fail
|
||||
spec@khr_texture_compression_astc@miptree-gles srgb-fp@sRGB decode full precision,Fail
|
||||
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
|
||||
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
|
||||
spec@nv_copy_depth_to_color@nv_copy_depth_to_color 0 0x223344ff,Crash
|
||||
spec@nv_copy_depth_to_color@nv_copy_depth_to_color 0 0x76356278,Crash
|
||||
spec@nv_copy_depth_to_color@nv_copy_depth_to_color 1 0x223344ff,Crash
|
||||
spec@nv_copy_depth_to_color@nv_copy_depth_to_color 1 0x76356278,Crash
|
||||
spec@nv_copy_depth_to_color@nv_copy_depth_to_color,Crash
|
||||
spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d-array.frag,Fail
|
||||
spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d-array.vert,Fail
|
||||
spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d.frag,Fail
|
@@ -1,3 +1,7 @@
|
||||
dEQP-GLES31.functional.compute.shared_var.basic_type.ivec3_highp
|
||||
dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed.highp_mat2
|
||||
KHR-GLES31.core.shader_image_load_store.basic-glsl-earlyFragTests
|
||||
|
||||
glx@glx_arb_sync_control@swapbuffersmsc-divisor-zero
|
||||
glx@glx_arb_sync_control@waitformsc
|
||||
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=4
|
@@ -18,3 +18,23 @@ spec@glsl-1.50.*
|
||||
spec@glsl-3.*
|
||||
spec@glsl-4.*
|
||||
spec@glsl-es-3.20.*
|
||||
# Slow tests (> 1 minute to run)
|
||||
spec@!opengl 1.1@streaming-texture-leak
|
||||
spec@!opengl 1.2@tex3d-maxsize
|
||||
spec@ext_texture_env_combine@texture-env-combine
|
||||
spec@glsl-1.10@execution@loops@glsl-fs-unroll-explosion
|
||||
spec@glsl-1.10@execution@loops@glsl-vs-unroll-explosion
|
||||
spec@!opengl 1.0@gl-1.0-blend-func
|
||||
|
||||
# Extensions not supported
|
||||
spec@arb_gpu_shader_fp64.*
|
||||
spec@arb_gpu_shader_gpu5.*
|
||||
spec@arb_gpu_shader_int64.*
|
||||
spec@arb_tessellation_shader.*
|
||||
spec@arb_texture_cube_map.*
|
||||
spec@glsl-1.30.*
|
||||
spec@glsl-1.40.*
|
||||
spec@glsl-1.50.*
|
||||
spec@glsl-3.*
|
||||
spec@glsl-4.*
|
||||
spec@glsl-es-3.20.*
|
@@ -1,3 +1,421 @@
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_int_depth_component16,Fail
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_int_depth_component24,Fail
|
||||
KHR-GLES2.core.internalformat.texture2d.depth_component_unsigned_short_depth_component16,Fail
|
||||
|
||||
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3133
|
||||
KHR-GLES2.texture_3d.copy_sub_image.negative,Fail
|
||||
KHR-GLES2.texture_3d.copy_sub_image.rgba,Fail
|
||||
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_mipmap_nearest_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_linear_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_linear_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_mipmap_nearest_nearest_repeat_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_clamp_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_mirror_repeat_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_clamp_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_mirror_repeat,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_clamp,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_mirror,Fail
|
||||
KHR-GLES2.texture_3d.filtering.combinations.nearest_nearest_repeat_repeat_repeat,Fail
|
||||
|
||||
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3134
|
||||
KHR-GLES2.texture_3d.filtering.combinations.negative,Fail
|
||||
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.formats.rgba8_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.128x32x64_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.32x64x16_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_linear_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_linear,Fail
|
||||
KHR-GLES2.texture_3d.filtering.sizes.63x63x63_nearest_mipmap_nearest,Fail
|
||||
KHR-GLES2.texture_3d.framebuffer_texture.rgba,Fail
|
||||
KHR-GLES2.texture_3d.sub_image.rgba8,Fail
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.multi_thread.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.create_context.no_config,Fail
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_context.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.multi_thread.gles2.rgba8888_window,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgb888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgb888_window,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgba8888_pbuffer,Crash
|
||||
dEQP-EGL.functional.render.single_context.gles2.rgba8888_window,Crash
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked,Fail
|
||||
dEQP-GLES2.functional.draw.draw_arrays.line_loop.multiple_attributes,Fail
|
||||
dEQP-GLES2.functional.draw.draw_arrays.line_loop.single_attribute,Fail
|
||||
dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba,Fail
|
||||
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba,Fail
|
||||
dEQP-GLES2.functional.negative_api.vertex_array.vertex_attrib,Fail
|
||||
dEQP-GLES2.functional.negative_api.vertex_array.vertex_attribv,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_mirror_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square,Fail
|
||||
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba,Fail
|
||||
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba,Fail
|
||||
dEQP-GLES2.functional.texture.wrap.clamp_clamp_nearest_npot_etc1,Fail
|
||||
|
||||
glx@glx-copy-sub-buffer samples=2,Crash
|
||||
glx@glx-copy-sub-buffer samples=4,Crash
|
||||
glx@glx-make-current,Crash
|
||||
@@ -796,7 +1214,6 @@ spec@!opengl 1.2@lodclamp-between-max,Fail
|
||||
spec@!opengl 1.2@mipmap-setup,Fail
|
||||
spec@!opengl 1.2@tex3d,Fail
|
||||
spec@!opengl 1.2@tex3d-maxsize,Fail
|
||||
spec@!opengl 1.2@teximage-errors,Fail
|
||||
spec@!opengl 1.2@texwrap 3d proj,Fail
|
||||
spec@!opengl 1.2@texwrap 3d proj@GL_RGBA8- NPOT- projected,Fail
|
||||
spec@!opengl 1.2@texwrap 3d proj@GL_RGBA8- projected,Fail
|
||||
@@ -820,7 +1237,6 @@ spec@!opengl 2.1@minmax,Fail
|
||||
spec@!opengl 2.1@pbo,Fail
|
||||
spec@!opengl 2.1@pbo@test_polygon_stip,Fail
|
||||
spec@!opengl 2.1@polygon-stipple-fs,Fail
|
||||
spec@!opengl es 2.0@draw_buffers_gles2,Fail
|
||||
spec@arb_arrays_of_arrays@execution@glsl-arrays-copy-size-mismatch,Fail
|
||||
spec@arb_depth_texture@depth-level-clamp,Fail
|
||||
spec@arb_depth_texture@texwrap formats,Fail
|
||||
@@ -835,7 +1251,6 @@ spec@arb_depth_texture@texwrap formats@GL_DEPTH_COMPONENT32- NPOT,Fail
|
||||
spec@arb_depth_texture@texwrap formats@GL_DEPTH_COMPONENT32- swizzled,Fail
|
||||
spec@arb_draw_elements_base_vertex@arb_draw_elements_base_vertex-negative-index,Crash
|
||||
spec@arb_draw_elements_base_vertex@arb_draw_elements_base_vertex-negative-index-user_varrays,Crash
|
||||
spec@arb_es2_compatibility@arb_es2_compatibility-drawbuffers,Fail
|
||||
spec@arb_es2_compatibility@texwrap formats,Fail
|
||||
spec@arb_es2_compatibility@texwrap formats@GL_RGB565,Fail
|
||||
spec@arb_es2_compatibility@texwrap formats@GL_RGB565- NPOT,Fail
|
||||
@@ -931,8 +1346,6 @@ spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_
|
||||
spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_rgba,Fail
|
||||
spec@egl_khr_surfaceless_context@viewport,Fail
|
||||
spec@egl_mesa_configless_context@basic,Fail
|
||||
spec@ext_direct_state_access@indexed-state-queries 12,Fail
|
||||
spec@ext_direct_state_access@indexed-state-queries 12@GetIntegerIndexedvEXT,Fail
|
||||
spec@ext_direct_state_access@multi-texture,Crash
|
||||
spec@ext_direct_state_access@multi-texture@MultiTexImage3DEXT,Fail
|
||||
spec@ext_direct_state_access@multi-texture@MultiTexSubImage1DEXT,Fail
|
||||
@@ -946,21 +1359,9 @@ spec@ext_direct_state_access@textures@GL_PROXY_TEXTURE_1D + glTex*,Fail
|
||||
spec@ext_direct_state_access@textures@GL_PROXY_TEXTURE_3D + glTex* + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@GL_PROXY_TEXTURE_3D + glTex* + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@GL_PROXY_TEXTURE_3D + glTex*,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage2DEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage2DEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage2DEXT,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage3DEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage3DEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureImage3DEXT,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterfEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterfEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterfEXT,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameteriEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameteriEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameteriEXT,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterivEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterivEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureParameterivEXT,Fail
|
||||
spec@ext_direct_state_access@textures@TextureSubImage2DEXT + display list GL_COMPILE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureSubImage2DEXT + display list GL_COMPILE_AND_EXECUTE,Fail
|
||||
spec@ext_direct_state_access@textures@TextureSubImage2DEXT,Fail
|
@@ -28,3 +28,12 @@ dEQP-GLES2.functional.texture.filtering.cube.nearest_mipmap_nearest_linear_clamp
|
||||
dEQP-GLES2.functional.texture.filtering.cube.nearest_mipmap_nearest_linear_mirror_rgba8888
|
||||
dEQP-GLES2.functional.texture.mipmap.cube.generate.rgb565_fastest
|
||||
dEQP-GLES2.functional.texture.size.cube.256x256_rgb888
|
||||
|
||||
glx@glx-multi-window-single-context
|
||||
shaders@glsl-vs-loop
|
||||
shaders@glsl-vs-loop-nested
|
||||
spec@arb_framebuffer_srgb@blit renderbuffer srgb single_sampled enabled clear
|
||||
spec@egl_chromium_sync_control@conformance
|
||||
spec@ext_packed_depth_stencil@fbo-stencil-gl_depth24_stencil8-readpixels
|
||||
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=2
|
||||
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=4
|
@@ -23,3 +23,24 @@ dEQP-GLES2.functional.shaders.loops.*dynamic.*vertex
|
||||
# Timeout tests (> 1 minute to run)
|
||||
KHR-GLES2.texture_3d.filtering.sizes.3x7x5_linear_mipmap_linear
|
||||
KHR-GLES2.texture_3d.filtering.sizes.4x8x8_linear_mipmap_linear
|
||||
|
||||
# Slow tests (> 1 minute to run)
|
||||
spec@ext_framebuffer_multisample@accuracy
|
||||
glx@glx-multithread-texture
|
||||
spec@arb_internalformat_query2@all internalformat_<x>_type pname checks
|
||||
spec@!opengl 1.1@streaming-texture-leak
|
||||
spec@!opengl 1.0@gl-1.0-blend-func
|
||||
shaders@glsl-predication-on-large-array
|
||||
|
||||
# Extensions not supported
|
||||
spec@arb_gpu_shader_fp64.*
|
||||
spec@arb_gpu_shader_gpu5.*
|
||||
spec@arb_gpu_shader_int64.*
|
||||
spec@arb_tessellation_shader.*
|
||||
spec@arb_texture_cube_map.*
|
||||
spec@glsl-1.30.*
|
||||
spec@glsl-1.40.*
|
||||
spec@glsl-1.50.*
|
||||
spec@glsl-3.*
|
||||
spec@glsl-4.*
|
||||
spec@glsl-es-3.*
|
@@ -1873,7 +1873,10 @@ try_opt_ldunif(struct v3d_compile *c, uint32_t index, struct qreg *unif)
|
||||
assert(c->cur_block);
|
||||
|
||||
#ifdef DEBUG
|
||||
/* Check if the current instruction is part of the current block */
|
||||
/* We can only reuse a uniform if it was emitted in the same block,
|
||||
* so callers must make sure the current instruction is being emitted
|
||||
* in the current block.
|
||||
*/
|
||||
bool found = false;
|
||||
vir_for_each_inst(inst, c->cur_block) {
|
||||
if (&inst->link == c->cursor.link) {
|
||||
@@ -1882,7 +1885,7 @@ try_opt_ldunif(struct v3d_compile *c, uint32_t index, struct qreg *unif)
|
||||
}
|
||||
}
|
||||
|
||||
assert(found || list_is_empty(&c->cur_block->instructions));
|
||||
assert(found || &c->cur_block->instructions == c->cursor.link);
|
||||
#endif
|
||||
|
||||
list_for_each_entry_from_rev(struct qinst, inst, c->cursor.link->prev,
|
||||
|
@@ -1412,7 +1412,11 @@ pipeline_stage_create_binning(const struct v3dv_pipeline_stage *src,
|
||||
p_stage->stage = bin_stage;
|
||||
p_stage->entrypoint = src->entrypoint;
|
||||
p_stage->module = src->module;
|
||||
p_stage->nir = src->nir ? nir_shader_clone(NULL, src->nir) : NULL;
|
||||
/* For binning shaders we will clone the NIR code from the corresponding
|
||||
* render shader later, when we call pipeline_compile_xxx_shader. This way
|
||||
* we only have to run the relevant NIR lowerings once for render shaders
|
||||
*/
|
||||
p_stage->nir = NULL;
|
||||
p_stage->spec_info = src->spec_info;
|
||||
p_stage->feedback = (VkPipelineCreationFeedbackEXT) { 0 };
|
||||
memcpy(p_stage->shader_sha1, src->shader_sha1, 20);
|
||||
|
@@ -296,7 +296,8 @@ lower_intrinsic(nir_intrinsic_instr *instr,
|
||||
instr->intrinsic == nir_intrinsic_image_deref_atomic_exchange ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_atomic_comp_swap ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_atomic_fadd ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_size) {
|
||||
instr->intrinsic == nir_intrinsic_image_deref_size ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_samples) {
|
||||
|
||||
b->cursor = nir_before_instr(&instr->instr);
|
||||
nir_deref_instr *deref =
|
||||
@@ -311,6 +312,9 @@ lower_intrinsic(nir_intrinsic_instr *instr,
|
||||
nir_src_for_ssa(&deref->dest.ssa));
|
||||
return true;
|
||||
}
|
||||
if (instr->intrinsic == nir_intrinsic_image_deref_order ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_format)
|
||||
unreachable("how did you even manage this?");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@@ -94,8 +94,10 @@ lower_pntc_ytransform_block(lower_pntc_ytransform_state *state,
|
||||
nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
|
||||
nir_variable *var = nir_deref_instr_get_variable(deref);
|
||||
|
||||
if (var->data.mode == nir_var_shader_in &&
|
||||
var->data.location == VARYING_SLOT_PNTC) {
|
||||
if ((var->data.mode == nir_var_shader_in &&
|
||||
var->data.location == VARYING_SLOT_PNTC) ||
|
||||
(var->data.mode == nir_var_system_value &&
|
||||
var->data.location == SYSTEM_VALUE_POINT_COORD)) {
|
||||
lower_load_pointcoord(state, intr);
|
||||
}
|
||||
}
|
||||
|
@@ -1056,7 +1056,7 @@ if (bits == 0) {
|
||||
} else if (offset < 0 || bits < 0 || offset + bits > 32) {
|
||||
dst = 0;
|
||||
} else {
|
||||
dst = (base << (32 - offset - bits)) >> offset; /* use sign-extending shift */
|
||||
dst = (base << (32 - offset - bits)) >> (32 - bits); /* use sign-extending shift */
|
||||
}
|
||||
""")
|
||||
|
||||
|
@@ -976,7 +976,27 @@ process_loops(nir_shader *sh, nir_cf_node *cf_node, bool *has_nested_loop_out,
|
||||
}
|
||||
}
|
||||
|
||||
if (has_nested_loop || !loop->info->limiting_terminator)
|
||||
/* Intentionally don't consider exact_trip_count_known here. When
|
||||
* max_trip_count is non-zero, it is the upper bound on the number of
|
||||
* times the loop will iterate, but the loop may iterate less. For
|
||||
* example, the following loop will iterate 0 or 1 time:
|
||||
*
|
||||
* for (i = 0; i < min(x, 1); i++) { ... }
|
||||
*
|
||||
* Trivial single-interation loops (e.g., do { ... } while (false)) and
|
||||
* trivial zero-iteration loops (e.g., while (false) { ... }) will have
|
||||
* already been handled.
|
||||
*
|
||||
* If the loop is known to execute at most once and meets the other
|
||||
* unrolling criteria, unroll it even if it has nested loops.
|
||||
*
|
||||
* It is unlikely that such loops exist in real shaders. GraphicsFuzz is
|
||||
* known to generate spurious loops that iterate exactly once. It is
|
||||
* plausible that it could eventually start generating loops like the
|
||||
* example above, so it seems logical to defend against it now.
|
||||
*/
|
||||
if (!loop->info->limiting_terminator ||
|
||||
(loop->info->max_trip_count != 1 && has_nested_loop))
|
||||
goto exit;
|
||||
|
||||
if (!check_unrolling_restrictions(sh, loop))
|
||||
|
@@ -2825,9 +2825,16 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode,
|
||||
"Unless the Kernel capability is being used, the coordinate parameter "
|
||||
"OpImageSampleExplicitLod must be floating point.");
|
||||
|
||||
p->src = nir_src_for_ssa(
|
||||
nir_fadd(&b->nb, nir_i2f32(&b->nb, p->src.ssa),
|
||||
nir_imm_float(&b->nb, 0.5)));
|
||||
nir_ssa_def *coords[4];
|
||||
nir_ssa_def *f0_5 = nir_imm_float(&b->nb, 0.5);
|
||||
for (unsigned i = 0; i < coord_components; i++) {
|
||||
coords[i] = nir_i2f32(&b->nb, nir_channel(&b->nb, p->src.ssa, i));
|
||||
|
||||
if (!is_array || i != coord_components - 1)
|
||||
coords[i] = nir_fadd(&b->nb, coords[i], f0_5);
|
||||
}
|
||||
|
||||
p->src = nir_src_for_ssa(nir_vec(&b->nb, coords, coord_components));
|
||||
}
|
||||
|
||||
p->src_type = nir_tex_src_coord;
|
||||
|
@@ -302,6 +302,7 @@ struct dri2_egl_surface
|
||||
struct wl_drm *wl_drm_wrapper;
|
||||
struct wl_callback *throttle_callback;
|
||||
int format;
|
||||
bool resized;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DRM_PLATFORM
|
||||
|
@@ -279,6 +279,8 @@ resize_callback(struct wl_egl_window *wl_win, void *data)
|
||||
dri2_surf->base.Height == wl_win->height)
|
||||
return;
|
||||
|
||||
dri2_surf->resized = true;
|
||||
|
||||
/* Update the surface size as soon as native window is resized; from user
|
||||
* pov, this makes the effect that resize is done immediately after native
|
||||
* window resize, without requiring to wait until the first draw.
|
||||
@@ -714,10 +716,9 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
|
||||
dri2_surf->dy = dri2_surf->wl_win->dy;
|
||||
}
|
||||
|
||||
if (dri2_surf->wl_win &&
|
||||
(dri2_surf->base.Width != dri2_surf->wl_win->attached_width ||
|
||||
dri2_surf->base.Height != dri2_surf->wl_win->attached_height)) {
|
||||
dri2_wl_release_buffers(dri2_surf);
|
||||
if (dri2_surf->resized) {
|
||||
dri2_wl_release_buffers(dri2_surf);
|
||||
dri2_surf->resized = false;
|
||||
}
|
||||
|
||||
if (get_back_bo(dri2_surf) < 0) {
|
||||
|
@@ -131,8 +131,14 @@ _eglCreateThreadInfo(void)
|
||||
static void
|
||||
_eglDestroyThreadInfo(_EGLThreadInfo *t)
|
||||
{
|
||||
if (t != &dummy_thread)
|
||||
if (t != &dummy_thread) {
|
||||
free(t);
|
||||
#ifdef USE_ELF_TLS
|
||||
/* Reset the TLS also here, otherwise
|
||||
* it will be having a dangling pointer */
|
||||
_egl_TLS = NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -7,6 +7,8 @@ deqp_args = [
|
||||
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
]
|
||||
version_check = "GL ES 3.0.*git"
|
||||
renderer_check = "FD307"
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles3/deqp-gles3"
|
||||
|
@@ -1,200 +0,0 @@
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center,Fail
|
||||
dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail
|
||||
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
|
||||
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
|
||||
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
|
||||
|
||||
# "../src/compiler/glsl/ir.cpp:534: ir_expression::ir_expression(int, ir_rvalue*, ir_rvalue*): Assertion `op0->type == op1->type' failed."
|
||||
# in lower_instructions_visitor::extract_to_shifts().
|
||||
# This GLSL path would be avoided if we had ARB_gpu_shader5.
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_mediump_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_lowp_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_lowp_fragment,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_mediump_compute,Crash
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_mediump_fragment,Crash
|
||||
|
||||
dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20,Fail
|
||||
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
|
||||
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
|
||||
dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail
|
||||
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
|
||||
dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_basic,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_scale,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_scale,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_color,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_depth,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_color,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_depth,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color,Fail
|
||||
dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8,Fail
|
||||
dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8,Fail
|
||||
dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darray_fixed_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2dshadow_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler3d_fixed_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler3d_float_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler2dshadow_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_fixed_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_float_vertex,Fail
|
||||
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler2dshadow_vertex,Fail
|
||||
dEQP-GLES3.functional.texture.specification.texstorage3d.size.3d_2x2x2_2_levels,Fail
|
||||
|
||||
# Draws white instead of gradient
|
||||
KHR-GLES2.core.internalformat.copy_tex_image.alpha8_oes,Fail
|
||||
KHR-GLES2.core.internalformat.copy_tex_image.alpha,Fail
|
||||
KHR-GLES3.core.internalformat.copy_tex_image.alpha,Fail
|
||||
KHR-GLES31.core.internalformat.copy_tex_image.alpha,Fail
|
||||
|
||||
# "Invalid array size was returned. at es31cArrayOfArraysTests.cpp:4779"
|
||||
# msm 900000.mdss: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence 2c54ef status E40801C1 rb 0162/0162 ib1 000000000104B000/0000 ib2 000000000104C000/0000
|
||||
KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls1,Fail
|
||||
KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2,Fail
|
||||
|
||||
# "../src/gallium/drivers/freedreno/a5xx/fd5_emit.c:82: fd5_emit_const_bo: Assertion `dst_off % 4 == 0' failed."
|
||||
KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays,Fail
|
||||
KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements,Fail
|
||||
|
||||
# "drawTestCompute failed expected: RGBA(4, 3, 2, 1) actual: RGBA(0, 255, 0, 255)"
|
||||
KHR-GLES31.core.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader,Fail
|
||||
KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_ComputeShader,Fail
|
||||
KHR-GLES31.core.layout_binding.sampler3D_layout_binding_texture_ComputeShader,Fail
|
||||
|
||||
# msm 900000.mdss: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence 2c54ef status E40801C1 rb 0162/0162 ib1 000000000104B000/0000 ib2 000000000104C000/0000
|
||||
KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions,Fail
|
||||
|
||||
# Many failures, across formats
|
||||
KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_posx,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_texture2d,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_posx,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_texture2d,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_posx,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.texture2d_texture2d,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posx,Fail
|
||||
KHR-GLES3.copy_tex_image_conversions.required.texture3d_texture2d,Fail
|
||||
|
||||
KHR-GLES3.packed_depth_stencil.blit.depth24_stencil8,Fail
|
||||
KHR-GLES3.packed_depth_stencil.blit.depth32f_stencil8,Fail
|
||||
KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8,Fail
|
||||
|
||||
# "Non-integer comparison: 1, 0, 18, 1e-05: 0.142857 == 0: not equal.
|
||||
# Copy stage: Gradient comparison failed during ReadPixels for input = [GL_RG, GL_FLOAT] output = [GL_RED, GL_FLOAT]"
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rg32f,Fail
|
||||
# " Integer comparison: 1, 0, 18: 306783392 == 0: not equal.
|
||||
# Copy stage: Gradient comparison failed during ReadPixels for input = [GL_RG_INTEGER, GL_INT] output = [GL_RED_INTEGER, GL_INT]"
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rg32i,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rg32ui,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgb16f,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba16f,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba16i,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba16ui,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba32f,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba32i,Fail
|
||||
KHR-GLES3.packed_pixels.pbo_rectangle.rgba32ui,Fail
|
||||
|
||||
KHR-GLES3.packed_pixels.rectangle.rg32f,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rg32i,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rg32ui,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgb16f,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba16f,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba16i,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba16ui,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba32f,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba32i,Fail
|
||||
KHR-GLES3.packed_pixels.rectangle.rgba32ui,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rg32f,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rg32i,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rg32ui,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgb16f,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba16f,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba16i,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba16ui,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba32f,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba32i,Fail
|
||||
KHR-GLES3.packed_pixels.varied_rectangle.rgba32ui,Fail
|
||||
|
||||
# "[31] Check failed. Received: [1,0,0,2] instead of: [5,0,0,2]"
|
||||
KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs,Fail
|
@@ -1,23 +0,0 @@
|
||||
# Note: skips lists for CI are just a list of lines that, when
|
||||
# non-zero-length and not starting with '#', will regex match to
|
||||
# delete lines from the test list. Be careful.
|
||||
|
||||
# Times out
|
||||
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36
|
||||
|
||||
# Intermittent timeouts in CI (~1/month)
|
||||
dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_fragment.vec3
|
||||
dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_fragment.vec4
|
||||
dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_vertex.vec3
|
||||
dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_fragment.vec3
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute.vec4
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute.vec3
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute.vec3
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute.vec3
|
||||
|
||||
# Takes more than a few minutes, time is spent in batch_draw_tracking().
|
||||
KHR-GLES31.core.shader_image_load_store.basic-allFormats-store-fs
|
||||
|
||||
# Sometimes times out in CI. I think it's spending time in the compiler, and so
|
||||
# then the flake-detect run usually passes once shaders are cached.
|
||||
KHR-GLES31.core.arrays_of_arrays.SizedDeclarationsPrimitive
|
@@ -7,6 +7,8 @@ deqp_args = [
|
||||
"--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
|
||||
"--deqp-gl-config-name=rgba8888d24s8ms0",
|
||||
]
|
||||
version_check = "GL ES 3.1.*git"
|
||||
renderer_check = "FD530"
|
||||
|
||||
[[deqp]]
|
||||
deqp = "/deqp/modules/gles3/deqp-gles3"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user