Compare commits
393 Commits
mesa-20.0.
...
19.3
Author | SHA1 | Date | |
---|---|---|---|
|
9cda103d28 | ||
|
4ef9bd07c5 | ||
|
e558d56e8b | ||
|
6d0667b18c | ||
|
96e0123224 | ||
|
041b81f2c0 | ||
|
8451d02cdd | ||
|
ee7a114d18 | ||
|
cecfe9b844 | ||
|
7df7071bf5 | ||
|
fa1d2996f7 | ||
|
dba2d46d8c | ||
|
d9ee96ba69 | ||
|
5947cf61d2 | ||
|
cb526cc1c6 | ||
|
8438a41d7b | ||
|
8e986a28fa | ||
|
0bea36c204 | ||
|
016b1e27b8 | ||
|
d0bfb09c67 | ||
|
e32110df11 | ||
|
e3e2ceb25a | ||
|
5a3fbe98cc | ||
|
c15d94c635 | ||
|
ec33a35f24 | ||
|
70c89a2269 | ||
|
0a13dcfe9b | ||
|
64e898a2c1 | ||
|
b94c243672 | ||
|
1ac5905189 | ||
|
707379fe74 | ||
|
635dabc99a | ||
|
256120f89b | ||
|
3ff4a8fd2e | ||
|
e1dc5cc757 | ||
|
312a81ec61 | ||
|
4e699a34ae | ||
|
46b7b11cbf | ||
|
99c086202e | ||
|
3ee1f7ef55 | ||
|
ea1899f862 | ||
|
2a807e98b2 | ||
|
735a90abe5 | ||
|
6d93c67532 | ||
|
a2c51d909c | ||
|
ae3d046039 | ||
|
a0e6341fe4 | ||
|
59e65b6aa2 | ||
|
406cf6560c | ||
|
7bc83a2e9f | ||
|
d95d524dba | ||
|
7b42cb219d | ||
|
1c3744877b | ||
|
c791504c10 | ||
|
b81f4a4092 | ||
|
1f0cbaeb96 | ||
|
de97999c4a | ||
|
7a3190eb91 | ||
|
bbb7efcd2f | ||
|
42e7b158a3 | ||
|
8f630dc7c5 | ||
|
007013c754 | ||
|
c17c8119c3 | ||
|
dfcc06cd7a | ||
|
196a68dfbc | ||
|
b23a127258 | ||
|
19946a1d23 | ||
|
7aacd7dff0 | ||
|
ee4a747ef8 | ||
|
632f18ea17 | ||
|
10a0b602b4 | ||
|
4656d2d30a | ||
|
c2abb8f270 | ||
|
88aa4b77b7 | ||
|
03b457e0f2 | ||
|
a3e4b96ea6 | ||
|
6cd88f51f3 | ||
|
5e7ee64037 | ||
|
6dd380da0c | ||
|
e1579d9613 | ||
|
88865d41f1 | ||
|
7f2c7e09b9 | ||
|
ee2a8992f0 | ||
|
b8a7b7efd9 | ||
|
ed271a9c2f | ||
|
b8db24315a | ||
|
159995be35 | ||
|
23900be910 | ||
|
88986b59f3 | ||
|
d78f3577e6 | ||
|
7c5f6dd0ef | ||
|
1aee273e3b | ||
|
6b3c119c50 | ||
|
6257f10d03 | ||
|
1e23188e7b | ||
|
30472cca00 | ||
|
9fc714c5ec | ||
|
212ea9260d | ||
|
7f7ceb368f | ||
|
23f23f23cb | ||
|
d686805876 | ||
|
9d9c92b8a6 | ||
|
ce0bea311b | ||
|
56bc3836ba | ||
|
f5f8b11629 | ||
|
660e887403 | ||
|
40d3eeb0e3 | ||
|
f7e405bf7c | ||
|
ac3d12717a | ||
|
a350a802cd | ||
|
e0a3fa8bb2 | ||
|
d203c0add7 | ||
|
f585257cb0 | ||
|
9250fb9f0e | ||
|
4ab4ab0b27 | ||
|
d7bcec9a6c | ||
|
b3b73643ca | ||
|
e88a9cc1c0 | ||
|
37c25ea299 | ||
|
f72036c3c7 | ||
|
bca77e3b99 | ||
|
4370e89cf0 | ||
|
352037317b | ||
|
46ce560c04 | ||
|
0623b9f833 | ||
|
cb1f1ac0b4 | ||
|
5feb926e05 | ||
|
aea41a56bd | ||
|
24f1072492 | ||
|
0c2ac0f455 | ||
|
08f1629534 | ||
|
b967399cea | ||
|
386b9c5e7e | ||
|
4f6044a273 | ||
|
a1524cc3a8 | ||
|
1ba22bfe3e | ||
|
b6d98ba821 | ||
|
f7d6048108 | ||
|
c6630985fe | ||
|
90d220d8f4 | ||
|
8c32cd3a48 | ||
|
ca9997f94e | ||
|
6b0e1e6265 | ||
|
a4fb009476 | ||
|
4f0a410ae9 | ||
|
a1d7ccb0c9 | ||
|
949e113282 | ||
|
9cfc0fb617 | ||
|
ebfce7e616 | ||
|
f2764adc1a | ||
|
4dc4868e8f | ||
|
19692e1af9 | ||
|
f19e18858b | ||
|
5a79184ee7 | ||
|
dd9467247b | ||
|
3608b1c8ff | ||
|
0f257d0cf9 | ||
|
14cbf4d8e5 | ||
|
a026923e7c | ||
|
f167aab11d | ||
|
85b233cc54 | ||
|
256bcc247e | ||
|
852f5eac20 | ||
|
ded6ead779 | ||
|
4a7e014b4d | ||
|
83821ebb25 | ||
|
b55c8ec520 | ||
|
1c8f3ca4a1 | ||
|
0ca67b73b2 | ||
|
1ebe018e44 | ||
|
c4cd47bad9 | ||
|
77b8fc9dae | ||
|
46b4ffb44d | ||
|
288203f47b | ||
|
b12fba88bf | ||
|
9fb11c4b9e | ||
|
729d632686 | ||
|
8df6be9b91 | ||
|
aa3ab59a72 | ||
|
ea84c5bee1 | ||
|
db1b7341f1 | ||
|
31fa1c7937 | ||
|
6cab261441 | ||
|
964883551d | ||
|
4dfdceeedc | ||
|
583d870f56 | ||
|
8e8b9584f3 | ||
|
852c88ed94 | ||
|
c6a861a2b0 | ||
|
133e3245e7 | ||
|
5657ca2fe7 | ||
|
c54178f796 | ||
|
8734effe13 | ||
|
a2083af27d | ||
|
30cd0c7523 | ||
|
11c1159706 | ||
|
d4a1f1daaf | ||
|
28cba736ce | ||
|
c63d04cb57 | ||
|
64ee69a189 | ||
|
310d877489 | ||
|
d9cbe10ee8 | ||
|
e87b100880 | ||
|
9f1782854e | ||
|
4028c3c867 | ||
|
3d43ce1ca1 | ||
|
980ac74d5e | ||
|
c4eeaf5f60 | ||
|
d8392c05ae | ||
|
e5e1c5e0ae | ||
|
180a8a73e0 | ||
|
e1e84f6502 | ||
|
6f473094a9 | ||
|
425450c984 | ||
|
1efde6d42a | ||
|
8817d8ee18 | ||
|
0b25d2ce75 | ||
|
22aa458561 | ||
|
eaa56931a1 | ||
|
2078d2da46 | ||
|
1a0a74f19e | ||
|
784d9595be | ||
|
720263db9f | ||
|
fe3c3f454c | ||
|
99aed839e1 | ||
|
d090aca137 | ||
|
43edacbeb7 | ||
|
2c8a37739b | ||
|
cb6cc519e7 | ||
|
c5ff7fbeab | ||
|
b7f253b87d | ||
|
687df737af | ||
|
1949c2a323 | ||
|
1a6b8fcf17 | ||
|
0309f2f071 | ||
|
e075d33279 | ||
|
e3f1a59172 | ||
|
4f45bac153 | ||
|
fbb0f5dfbb | ||
|
9e3be21a91 | ||
|
61ea855be3 | ||
|
08a24d9e28 | ||
|
a278301fd4 | ||
|
4c8bd415b4 | ||
|
9e8aaa6f18 | ||
|
a857bc66dc | ||
|
e0da018907 | ||
|
ce856a7392 | ||
|
3a58a73661 | ||
|
1452cf672c | ||
|
88b2a8ba3f | ||
|
3f50741bc2 | ||
|
58395e5293 | ||
|
ae06960627 | ||
|
7b2ef16086 | ||
|
d4dad580e5 | ||
|
4a3b4ccf6b | ||
|
a637f36b61 | ||
|
843629708e | ||
|
01d53f7ac0 | ||
|
166a3ae3c8 | ||
|
c5e203ff50 | ||
|
22d1e495da | ||
|
a67289631f | ||
|
6adf4fe26d | ||
|
fe136a943d | ||
|
b2d5d0aae1 | ||
|
e8635ce28e | ||
|
fb6db6b5bb | ||
|
c90f4e9508 | ||
|
1de3548668 | ||
|
4399795fbd | ||
|
d362ba77ce | ||
|
9b189cb9b1 | ||
|
15791ca8f9 | ||
|
f0aa6a7535 | ||
|
f6ac7d9a5b | ||
|
f9e8f6bad8 | ||
|
f7d100caad | ||
|
0fa0b5fc3a | ||
|
bf03a4311b | ||
|
967043eb68 | ||
|
f4a4cce590 | ||
|
4f026b2a05 | ||
|
d32a34a3f3 | ||
|
8e3c4caf74 | ||
|
e11d9cd9ed | ||
|
0ca8b506a4 | ||
|
a260645345 | ||
|
5ba4fb857d | ||
|
553de940de | ||
|
f63c3ecaa0 | ||
|
d438ccdedf | ||
|
19573e4374 | ||
|
5a12bc6454 | ||
|
14acf6fc3d | ||
|
06a95a06e8 | ||
|
2e8af7b3e0 | ||
|
5b9decf632 | ||
|
0b0c500ad1 | ||
|
093deac71f | ||
|
ba9f8e0fee | ||
|
85b0bb5144 | ||
|
9cd69861f8 | ||
|
c694d3c5ca | ||
|
6477084c1a | ||
|
37ded70630 | ||
|
9d1b1968bf | ||
|
79521963ab | ||
|
abccd999ef | ||
|
cd736de7aa | ||
|
b7ab6e9470 | ||
|
addf63dbd7 | ||
|
2b4459973b | ||
|
48f8f0edca | ||
|
3b8461cf16 | ||
|
79610494f9 | ||
|
32aba91c07 | ||
|
35182247fc | ||
|
ab4df0ec72 | ||
|
37d13ecca7 | ||
|
a3d52fd4ab | ||
|
36fbe5b292 | ||
|
9445d96d5c | ||
|
5cd8c67a7f | ||
|
d7c0a1d3d4 | ||
|
7c61e5192f | ||
|
f393c92345 | ||
|
4fbe772b23 | ||
|
17ad67c6dc | ||
|
61366cdf05 | ||
|
001e7305ab | ||
|
1b8f93550a | ||
|
992bff94f7 | ||
|
51a15eabe6 | ||
|
f3c0d5aa3a | ||
|
512ed9899a | ||
|
35c196025b | ||
|
4910128bab | ||
|
14c8323774 | ||
|
c78901c124 | ||
|
2a497735ec | ||
|
87efb9f3a4 | ||
|
3d9c678772 | ||
|
bb08c0f04d | ||
|
3c1b3656b9 | ||
|
05be725923 | ||
|
8608c460d1 | ||
|
2f66f619c8 | ||
|
2bd7416823 | ||
|
0aef18324a | ||
|
3211308e88 | ||
|
f7d76ad80e | ||
|
52005416a0 | ||
|
0b670a919c | ||
|
b90f5a9ea0 | ||
|
2ea5038045 | ||
|
5ca2bb392f | ||
|
01f6321c09 | ||
|
15342abc5b | ||
|
08501e77af | ||
|
49af89a0b9 | ||
|
dd4b73ad38 | ||
|
a8faeff399 | ||
|
0d846243a0 | ||
|
bc5357bf33 | ||
|
5cee7ad873 | ||
|
184d39301d | ||
|
9bca129bb4 | ||
|
6daaf66f66 | ||
|
4d21f802b5 | ||
|
090469173c | ||
|
59bc14186e | ||
|
5032575b94 | ||
|
b981ca4d7e | ||
|
3544a01121 | ||
|
bb9d1ed2bd | ||
|
5f8e0c715e | ||
|
f0104d8fef | ||
|
cb66ea7780 | ||
|
75886fafaa | ||
|
b3fd30921a | ||
|
ea886e49be | ||
|
307e5cc8fd | ||
|
0b8836cb23 | ||
|
39e9739a3b | ||
|
de705da8a6 | ||
|
640747a298 | ||
|
9df4763440 | ||
|
2b1b7afb5c | ||
|
084926926c | ||
|
1beee9dd9f | ||
|
20512e9ddb |
@@ -16,7 +16,7 @@ if "%buildsystem%" == "scons" (
|
||||
call scons --version
|
||||
) else (
|
||||
python --version
|
||||
python -m pip install Mako meson
|
||||
python -m pip install Mako==1.0.7 meson
|
||||
meson --version
|
||||
|
||||
rem Install pkg-config, which meson requires even on windows
|
||||
|
@@ -32,10 +32,6 @@ indent_size = 2
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.html]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.patch]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
|
462
.gitlab-ci.yml
462
.gitlab-ci.yml
@@ -1,26 +1,50 @@
|
||||
# This is the tag of the docker image used for the build jobs. If the
|
||||
# image doesn't exist yet, the containers stage generates it.
|
||||
#
|
||||
# In order to generate a new image, one should generally change the tag.
|
||||
# While removing the image from the registry would also work, that's not
|
||||
# recommended except for ephemeral images during development: Replacing
|
||||
# an image after a significant amount of time might pull in newer
|
||||
# versions of gcc/clang or other packages, which might break the build
|
||||
# with older commits using the same tag.
|
||||
#
|
||||
# After merging a change resulting in generating a new image to the
|
||||
# main repository, it's recommended to remove the image from the source
|
||||
# repository's container registry, so that the image from the main
|
||||
# repository's registry will be used there as well.
|
||||
variables:
|
||||
UPSTREAM_REPO: mesa/mesa
|
||||
DEBIAN_TAG: "2019-10-29"
|
||||
DEBIAN_ARM64_TAG: "arm64v8-2019-10-23"
|
||||
STRETCH_TAG: "2019-09-18"
|
||||
DEBIAN_VERSION: buster-slim
|
||||
STRETCH_VERSION: stretch-slim
|
||||
DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
|
||||
DEBIAN_ARM64_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_ARM64_TAG"
|
||||
STRETCH_IMAGE: "$CI_REGISTRY_IMAGE/debian/$STRETCH_VERSION:$STRETCH_TAG"
|
||||
|
||||
include:
|
||||
- project: 'wayland/ci-templates'
|
||||
# Must be the same as in .gitlab-ci/lava-gitlab-ci.yml
|
||||
ref: 0a9bdd33a98f05af6761ab118b5074952242aab0
|
||||
ref: b7030c2cd0d6ccc5f6d4f8299bafa4daa9240d71
|
||||
file: '/templates/debian.yml'
|
||||
|
||||
include:
|
||||
- local: '.gitlab-ci/lava-gitlab-ci.yml'
|
||||
|
||||
stages:
|
||||
- container
|
||||
- build
|
||||
- test
|
||||
- success
|
||||
|
||||
|
||||
# When to automatically run the CI
|
||||
.ci-run-policy:
|
||||
rules:
|
||||
# Run pipeline by default for merge requests changing files affecting it
|
||||
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
||||
changes: &paths
|
||||
only:
|
||||
refs:
|
||||
- branches@mesa/mesa
|
||||
- merge_requests
|
||||
- /^ci([-/].*)?$/
|
||||
changes:
|
||||
- VERSION
|
||||
- bin/**/*
|
||||
# GitLab CI
|
||||
@@ -37,38 +61,10 @@ stages:
|
||||
# Source code
|
||||
- include/**/*
|
||||
- src/**/*
|
||||
when: on_success
|
||||
# Run pipeline by default in the main project if files affecting it were
|
||||
# changed
|
||||
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
||||
changes:
|
||||
*paths
|
||||
when: on_success
|
||||
# Allow triggering jobs manually on branches of forked projects
|
||||
- if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
|
||||
when: manual
|
||||
# Otherwise, most jobs won't run
|
||||
- when: never
|
||||
retry:
|
||||
max: 2
|
||||
when:
|
||||
- runner_system_failure
|
||||
# Cancel CI run if a newer commit is pushed to the same branch
|
||||
interruptible: true
|
||||
|
||||
success:
|
||||
stage: success
|
||||
image: debian:stable-slim
|
||||
only:
|
||||
- merge_requests
|
||||
except:
|
||||
changes:
|
||||
*paths
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- echo "Dummy job to make sure every merge request pipeline runs at least one job"
|
||||
|
||||
|
||||
.ci-deqp-artifacts:
|
||||
artifacts:
|
||||
@@ -79,115 +75,48 @@ success:
|
||||
# https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
|
||||
- artifacts
|
||||
|
||||
# Build the CI docker images.
|
||||
#
|
||||
# DEBIAN_TAG is the tag of the docker image used by later stage jobs. If the
|
||||
# image doesn't exist yet, the container stage job generates it.
|
||||
#
|
||||
# In order to generate a new image, one should generally change the tag.
|
||||
# While removing the image from the registry would also work, that's not
|
||||
# recommended except for ephemeral images during development: Replacing
|
||||
# an image after a significant amount of time might pull in newer
|
||||
# versions of gcc/clang or other packages, which might break the build
|
||||
# with older commits using the same tag.
|
||||
#
|
||||
# After merging a change resulting in generating a new image to the
|
||||
# main repository, it's recommended to remove the image from the source
|
||||
# repository's container registry, so that the image from the main
|
||||
# repository's registry will be used there as well.
|
||||
# Build the normal CI native and cross-build docker images.
|
||||
|
||||
.container:
|
||||
stage: container
|
||||
extends:
|
||||
- .ci-run-policy
|
||||
variables:
|
||||
DEBIAN_VERSION: buster-slim
|
||||
REPO_SUFFIX: $CI_JOB_NAME
|
||||
DEBIAN_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
|
||||
# no need to pull the whole repo to build the container image
|
||||
GIT_STRATEGY: none
|
||||
|
||||
# Debian 10 based x86 build image
|
||||
x86_build:
|
||||
debian-10:amd64:
|
||||
extends:
|
||||
- .debian@container-ifnot-exists
|
||||
- .container
|
||||
variables:
|
||||
DEBIAN_TAG: &x86_build "2020-01-14"
|
||||
DEBIAN_EXEC: 'bash .gitlab-ci/debian-install.sh'
|
||||
|
||||
.use-x86_build:
|
||||
variables:
|
||||
TAG: *x86_build
|
||||
image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG"
|
||||
.use-debian-10:amd64:
|
||||
image: $DEBIAN_IMAGE
|
||||
needs:
|
||||
- x86_build
|
||||
- debian-10:amd64
|
||||
|
||||
# Debian 10 based x86 test image for GL
|
||||
x86_test-gl:
|
||||
extends: x86_build
|
||||
debian-9:amd64:
|
||||
extends: debian-10:amd64
|
||||
variables:
|
||||
DEBIAN_TAG: &x86_test-gl "2020-01-14"
|
||||
DEBIAN_TAG: $STRETCH_TAG
|
||||
DEBIAN_VERSION: $STRETCH_VERSION
|
||||
DEBIAN_IMAGE: $STRETCH_IMAGE
|
||||
DEBIAN_EXEC: 'bash .gitlab-ci/debian-stretch-install.sh'
|
||||
|
||||
# Debian 10 based x86 test image for VK
|
||||
x86_test-vk:
|
||||
extends: x86_build
|
||||
variables:
|
||||
DEBIAN_TAG: &x86_test-vk "2020-01-14"
|
||||
# Can only be triggered manually on personal branches because RADV is the only
|
||||
# driver that does Vulkan testing at the moment.
|
||||
rules:
|
||||
# Never build the test image for VK by default in the main project.
|
||||
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
||||
when: never
|
||||
# Never build the test image for VK by default for merge requests.
|
||||
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
||||
when: never
|
||||
# Otherwise, allow building it manually for personal branches.
|
||||
- when: manual
|
||||
|
||||
|
||||
# Debian 9 based x86 build image (old LLVM)
|
||||
x86_build_old:
|
||||
extends: x86_build
|
||||
variables:
|
||||
DEBIAN_TAG: &x86_build_old "2019-09-18"
|
||||
DEBIAN_VERSION: stretch-slim
|
||||
|
||||
.use-x86_build_old:
|
||||
variables:
|
||||
TAG: *x86_build_old
|
||||
image: "$CI_REGISTRY_IMAGE/debian/x86_build_old:$TAG"
|
||||
.use-debian-9:amd64:
|
||||
image: $STRETCH_IMAGE
|
||||
needs:
|
||||
- x86_build_old
|
||||
- debian-9:amd64
|
||||
|
||||
# Debian 10 based ARM build image
|
||||
arm_build:
|
||||
debian-10:arm64:
|
||||
extends:
|
||||
- .debian@container-ifnot-exists@arm64v8
|
||||
- .container
|
||||
variables:
|
||||
DEBIAN_TAG: &arm_build "2020-01-14"
|
||||
|
||||
.use-arm_build:
|
||||
variables:
|
||||
TAG: *arm_build
|
||||
image: "$CI_REGISTRY_IMAGE/debian/arm_build:$TAG"
|
||||
needs:
|
||||
- arm_build
|
||||
|
||||
# Debian 10 based ARM test image
|
||||
arm_test:
|
||||
extends: arm_build
|
||||
variables:
|
||||
DEBIAN_TAG: &arm_test "2019-12-18"
|
||||
|
||||
.use-arm_test:
|
||||
variables:
|
||||
TAG: *arm_test
|
||||
image: "$CI_REGISTRY_IMAGE/debian/arm_test:$TAG"
|
||||
needs:
|
||||
- meson-arm64
|
||||
- arm_test
|
||||
DEBIAN_TAG: "$DEBIAN_ARM64_TAG"
|
||||
DEBIAN_EXEC: 'bash .gitlab-ci/debian-arm64-install.sh'
|
||||
|
||||
|
||||
# BUILD
|
||||
@@ -207,16 +136,28 @@ arm_test:
|
||||
# Just Linux
|
||||
.build-linux:
|
||||
extends: .build-common
|
||||
cache:
|
||||
key: ${CI_JOB_NAME}
|
||||
paths:
|
||||
- ccache
|
||||
variables:
|
||||
CCACHE_COMPILERCHECK: "content"
|
||||
CCACHE_COMPRESS: "true"
|
||||
CCACHE_DIR: /cache/mesa/ccache
|
||||
# Use ccache transparently, and print stats before/after
|
||||
before_script:
|
||||
- export PATH="/usr/lib/ccache:$PATH"
|
||||
- export CCACHE_BASEDIR="$PWD"
|
||||
- ccache --show-stats
|
||||
- export CCACHE_DIR="$PWD/ccache"
|
||||
- ccache --max-size=1500M
|
||||
- ccache --zero-stats || true
|
||||
- ccache --show-stats || true
|
||||
after_script:
|
||||
# In case the install dir is being saved as artifacts, tar it up
|
||||
# so that symlinks and hardlinks aren't each packed separately in
|
||||
# the zip file.
|
||||
- if [ -d install ]; then
|
||||
tar -cf artifacts/install.tar install;
|
||||
fi
|
||||
- export CCACHE_DIR="$PWD/ccache"
|
||||
- ccache --show-stats
|
||||
|
||||
.build-windows:
|
||||
@@ -231,43 +172,23 @@ arm_test:
|
||||
.meson-build:
|
||||
extends:
|
||||
- .build-linux
|
||||
- .use-x86_build
|
||||
variables:
|
||||
LLVM_VERSION: 9
|
||||
- .use-debian-10:amd64
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh
|
||||
|
||||
.scons-build:
|
||||
extends:
|
||||
- .build-linux
|
||||
- .use-x86_build
|
||||
- .use-debian-10:amd64
|
||||
variables:
|
||||
SCONSFLAGS: "-j4"
|
||||
script:
|
||||
- .gitlab-ci/scons-build.sh
|
||||
|
||||
meson-testing:
|
||||
meson-main:
|
||||
extends:
|
||||
- .meson-build
|
||||
- .ci-deqp-artifacts
|
||||
variables:
|
||||
UNWIND: "true"
|
||||
DRI_LOADERS: >
|
||||
-D glx=dri
|
||||
-D gbm=true
|
||||
-D egl=true
|
||||
-D platforms=x11,drm,surfaceless
|
||||
GALLIUM_ST: >
|
||||
-D dri3=true
|
||||
GALLIUM_DRIVERS: "swrast"
|
||||
VULKAN_DRIVERS: amd
|
||||
BUILDTYPE: "debugoptimized"
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh
|
||||
- .gitlab-ci/prepare-artifacts.sh
|
||||
|
||||
meson-main:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
UNWIND: "true"
|
||||
DRI_LOADERS: >
|
||||
@@ -286,13 +207,13 @@ meson-main:
|
||||
-D gallium-xa=true
|
||||
-D gallium-nine=true
|
||||
-D gallium-opencl=disabled
|
||||
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
|
||||
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
|
||||
LLVM_VERSION: "7"
|
||||
EXTRA_OPTION: >
|
||||
-D osmesa=gallium
|
||||
-D tools=all
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh
|
||||
- .gitlab-ci/run-shader-db.sh
|
||||
MESON_SHADERDB: "true"
|
||||
BUILDTYPE: "debugoptimized"
|
||||
|
||||
.meson-cross:
|
||||
extends:
|
||||
@@ -315,51 +236,65 @@ meson-main:
|
||||
-D gallium-nine=false
|
||||
|
||||
.meson-arm:
|
||||
extends:
|
||||
- .meson-cross
|
||||
- .use-arm_build
|
||||
extends: .meson-cross
|
||||
image: $DEBIAN_ARM64_IMAGE
|
||||
variables:
|
||||
VULKAN_DRIVERS: freedreno
|
||||
GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
|
||||
BUILDTYPE: "debugoptimized"
|
||||
EXTRA_OPTION: >
|
||||
-D I-love-half-baked-turnips=true
|
||||
needs:
|
||||
- debian-10:arm64
|
||||
tags:
|
||||
- aarch64
|
||||
|
||||
meson-armhf:
|
||||
extends:
|
||||
- .meson-arm
|
||||
- .ci-deqp-artifacts
|
||||
extends: .meson-arm
|
||||
variables:
|
||||
CROSS: armhf
|
||||
LLVM_VERSION: "7"
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh
|
||||
- .gitlab-ci/prepare-artifacts.sh
|
||||
|
||||
meson-arm64:
|
||||
extends:
|
||||
- .meson-arm
|
||||
- .ci-deqp-artifacts
|
||||
variables:
|
||||
LLVM_VERSION: "8"
|
||||
VULKAN_DRIVERS: "freedreno,amd"
|
||||
script:
|
||||
- .gitlab-ci/meson-build.sh
|
||||
- .gitlab-ci/prepare-artifacts.sh
|
||||
BUILDTYPE: "debugoptimized"
|
||||
|
||||
meson-clang:
|
||||
# NOTE: Building SWR is 2x (yes two) times slower than all the other
|
||||
# gallium drivers combined.
|
||||
# Start this early so that it doesn't limit the total run time.
|
||||
#
|
||||
# We also stick the glvnd build here, since we want non-glvnd in
|
||||
# meson-main for actual driver CI.
|
||||
meson-swr-glvnd:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
UNWIND: "true"
|
||||
DRI_LOADERS: >
|
||||
-D glvnd=true
|
||||
-D egl=true
|
||||
GALLIUM_ST: >
|
||||
-D dri3=true
|
||||
-D gallium-vdpau=false
|
||||
-D gallium-xvmc=false
|
||||
-D gallium-omx=disabled
|
||||
-D gallium-va=false
|
||||
-D gallium-xa=false
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=disabled
|
||||
GALLIUM_DRIVERS: "swr,iris"
|
||||
LLVM_VERSION: "6.0"
|
||||
|
||||
meson-clang:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
UNWIND: "true"
|
||||
DRI_DRIVERS: "auto"
|
||||
GALLIUM_DRIVERS: "auto"
|
||||
VULKAN_DRIVERS: intel,amd,freedreno
|
||||
CC: "ccache clang-9"
|
||||
CXX: "ccache clang++-9"
|
||||
CC: "ccache clang-8"
|
||||
CXX: "ccache clang++-8"
|
||||
|
||||
.meson-windows:
|
||||
extends:
|
||||
@@ -411,7 +346,7 @@ meson-clover:
|
||||
meson-clover-old-llvm:
|
||||
extends:
|
||||
- meson-clover
|
||||
- .use-x86_build_old
|
||||
- .use-debian-9:amd64
|
||||
variables:
|
||||
UNWIND: "false"
|
||||
DRI_LOADERS: >
|
||||
@@ -449,6 +384,7 @@ meson-vulkan:
|
||||
-D cpp_args=-fno-sanitize-recover=all
|
||||
UBSAN_OPTIONS: "print_stacktrace=1"
|
||||
VULKAN_DRIVERS: intel,amd,freedreno
|
||||
LLVM_VERSION: "8"
|
||||
EXTRA_OPTION: >
|
||||
-D vulkan-overlay-layer=true
|
||||
|
||||
@@ -466,7 +402,6 @@ meson-i386:
|
||||
-D vulkan-overlay-layer=true
|
||||
-D llvm=false
|
||||
-D osmesa=classic
|
||||
-D werror=true
|
||||
|
||||
meson-mingw32-x86_64:
|
||||
extends: .meson-build
|
||||
@@ -486,205 +421,112 @@ scons:
|
||||
SCONS_CHECK_COMMAND: "scons llvm=1 force_scons=1 check"
|
||||
script:
|
||||
- SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=9 .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=6.0 .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=7 .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=8 .gitlab-ci/scons-build.sh
|
||||
|
||||
scons-old-llvm:
|
||||
extends:
|
||||
- scons
|
||||
- .use-x86_build_old
|
||||
- .use-debian-9:amd64
|
||||
script:
|
||||
- LLVM_VERSION=3.9 .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=4.0 .gitlab-ci/scons-build.sh
|
||||
- LLVM_VERSION=5.0 .gitlab-ci/scons-build.sh
|
||||
|
||||
.test:
|
||||
extends:
|
||||
- .ci-run-policy
|
||||
extends: .ci-run-policy
|
||||
stage: test
|
||||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
before_script:
|
||||
|
||||
.deqp-test:
|
||||
extends:
|
||||
- .test
|
||||
- .use-debian-10:amd64
|
||||
variables:
|
||||
DEQP_SKIPS: deqp-default-skips.txt
|
||||
script:
|
||||
# Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
|
||||
- rm -rf install
|
||||
- tar -xf artifacts/install.tar
|
||||
- LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
|
||||
artifacts:
|
||||
when: always
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- results/
|
||||
dependencies:
|
||||
- meson-testing
|
||||
|
||||
.test-gl:
|
||||
extends:
|
||||
- .test
|
||||
variables:
|
||||
TAG: *x86_test-gl
|
||||
image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
|
||||
needs:
|
||||
- meson-testing
|
||||
- x86_test-gl
|
||||
|
||||
.test-vk:
|
||||
extends:
|
||||
- .test
|
||||
variables:
|
||||
TAG: *x86_test-vk
|
||||
image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
|
||||
needs:
|
||||
- meson-testing
|
||||
- x86_test-vk
|
||||
|
||||
.piglit-test:
|
||||
extends: .test-gl
|
||||
- ./artifacts/deqp-runner.sh
|
||||
artifacts:
|
||||
when: on_failure
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- summary/
|
||||
variables:
|
||||
LIBGL_ALWAYS_SOFTWARE: 1
|
||||
PIGLIT_NO_WINDOW: 1
|
||||
script:
|
||||
- artifacts/piglit/run.sh
|
||||
|
||||
piglit-quick_gl:
|
||||
extends: .piglit-test
|
||||
variables:
|
||||
LP_NUM_THREADS: 0
|
||||
NIR_VALIDATE: 0
|
||||
PIGLIT_OPTIONS: >
|
||||
--process-isolation false
|
||||
-x arb_gpu_shader5
|
||||
-x egl_ext_device_
|
||||
-x egl_ext_platform_device
|
||||
-x ext_timer_query@time-elapsed
|
||||
-x glx-multithread-clearbuffer
|
||||
-x glx-multithread-shader-compile
|
||||
-x max-texture-size
|
||||
-x maxsize
|
||||
PIGLIT_PROFILES: quick_gl
|
||||
|
||||
piglit-glslparser:
|
||||
extends: .piglit-test
|
||||
variables:
|
||||
LP_NUM_THREADS: 0
|
||||
NIR_VALIDATE: 0
|
||||
PIGLIT_PROFILES: glslparser
|
||||
|
||||
piglit-quick_shader:
|
||||
extends: .piglit-test
|
||||
variables:
|
||||
LP_NUM_THREADS: 1
|
||||
NIR_VALIDATE: 0
|
||||
PIGLIT_PROFILES: quick_shader
|
||||
|
||||
.deqp-test:
|
||||
variables:
|
||||
DEQP_SKIPS: deqp-default-skips.txt
|
||||
script:
|
||||
- ./artifacts/deqp-runner.sh
|
||||
|
||||
.deqp-test-gl:
|
||||
extends:
|
||||
- .test-gl
|
||||
- .deqp-test
|
||||
|
||||
.deqp-test-vk:
|
||||
extends:
|
||||
- .test-vk
|
||||
- .deqp-test
|
||||
variables:
|
||||
DEQP_VER: vk
|
||||
- results/
|
||||
dependencies:
|
||||
- meson-main
|
||||
needs:
|
||||
- meson-main
|
||||
- debian-10:amd64
|
||||
|
||||
test-llvmpipe-gles2:
|
||||
parallel: 4
|
||||
variables:
|
||||
DEQP_VER: gles2
|
||||
DEQP_PARALLEL: 4
|
||||
NIR_VALIDATE: 0
|
||||
# Don't use threads inside llvmpipe, we've already got all 4 cores
|
||||
# busy with DEQP_PARALLEL.
|
||||
LP_NUM_THREADS: 0
|
||||
DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
|
||||
LIBGL_ALWAYS_SOFTWARE: "true"
|
||||
extends: .deqp-test-gl
|
||||
DEQP_RENDERER_MATCH: "llvmpipe"
|
||||
extends: .deqp-test
|
||||
|
||||
test-softpipe-gles2:
|
||||
extends: test-llvmpipe-gles2
|
||||
variables:
|
||||
DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
|
||||
DEQP_SKIPS: deqp-softpipe-skips.txt
|
||||
DEQP_RENDERER_MATCH: "softpipe"
|
||||
GALLIUM_DRIVER: "softpipe"
|
||||
|
||||
test-softpipe-gles3:
|
||||
parallel: 2
|
||||
# The GLES2 CTS run takes about 8 minutes of CPU time, while GLES3 is
|
||||
# 25 minutes. Until we can get its runtime down, just do a partial
|
||||
# (every 10 tests) run.
|
||||
test-softpipe-gles3-limited:
|
||||
variables:
|
||||
DEQP_VER: gles3
|
||||
extends: test-softpipe-gles2
|
||||
|
||||
test-softpipe-gles31:
|
||||
parallel: 4
|
||||
variables:
|
||||
DEQP_VER: gles31
|
||||
extends: test-softpipe-gles2
|
||||
DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
|
||||
LIBGL_ALWAYS_SOFTWARE: "true"
|
||||
DEQP_RENDERER_MATCH: "softpipe"
|
||||
GALLIUM_DRIVER: "softpipe"
|
||||
CI_NODE_INDEX: 1
|
||||
CI_NODE_TOTAL: 10
|
||||
extends: .deqp-test
|
||||
|
||||
arm64_a630_gles2:
|
||||
extends:
|
||||
- .deqp-test-gl
|
||||
- .use-arm_test
|
||||
extends: .deqp-test
|
||||
image: $DEBIAN_ARM64_IMAGE
|
||||
variables:
|
||||
DEQP_VER: gles2
|
||||
DEQP_RENDERER_MATCH: "FD630"
|
||||
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
|
||||
DEQP_SKIPS: deqp-freedreno-a630-skips.txt
|
||||
NIR_VALIDATE: 0
|
||||
DEQP_PARALLEL: 4
|
||||
FLAKES_CHANNEL: "#freedreno-ci"
|
||||
tags:
|
||||
- mesa-cheza
|
||||
dependencies:
|
||||
- meson-arm64
|
||||
needs:
|
||||
- meson-arm64
|
||||
- debian-10:arm64
|
||||
|
||||
arm64_a630_gles31:
|
||||
extends: arm64_a630_gles2
|
||||
parallel: 4
|
||||
variables:
|
||||
DEQP_VER: gles31
|
||||
|
||||
arm64_a630_gles3:
|
||||
parallel: 6
|
||||
extends: arm64_a630_gles2
|
||||
variables:
|
||||
DEQP_VER: gles3
|
||||
|
||||
arm64_a306_gles2:
|
||||
parallel: 4
|
||||
extends: arm64_a630_gles2
|
||||
variables:
|
||||
DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
|
||||
DEQP_SKIPS: deqp-default-skips.txt
|
||||
DEQP_RENDERER_MATCH: "FD307"
|
||||
tags:
|
||||
- db410c
|
||||
|
||||
# RADV CI
|
||||
.test-radv:
|
||||
variables:
|
||||
VK_DRIVER: radeon
|
||||
RADV_DEBUG: checkir
|
||||
# Can only be triggered manually on personal branches because RADV is the only
|
||||
# driver that does Vulkan testing at the moment.
|
||||
rules:
|
||||
# Never test RADV by default in the main project.
|
||||
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
||||
when: never
|
||||
# Never test RADV by default for merge requests.
|
||||
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
||||
when: never
|
||||
# Otherwise, allow testing RADV if the test image for VK has been manually
|
||||
# started.
|
||||
- when: on_success
|
||||
|
||||
radv_polaris10_vkcts:
|
||||
extends:
|
||||
- .deqp-test-vk
|
||||
- .test-radv
|
||||
variables:
|
||||
DEQP_PARALLEL: 4
|
||||
DEQP_SKIPS: deqp-radv-polaris10-skips.txt
|
||||
tags:
|
||||
- polaris10
|
||||
|
@@ -26,6 +26,7 @@ CONFIG_TYPEC_FUSB302=y
|
||||
CONFIG_TYPEC=y
|
||||
CONFIG_TYPEC_TCPM=y
|
||||
|
||||
CONFIG_ARCH_SUNXI=n
|
||||
CONFIG_ARCH_ALPINE=n
|
||||
CONFIG_ARCH_BCM2835=n
|
||||
CONFIG_ARCH_BCM_IPROC=n
|
||||
|
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
git clone https://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git --depth 1 -b mesa-ci-2019-12-17
|
||||
cd parallel-deqp-runner
|
||||
meson build/ $EXTRA_MESON_ARGS
|
||||
ninja -C build -j4 install
|
||||
cd ..
|
||||
rm -rf parallel-deqp-runner
|
@@ -1,61 +0,0 @@
|
||||
git config --global user.email "mesa@example.com"
|
||||
git config --global user.name "Mesa CI"
|
||||
# XXX: Use --depth 1 once we can drop the cherry-picks.
|
||||
git clone \
|
||||
https://github.com/KhronosGroup/VK-GL-CTS.git \
|
||||
-b opengl-es-cts-3.2.5.1 \
|
||||
/VK-GL-CTS
|
||||
pushd /VK-GL-CTS
|
||||
# Fix surfaceless build
|
||||
git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
|
||||
git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
|
||||
|
||||
# surfaceless links against libkms and such despite not using it.
|
||||
sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
|
||||
|
||||
# --insecure is due to SSL cert failures hitting sourceforge for zlib and
|
||||
# libpng (sigh). The archives get their checksums checked anyway, and git
|
||||
# always goes through ssh or https.
|
||||
python3 external/fetch_sources.py --insecure
|
||||
|
||||
mkdir -p /deqp
|
||||
|
||||
# Save the testlog stylesheets:
|
||||
cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp
|
||||
popd
|
||||
|
||||
pushd /deqp
|
||||
cmake -G Ninja \
|
||||
-DDEQP_TARGET=surfaceless \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
$EXTRA_CMAKE_ARGS \
|
||||
/VK-GL-CTS
|
||||
ninja
|
||||
|
||||
# Copy out the mustpass lists we want from a bunch of other junk.
|
||||
mkdir /deqp/mustpass
|
||||
for gles in gles2 gles3 gles31; do
|
||||
cp \
|
||||
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
|
||||
/deqp/mustpass/$gles-master.txt
|
||||
done
|
||||
|
||||
# Save *some* executor utils, but otherwise strip things down
|
||||
# to reduct deqp build size:
|
||||
mkdir /deqp/executor.save
|
||||
cp /deqp/executor/testlog-to-* /deqp/executor.save
|
||||
rm -rf /deqp/executor
|
||||
mv /deqp/executor.save /deqp/executor
|
||||
|
||||
rm -rf /deqp/external
|
||||
rm -rf /deqp/modules/internal
|
||||
rm -rf /deqp/execserver
|
||||
rm -rf /deqp/modules/egl
|
||||
rm -rf /deqp/framework
|
||||
find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
|
||||
${STRIP_CMD:-strip} modules/*/deqp-*
|
||||
du -sh *
|
||||
rm -rf /VK-GL-CTS
|
||||
popd
|
@@ -1,33 +0,0 @@
|
||||
git clone --depth 1 \
|
||||
https://github.com/KhronosGroup/VK-GL-CTS.git \
|
||||
-b vulkan-cts-1.1.6.0 \
|
||||
/VK-GL-CTS
|
||||
cd /VK-GL-CTS
|
||||
|
||||
# --insecure is due to SSL cert failures hitting sourceforge for zlib and
|
||||
# libpng (sigh). The archives get their checksums checked anyway, and git
|
||||
# always goes through ssh or https.
|
||||
python3 external/fetch_sources.py --insecure
|
||||
|
||||
mkdir -p /deqp
|
||||
cd /deqp
|
||||
cmake -G Ninja \
|
||||
-DDEQP_TARGET=x11_glx \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
/VK-GL-CTS
|
||||
ninja -j4
|
||||
|
||||
# Copy out the mustpass list we want.
|
||||
mkdir /deqp/mustpass
|
||||
cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \
|
||||
/deqp/mustpass/vk-master.txt
|
||||
|
||||
rm -rf /deqp/modules/internal
|
||||
rm -rf /deqp/executor
|
||||
rm -rf /deqp/execserver
|
||||
rm -rf /deqp/modules/egl
|
||||
rm -rf /deqp/framework
|
||||
find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
|
||||
strip external/vulkancts/modules/vulkan/deqp-vk
|
||||
du -sh *
|
||||
rm -rf /VK-GL-CTS
|
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit
|
||||
pushd /piglit
|
||||
git checkout 8771c3860505db2bcf4877216221d774bf90af6b
|
||||
patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release
|
||||
ninja -j4
|
||||
find -name .git -o -name '*ninja*' -o -iname '*cmake*' -o -name '*.[chao]' | xargs rm -rf
|
||||
rm -rf target_api
|
||||
popd
|
@@ -1,74 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
############### Install packages for building
|
||||
apt-get -y install ca-certificates
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
dpkg --add-architecture armhf
|
||||
apt-get update
|
||||
apt-get -y install \
|
||||
bc \
|
||||
bison \
|
||||
ccache \
|
||||
cmake \
|
||||
cpio \
|
||||
crossbuild-essential-armhf \
|
||||
debootstrap \
|
||||
flex \
|
||||
g++ \
|
||||
gettext \
|
||||
git \
|
||||
lavacli \
|
||||
libdrm-dev:armhf \
|
||||
libegl1-mesa-dev \
|
||||
libegl1-mesa-dev:armhf \
|
||||
libelf-dev \
|
||||
libelf-dev:armhf \
|
||||
libexpat1-dev \
|
||||
libexpat1-dev:armhf \
|
||||
libgles2-mesa-dev \
|
||||
libgles2-mesa-dev:armhf \
|
||||
libpng-dev \
|
||||
libpng-dev:armhf \
|
||||
libssl-dev \
|
||||
libvulkan-dev \
|
||||
libvulkan-dev:armhf \
|
||||
llvm-7-dev:armhf \
|
||||
llvm-8-dev \
|
||||
meson \
|
||||
pkg-config \
|
||||
python \
|
||||
python3-mako \
|
||||
unzip \
|
||||
wget \
|
||||
zlib1g-dev
|
||||
|
||||
# dependencies where we want a specific version
|
||||
export LIBDRM_VERSION=libdrm-2.4.100
|
||||
|
||||
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
|
||||
tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
|
||||
cd $LIBDRM_VERSION; meson build -D vc4=true -D freedreno=true -D etnaviv=true; ninja -j4 -C build install; cd ..
|
||||
rm -rf $LIBDRM_VERSION
|
||||
|
||||
############### Generate cross build file for Meson
|
||||
|
||||
cross_file="/cross_file-armhf.txt"
|
||||
/usr/share/meson/debcrossgen --arch armhf -o "$cross_file"
|
||||
# Explicitly set ccache path for cross compilers
|
||||
sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file"
|
||||
# Don't need wrapper for armhf executables
|
||||
sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
|
||||
|
||||
############### Generate kernel, ramdisk, test suites, etc for LAVA jobs
|
||||
|
||||
DEBIAN_ARCH=arm64 . .gitlab-ci/container/lava_arm.sh
|
||||
DEBIAN_ARCH=armhf . .gitlab-ci/container/lava_arm.sh
|
||||
|
||||
apt-get purge -y \
|
||||
wget
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -1,64 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
############### Install packages for building
|
||||
apt-get -y install ca-certificates
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
apt-get update
|
||||
apt-get -y install \
|
||||
bzip2 \
|
||||
cmake \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
libc6-dev \
|
||||
libdrm-nouveau2 \
|
||||
libexpat1 \
|
||||
libgbm-dev \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libllvm8 \
|
||||
libpng16-16 \
|
||||
libpng-dev \
|
||||
libvulkan-dev \
|
||||
libvulkan1 \
|
||||
meson \
|
||||
netcat \
|
||||
pkg-config \
|
||||
procps \
|
||||
python \
|
||||
waffle-utils \
|
||||
wget \
|
||||
zlib1g
|
||||
|
||||
############### Build dEQP runner
|
||||
|
||||
. .gitlab-ci/build-cts-runner.sh
|
||||
|
||||
############### Build dEQP GL
|
||||
|
||||
. .gitlab-ci/build-deqp-gl.sh
|
||||
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
bzip2 \
|
||||
cmake \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
libc6-dev \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng-dev \
|
||||
libvulkan-dev \
|
||||
meson \
|
||||
pkg-config \
|
||||
python \
|
||||
wget
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -1,63 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
|
||||
GCC_ARCH="aarch64-linux-gnu"
|
||||
KERNEL_ARCH="arm64"
|
||||
DEFCONFIG="arch/arm64/configs/defconfig"
|
||||
DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb"
|
||||
KERNEL_IMAGE_NAME="Image"
|
||||
else
|
||||
GCC_ARCH="arm-linux-gnueabihf"
|
||||
KERNEL_ARCH="arm"
|
||||
DEFCONFIG="arch/arm/configs/multi_v7_defconfig"
|
||||
DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
|
||||
KERNEL_IMAGE_NAME="zImage"
|
||||
fi
|
||||
|
||||
############### Build dEQP runner
|
||||
if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
|
||||
EXTRA_MESON_ARGS="--cross-file /cross_file-armhf.txt"
|
||||
fi
|
||||
. .gitlab-ci/build-cts-runner.sh
|
||||
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
|
||||
mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
|
||||
|
||||
|
||||
############### Build dEQP
|
||||
EXTRA_CMAKE_ARGS="-DCMAKE_C_COMPILER=${GCC_ARCH}-gcc -DCMAKE_CXX_COMPILER=${GCC_ARCH}-g++"
|
||||
STRIP_CMD="${GCC_ARCH}-strip"
|
||||
. .gitlab-ci/build-deqp-gl.sh
|
||||
mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
|
||||
|
||||
|
||||
############### Cross-build kernel
|
||||
KERNEL_URL="https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-rc5-panfrost-fixes/linux-v5.5-rc5-panfrost-fixes.tar.gz"
|
||||
|
||||
if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
|
||||
export ARCH=${KERNEL_ARCH}
|
||||
export CROSS_COMPILE="${GCC_ARCH}-"
|
||||
fi
|
||||
|
||||
mkdir -p kernel
|
||||
wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
|
||||
pushd kernel
|
||||
./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config
|
||||
make -j12 ${KERNEL_IMAGE_NAME} dtbs
|
||||
cp arch/${KERNEL_ARCH}/boot/${KERNEL_IMAGE_NAME} /lava-files/.
|
||||
cp ${DEVICE_TREES} /lava-files/.
|
||||
popd
|
||||
rm -rf kernel
|
||||
|
||||
|
||||
############### Create rootfs
|
||||
set +e
|
||||
debootstrap --variant=minbase --arch=${DEBIAN_ARCH} testing /lava-files/rootfs-${DEBIAN_ARCH}/ http://deb.debian.org/debian
|
||||
cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
|
||||
set -e
|
||||
|
||||
cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
|
||||
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
|
||||
rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
|
@@ -1,52 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||
|
||||
mQINBFE9lCwBEADi0WUAApM/mgHJRU8lVkkw0CHsZNpqaQDNaHefD6Rw3S4LxNmM
|
||||
EZaOTkhP200XZM8lVdbfUW9xSjA3oPldc1HG26NjbqqCmWpdo2fb+r7VmU2dq3NM
|
||||
R18ZlKixiLDE6OUfaXWKamZsXb6ITTYmgTO6orQWYrnW6ckYHSeaAkW0wkDAryl2
|
||||
B5v8aoFnQ1rFiVEMo4NGzw4UX+MelF7rxaaregmKVTPiqCOSPJ1McC1dHFN533FY
|
||||
Wh/RVLKWo6npu+owtwYFQW+zyQhKzSIMvNujFRzhIxzxR9Gn87MoLAyfgKEzrbbT
|
||||
DhqqNXTxS4UMUKCQaO93TzetX/EBrRpJj+vP640yio80h4Dr5pAd7+LnKwgpTDk1
|
||||
G88bBXJAcPZnTSKu9I2c6KY4iRNbvRz4i+ZdwwZtdW4nSdl2792L7Sl7Nc44uLL/
|
||||
ZqkKDXEBF6lsX5XpABwyK89S/SbHOytXv9o4puv+65Ac5/UShspQTMSKGZgvDauU
|
||||
cs8kE1U9dPOqVNCYq9Nfwinkf6RxV1k1+gwtclxQuY7UpKXP0hNAXjAiA5KS5Crq
|
||||
7aaJg9q2F4bub0mNU6n7UI6vXguF2n4SEtzPRk6RP+4TiT3bZUsmr+1ktogyOJCc
|
||||
Ha8G5VdL+NBIYQthOcieYCBnTeIH7D3Sp6FYQTYtVbKFzmMK+36ERreL/wARAQAB
|
||||
tD1TeWx2ZXN0cmUgTGVkcnUgLSBEZWJpYW4gTExWTSBwYWNrYWdlcyA8c3lsdmVz
|
||||
dHJlQGRlYmlhbi5vcmc+iQI4BBMBAgAiBQJRPZQsAhsDBgsJCAcDAgYVCAIJCgsE
|
||||
FgIDAQIeAQIXgAAKCRAVz00Yr090Ibx+EADArS/hvkDF8juWMXxh17CgR0WZlHCC
|
||||
9CTBWkg5a0bNN/3bb97cPQt/vIKWjQtkQpav6/5JTVCSx2riL4FHYhH0iuo4iAPR
|
||||
udC7Cvg8g7bSPrKO6tenQZNvQm+tUmBHgFiMBJi92AjZ/Qn1Shg7p9ITivFxpLyX
|
||||
wpmnF1OKyI2Kof2rm4BFwfSWuf8Fvh7kDMRLHv+MlnK/7j/BNpKdozXxLcwoFBmn
|
||||
l0WjpAH3OFF7Pvm1LJdf1DjWKH0Dc3sc6zxtmBR/KHHg6kK4BGQNnFKujcP7TVdv
|
||||
gMYv84kun14pnwjZcqOtN3UJtcx22880DOQzinoMs3Q4w4o05oIF+sSgHViFpc3W
|
||||
R0v+RllnH05vKZo+LDzc83DQVrdwliV12eHxrMQ8UYg88zCbF/cHHnlzZWAJgftg
|
||||
hB08v1BKPgYRUzwJ6VdVqXYcZWEaUJmQAPuAALyZESw94hSo28FAn0/gzEc5uOYx
|
||||
K+xG/lFwgAGYNb3uGM5m0P6LVTfdg6vDwwOeTNIExVk3KVFXeSQef2ZMkhwA7wya
|
||||
KJptkb62wBHFE+o9TUdtMCY6qONxMMdwioRE5BYNwAsS1PnRD2+jtlI0DzvKHt7B
|
||||
MWd8hnoUKhMeZ9TNmo+8CpsAtXZcBho0zPGz/R8NlJhAWpdAZ1CmcPo83EW86Yq7
|
||||
BxQUKnNHcwj2ebkCDQRRPZQsARAA4jxYmbTHwmMjqSizlMJYNuGOpIidEdx9zQ5g
|
||||
zOr431/VfWq4S+VhMDhs15j9lyml0y4ok215VRFwrAREDg6UPMr7ajLmBQGau0Fc
|
||||
bvZJ90l4NjXp5p0NEE/qOb9UEHT7EGkEhaZ1ekkWFTWCgsy7rRXfZLxB6sk7pzLC
|
||||
DshyW3zjIakWAnpQ5j5obiDy708pReAuGB94NSyb1HoW/xGsGgvvCw4r0w3xPStw
|
||||
F1PhmScE6NTBIfLliea3pl8vhKPlCh54Hk7I8QGjo1ETlRP4Qll1ZxHJ8u25f/ta
|
||||
RES2Aw8Hi7j0EVcZ6MT9JWTI83yUcnUlZPZS2HyeWcUj+8nUC8W4N8An+aNps9l/
|
||||
21inIl2TbGo3Yn1JQLnA1YCoGwC34g8QZTJhElEQBN0X29ayWW6OdFx8MDvllbBV
|
||||
ymmKq2lK1U55mQTfDli7S3vfGz9Gp/oQwZ8bQpOeUkc5hbZszYwP4RX+68xDPfn+
|
||||
M9udl+qW9wu+LyePbW6HX90LmkhNkkY2ZzUPRPDHZANU5btaPXc2H7edX4y4maQa
|
||||
xenqD0lGh9LGz/mps4HEZtCI5CY8o0uCMF3lT0XfXhuLksr7Pxv57yue8LLTItOJ
|
||||
d9Hmzp9G97SRYYeqU+8lyNXtU2PdrLLq7QHkzrsloG78lCpQcalHGACJzrlUWVP/
|
||||
fN3Ht3kAEQEAAYkCHwQYAQIACQUCUT2ULAIbDAAKCRAVz00Yr090IbhWEADbr50X
|
||||
OEXMIMGRLe+YMjeMX9NG4jxs0jZaWHc/WrGR+CCSUb9r6aPXeLo+45949uEfdSsB
|
||||
pbaEdNWxF5Vr1CSjuO5siIlgDjmT655voXo67xVpEN4HhMrxugDJfCa6z97P0+ML
|
||||
PdDxim57uNqkam9XIq9hKQaurxMAECDPmlEXI4QT3eu5qw5/knMzDMZj4Vi6hovL
|
||||
wvvAeLHO/jsyfIdNmhBGU2RWCEZ9uo/MeerPHtRPfg74g+9PPfP6nyHD2Wes6yGd
|
||||
oVQwtPNAQD6Cj7EaA2xdZYLJ7/jW6yiPu98FFWP74FN2dlyEA2uVziLsfBrgpS4l
|
||||
tVOlrO2YzkkqUGrybzbLpj6eeHx+Cd7wcjI8CalsqtL6cG8cUEjtWQUHyTbQWAgG
|
||||
5VPEgIAVhJ6RTZ26i/G+4J8neKyRs4vz+57UGwY6zI4AB1ZcWGEE3Bf+CDEDgmnP
|
||||
LSwbnHefK9IljT9XU98PelSryUO/5UPw7leE0akXKB4DtekToO226px1VnGp3Bov
|
||||
1GBGvpHvL2WizEwdk+nfk8LtrLzej+9FtIcq3uIrYnsac47Pf7p0otcFeTJTjSq3
|
||||
krCaoG4Hx0zGQG2ZFpHrSrZTVy6lxvIdfi0beMgY6h78p6M9eYZHQHc02DjFkQXN
|
||||
bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
|
||||
=j+4q
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@@ -1,96 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get install -y \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
|
||||
# Upstream LLVM package repository
|
||||
apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
|
||||
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
|
||||
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
|
||||
apt-get update
|
||||
|
||||
# Use newer packages from backports by default
|
||||
cat >/etc/apt/preferences <<EOF
|
||||
Package: *
|
||||
Pin: release a=buster-backports
|
||||
Pin-Priority: 500
|
||||
EOF
|
||||
|
||||
apt-get dist-upgrade -y
|
||||
|
||||
apt-get install -y --no-remove \
|
||||
cmake \
|
||||
g++ \
|
||||
git \
|
||||
gcc \
|
||||
libexpat1 \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng16-16 \
|
||||
libpng-dev \
|
||||
libvulkan1 \
|
||||
libvulkan-dev \
|
||||
libwaffle-dev \
|
||||
libwayland-server0 \
|
||||
libxcb-xfixes0 \
|
||||
libxkbcommon0 \
|
||||
libxkbcommon-dev \
|
||||
libxrender1 \
|
||||
libxrender-dev \
|
||||
libllvm9 \
|
||||
meson \
|
||||
patch \
|
||||
pkg-config \
|
||||
python3-mako \
|
||||
python3-numpy \
|
||||
python3-six \
|
||||
python \
|
||||
waffle-utils \
|
||||
xauth \
|
||||
xvfb \
|
||||
zlib1g
|
||||
|
||||
|
||||
############### Build piglit
|
||||
|
||||
. .gitlab-ci/build-piglit.sh
|
||||
|
||||
############### Build dEQP runner
|
||||
|
||||
. .gitlab-ci/build-cts-runner.sh
|
||||
|
||||
############### Build dEQP GL
|
||||
|
||||
. .gitlab-ci/build-deqp-gl.sh
|
||||
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
cmake \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
gnupg \
|
||||
libc6-dev \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng-dev \
|
||||
libwaffle-dev \
|
||||
libxkbcommon-dev \
|
||||
libxrender-dev \
|
||||
meson \
|
||||
patch \
|
||||
pkg-config \
|
||||
python
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -1,87 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get install -y \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
|
||||
# Upstream LLVM package repository
|
||||
apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
|
||||
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
|
||||
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
|
||||
apt-get update
|
||||
|
||||
# Use newer packages from backports by default
|
||||
cat >/etc/apt/preferences <<EOF
|
||||
Package: *
|
||||
Pin: release a=buster-backports
|
||||
Pin-Priority: 500
|
||||
EOF
|
||||
|
||||
apt-get dist-upgrade -y
|
||||
|
||||
apt-get install -y --no-remove \
|
||||
cmake \
|
||||
g++ \
|
||||
git \
|
||||
gcc \
|
||||
libexpat1 \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng16-16 \
|
||||
libpng-dev \
|
||||
libvulkan1 \
|
||||
libvulkan-dev \
|
||||
libwayland-server0 \
|
||||
libxcb-randr0 \
|
||||
libxcb-xfixes0 \
|
||||
libxkbcommon0 \
|
||||
libxkbcommon-dev \
|
||||
libxrender1 \
|
||||
libxrender-dev \
|
||||
libllvm9 \
|
||||
meson \
|
||||
patch \
|
||||
pkg-config \
|
||||
python3-distutils \
|
||||
python \
|
||||
xauth \
|
||||
xvfb
|
||||
|
||||
|
||||
############### Build dEQP runner
|
||||
|
||||
. .gitlab-ci/build-cts-runner.sh
|
||||
|
||||
############### Build dEQP VK
|
||||
|
||||
. .gitlab-ci/build-deqp-vk.sh
|
||||
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
cmake \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
gnupg \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng-dev \
|
||||
libvulkan-dev \
|
||||
libxkbcommon-dev \
|
||||
libxrender-dev \
|
||||
meson \
|
||||
patch \
|
||||
pkg-config \
|
||||
python
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -1,23 +1,8 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
LLVM=libllvm8
|
||||
|
||||
# LLVMPipe on armhf is broken with LLVM 8
|
||||
if [ `dpkg --print-architecture` = "armhf" ]; then
|
||||
LLVM=libllvm7
|
||||
fi
|
||||
|
||||
apt-get -y install --no-install-recommends \
|
||||
initramfs-tools \
|
||||
libpng16-16 \
|
||||
strace \
|
||||
libsensors5 \
|
||||
libexpat1 \
|
||||
libdrm2 \
|
||||
libdrm-nouveau2 \
|
||||
$LLVM
|
||||
apt-get -y install --no-install-recommends initramfs-tools libpng16-16 strace libsensors5 libexpat1 libdrm2
|
||||
passwd root -d
|
||||
chsh -s /bin/sh
|
||||
ln -s /bin/sh /init
|
||||
@@ -97,10 +82,15 @@ UNNEEDED_PACKAGES="apt libapt-pkg5.0 "\
|
||||
"libsemanage1 libsemanage-common "\
|
||||
"libsepol1 "\
|
||||
"gzip "\
|
||||
"gnupg "\
|
||||
"gpgv "\
|
||||
"hostname "\
|
||||
"adduser "\
|
||||
"debian-archive-keyring "\
|
||||
"libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libegl-mesa0 libgles2 "\
|
||||
"libllvm7 "\
|
||||
"libx11-data libthai-data "\
|
||||
"systemd dbus "\
|
||||
|
||||
# Removing unneeded packages
|
||||
for PACKAGE in ${UNNEEDED_PACKAGES}
|
||||
|
121
.gitlab-ci/debian-arm64-install.sh
Normal file
121
.gitlab-ci/debian-arm64-install.sh
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
############### Install packages for building
|
||||
apt-get -y install ca-certificates
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
dpkg --add-architecture armhf
|
||||
apt-get update
|
||||
apt-get -y install \
|
||||
bc \
|
||||
bison \
|
||||
bzip2 \
|
||||
ccache \
|
||||
cmake \
|
||||
crossbuild-essential-armhf \
|
||||
curl \
|
||||
flex \
|
||||
g++ \
|
||||
gettext \
|
||||
git \
|
||||
libdrm-dev \
|
||||
libdrm-dev:armhf \
|
||||
libelf-dev \
|
||||
libelf-dev:armhf \
|
||||
libexpat1-dev \
|
||||
libexpat1-dev:armhf \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libpng-dev \
|
||||
libssl-dev \
|
||||
llvm-7-dev:armhf \
|
||||
llvm-8-dev \
|
||||
meson \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
procps \
|
||||
python \
|
||||
python3-mako \
|
||||
wget \
|
||||
zlib1g-dev
|
||||
|
||||
############### Generate cross build file for Meson
|
||||
|
||||
cross_file="/cross_file-armhf.txt"
|
||||
/usr/share/meson/debcrossgen --arch armhf -o "$cross_file"
|
||||
# Explicitly set ccache path for cross compilers
|
||||
sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file"
|
||||
# Don't need wrapper for armhf executables
|
||||
sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
|
||||
|
||||
export LIBDRM_VERSION=libdrm-2.4.99
|
||||
|
||||
############### Build libdrm
|
||||
|
||||
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
|
||||
tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
|
||||
cd $LIBDRM_VERSION; meson build/ -Detnaviv=true; ninja -C build/ install; cd ..
|
||||
rm -rf $LIBDRM_VERSION
|
||||
|
||||
############### Build dEQP
|
||||
|
||||
git config --global user.email "mesa@example.com"
|
||||
git config --global user.name "Mesa CI"
|
||||
# XXX: Use --depth 1 once we can drop the cherry-picks.
|
||||
git clone \
|
||||
https://github.com/KhronosGroup/VK-GL-CTS.git \
|
||||
-b opengl-es-cts-3.2.5.1 \
|
||||
/VK-GL-CTS
|
||||
cd /VK-GL-CTS
|
||||
# Fix surfaceless build
|
||||
git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
|
||||
git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
|
||||
|
||||
# surfaceless links against libkms and such despite not using it.
|
||||
sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
|
||||
|
||||
# --insecure is due to SSL cert failures hitting sourceforge for zlib and
|
||||
# libpng (sigh). The archives get their checksums checked anyway, and git
|
||||
# always goes through ssh or https.
|
||||
python3 external/fetch_sources.py --insecure
|
||||
|
||||
mkdir -p /deqp
|
||||
cd /deqp
|
||||
cmake -G Ninja \
|
||||
-DDEQP_TARGET=surfaceless \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
/VK-GL-CTS
|
||||
ninja
|
||||
|
||||
# Copy out the mustpass lists we want from a bunch of other junk.
|
||||
mkdir /deqp/mustpass
|
||||
for gles in gles2 gles3 gles31; do
|
||||
cp \
|
||||
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
|
||||
/deqp/mustpass/$gles-master.txt
|
||||
done
|
||||
|
||||
rm -rf /deqp/external
|
||||
rm -rf /deqp/modules/internal
|
||||
rm -rf /deqp/executor
|
||||
rm -rf /deqp/execserver
|
||||
rm -rf /deqp/modules/egl
|
||||
rm -rf /deqp/framework
|
||||
du -sh *
|
||||
rm -rf /VK-GL-CTS
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
cmake \
|
||||
git \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
wget
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -12,13 +12,8 @@ done
|
||||
|
||||
apt-get install -y \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
unzip \
|
||||
wget
|
||||
|
||||
# Upstream LLVM package repository
|
||||
apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
|
||||
echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
|
||||
wget \
|
||||
unzip
|
||||
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
||||
@@ -35,71 +30,62 @@ EOF
|
||||
apt-get dist-upgrade -y
|
||||
|
||||
apt-get install -y --no-remove \
|
||||
autoconf \
|
||||
automake \
|
||||
autotools-dev \
|
||||
bison \
|
||||
clang-9 \
|
||||
cmake \
|
||||
flex \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext \
|
||||
git \
|
||||
libclang-6.0-dev \
|
||||
libclang-7-dev \
|
||||
libclang-8-dev \
|
||||
libclang-9-dev \
|
||||
libclc-dev \
|
||||
libelf-dev \
|
||||
libepoxy-dev \
|
||||
libexpat1-dev \
|
||||
libgbm-dev \
|
||||
libgtk-3-dev \
|
||||
libomxil-bellagio-dev \
|
||||
libpciaccess-dev \
|
||||
libtool \
|
||||
libunwind-dev \
|
||||
libva-dev \
|
||||
libvdpau-dev \
|
||||
libvulkan-dev \
|
||||
libx11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxdamage-dev \
|
||||
libxext-dev \
|
||||
libxrandr-dev \
|
||||
libxrender-dev \
|
||||
libxshmfence-dev \
|
||||
libxvmc-dev \
|
||||
libxxf86vm-dev \
|
||||
llvm-6.0-dev \
|
||||
libclang-6.0-dev \
|
||||
llvm-7-dev \
|
||||
libclang-7-dev \
|
||||
llvm-8-dev \
|
||||
llvm-9-dev \
|
||||
meson \
|
||||
libclang-8-dev \
|
||||
g++ \
|
||||
clang-8 \
|
||||
git \
|
||||
bzip2 \
|
||||
zlib1g-dev \
|
||||
pkg-config \
|
||||
libxrender-dev \
|
||||
libxdamage-dev \
|
||||
libxxf86vm-dev \
|
||||
gcc \
|
||||
git \
|
||||
libepoxy-dev \
|
||||
libegl1-mesa-dev \
|
||||
libgbm-dev \
|
||||
libclc-dev \
|
||||
libxvmc-dev \
|
||||
libomxil-bellagio-dev \
|
||||
xz-utils \
|
||||
libexpat1-dev \
|
||||
libx11-xcb-dev \
|
||||
libelf-dev \
|
||||
libunwind-dev \
|
||||
libglvnd-dev \
|
||||
libgtk-3-dev \
|
||||
libpng-dev \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libvulkan-dev \
|
||||
python-mako \
|
||||
python3-mako \
|
||||
scons \
|
||||
x11proto-dri2-dev \
|
||||
x11proto-gl-dev \
|
||||
x11proto-randr-dev \
|
||||
xz-utils \
|
||||
zlib1g-dev
|
||||
bison \
|
||||
flex \
|
||||
gettext \
|
||||
cmake \
|
||||
meson \
|
||||
scons
|
||||
|
||||
# Cross-build Mesa deps
|
||||
for arch in $CROSS_ARCHITECTURES; do
|
||||
apt-get install -y --no-remove \
|
||||
crossbuild-essential-${arch} \
|
||||
libdrm-dev:${arch} \
|
||||
libexpat1-dev:${arch} \
|
||||
libelf-dev:${arch} \
|
||||
libexpat1-dev:${arch}
|
||||
crossbuild-essential-${arch}
|
||||
done
|
||||
|
||||
# for 64bit windows cross-builds
|
||||
apt-get install -y --no-remove \
|
||||
libz-mingw-w64-dev \
|
||||
mingw-w64 \
|
||||
libz-mingw-w64-dev \
|
||||
wine \
|
||||
wine32 \
|
||||
wine64
|
||||
@@ -127,9 +113,17 @@ export XCB_RELEASES=https://xcb.freedesktop.org/dist
|
||||
export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
|
||||
|
||||
export XORGMACROS_VERSION=util-macros-1.19.0
|
||||
export GLPROTO_VERSION=glproto-1.4.17
|
||||
export DRI2PROTO_VERSION=dri2proto-2.8
|
||||
export LIBPCIACCESS_VERSION=libpciaccess-0.13.4
|
||||
export LIBDRM_VERSION=libdrm-2.4.100
|
||||
export XCBPROTO_VERSION=xcb-proto-1.13
|
||||
export RANDRPROTO_VERSION=randrproto-1.5.0
|
||||
export LIBXRANDR_VERSION=libXrandr-1.5.0
|
||||
export LIBXCB_VERSION=libxcb-1.13
|
||||
export LIBXSHMFENCE_VERSION=libxshmfence-1.3
|
||||
export LIBVDPAU_VERSION=libvdpau-1.1
|
||||
export LIBVA_VERSION=libva-1.7.0
|
||||
export LIBWAYLAND_VERSION=wayland-1.15.0
|
||||
export WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.12
|
||||
|
||||
@@ -138,6 +132,16 @@ tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
|
||||
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $XORGMACROS_VERSION
|
||||
|
||||
wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
|
||||
tar -xvf $GLPROTO_VERSION.tar.bz2 && rm $GLPROTO_VERSION.tar.bz2
|
||||
cd $GLPROTO_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $GLPROTO_VERSION
|
||||
|
||||
wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
|
||||
tar -xvf $DRI2PROTO_VERSION.tar.bz2 && rm $DRI2PROTO_VERSION.tar.bz2
|
||||
cd $DRI2PROTO_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $DRI2PROTO_VERSION
|
||||
|
||||
wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
|
||||
tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2
|
||||
cd $XCBPROTO_VERSION; ./configure; make install; cd ..
|
||||
@@ -148,11 +152,41 @@ tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2
|
||||
cd $LIBXCB_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $LIBXCB_VERSION
|
||||
|
||||
wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
|
||||
tar -xvf $LIBPCIACCESS_VERSION.tar.bz2 && rm $LIBPCIACCESS_VERSION.tar.bz2
|
||||
cd $LIBPCIACCESS_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $LIBPCIACCESS_VERSION
|
||||
|
||||
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
|
||||
tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
|
||||
cd $LIBDRM_VERSION; meson build -D vc4=true -D freedreno=true -D etnaviv=true; ninja -j4 -C build install; cd ..
|
||||
cd $LIBDRM_VERSION; ./configure --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api; make install; cd ..
|
||||
rm -rf $LIBDRM_VERSION
|
||||
|
||||
wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
|
||||
tar -xvf $RANDRPROTO_VERSION.tar.bz2 && rm $RANDRPROTO_VERSION.tar.bz2
|
||||
cd $RANDRPROTO_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $RANDRPROTO_VERSION
|
||||
|
||||
wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
|
||||
tar -xvf $LIBXRANDR_VERSION.tar.bz2 && rm $LIBXRANDR_VERSION.tar.bz2
|
||||
cd $LIBXRANDR_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $LIBXRANDR_VERSION
|
||||
|
||||
wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
|
||||
tar -xvf $LIBXSHMFENCE_VERSION.tar.bz2 && rm $LIBXSHMFENCE_VERSION.tar.bz2
|
||||
cd $LIBXSHMFENCE_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $LIBXSHMFENCE_VERSION
|
||||
|
||||
wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
|
||||
tar -xvf $LIBVDPAU_VERSION.tar.bz2 && rm $LIBVDPAU_VERSION.tar.bz2
|
||||
cd $LIBVDPAU_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $LIBVDPAU_VERSION
|
||||
|
||||
wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
|
||||
tar -xvf $LIBVA_VERSION.tar.bz2 && rm $LIBVA_VERSION.tar.bz2
|
||||
cd $LIBVA_VERSION; ./configure --disable-wayland --disable-dummy-driver; make install; cd ..
|
||||
rm -rf $LIBVA_VERSION
|
||||
|
||||
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
|
||||
tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
|
||||
cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
|
||||
@@ -163,17 +197,6 @@ tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.
|
||||
cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd ..
|
||||
rm -rf $WAYLAND_PROTOCOLS_VERSION
|
||||
|
||||
|
||||
# The version of libglvnd-dev in debian is too old
|
||||
# Check this page to see when this local compilation can be dropped in favour of the package:
|
||||
# https://packages.debian.org/libglvnd-dev
|
||||
GLVND_VERSION=1.2.0
|
||||
wget https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$GLVND_VERSION/libglvnd-v$GLVND_VERSION.tar.gz
|
||||
tar -xvf libglvnd-v$GLVND_VERSION.tar.gz && rm libglvnd-v$GLVND_VERSION.tar.gz
|
||||
pushd libglvnd-v$GLVND_VERSION; ./autogen.sh; ./configure; make install; popd
|
||||
rm -rf libglvnd-v$GLVND_VERSION
|
||||
|
||||
|
||||
pushd /usr/local
|
||||
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
|
||||
rm -rf shader-db/.git
|
||||
@@ -203,18 +226,60 @@ for arch in $CROSS_ARCHITECTURES; do
|
||||
done
|
||||
|
||||
|
||||
############### Build dEQP
|
||||
git config --global user.email "mesa@example.com"
|
||||
git config --global user.name "Mesa CI"
|
||||
# XXX: Use --depth 1 once we can drop the cherry-picks.
|
||||
git clone \
|
||||
https://github.com/KhronosGroup/VK-GL-CTS.git \
|
||||
-b opengl-es-cts-3.2.5.1 \
|
||||
/VK-GL-CTS
|
||||
cd /VK-GL-CTS
|
||||
# Fix surfaceless build
|
||||
git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
|
||||
git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
|
||||
|
||||
# surfaceless links against libkms and such despite not using it.
|
||||
sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
|
||||
|
||||
python3 external/fetch_sources.py
|
||||
|
||||
mkdir -p /deqp
|
||||
cd /deqp
|
||||
cmake -G Ninja \
|
||||
-DDEQP_TARGET=surfaceless \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
/VK-GL-CTS
|
||||
ninja
|
||||
|
||||
# Copy out the mustpass lists we want from a bunch of other junk.
|
||||
mkdir /deqp/mustpass
|
||||
for gles in gles2 gles3 gles31; do
|
||||
cp \
|
||||
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
|
||||
/deqp/mustpass/$gles-master.txt
|
||||
done
|
||||
|
||||
# Remove the rest of the build products that we don't need.
|
||||
rm -rf /deqp/external
|
||||
rm -rf /deqp/modules/internal
|
||||
rm -rf /deqp/executor
|
||||
rm -rf /deqp/execserver
|
||||
rm -rf /deqp/modules/egl
|
||||
rm -rf /deqp/framework
|
||||
du -sh *
|
||||
rm -rf /VK-GL-CTS
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
autoconf \
|
||||
automake \
|
||||
autotools-dev \
|
||||
wget \
|
||||
unzip \
|
||||
cmake \
|
||||
git \
|
||||
gnupg \
|
||||
libgbm-dev \
|
||||
libtool \
|
||||
unzip \
|
||||
wget
|
||||
libgles2-mesa-dev \
|
||||
libgbm-dev
|
||||
|
||||
apt-get autoremove -y --purge
|
@@ -3,8 +3,8 @@
|
||||
# delete lines from the test list. Be careful.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
dEQP-GLES[0-9]*.performance
|
||||
dEQP-GLES[0-9]*.stress
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
dEQP-GLES[0-9]*.functional.flush_finish
|
||||
|
@@ -3,19 +3,27 @@
|
||||
# delete lines from the test list. Be careful.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
dEQP-GLES[0-9]*.performance
|
||||
dEQP-GLES[0-9]*.stress
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
dEQP-GLES[0-9]*.functional.flush_finish
|
||||
|
||||
# Unstable test results
|
||||
#dEQP-GLES3.functional.fragment_out.random.*
|
||||
dEQP-GLES3.functional.transform_feedback.*points.*
|
||||
dEQP-GLES3.functional.transform_feedback.*lines.*
|
||||
dEQP-GLES3.functional.fragment_out.random.*
|
||||
dEQP-GLES3.functional.transform_feedback.*
|
||||
dEQP-GLES31.functional.primitive_bounding_box.*
|
||||
#dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array.*
|
||||
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array
|
||||
|
||||
# Intermittent timeout
|
||||
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.23
|
||||
# Seen a couple flakes on this one. Note that valgrind complains about
|
||||
# some things in deqp reference renderer on this one. Not sure if that
|
||||
# is a real problem or perhaps valgrind gets confused about unitialized
|
||||
# z24 channel in z24s8?? Let's just skip this one for now:
|
||||
dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8
|
||||
|
||||
# Two reports of spurious failures on unrelated MRs (2019-09-27, 2019-10-05)
|
||||
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.r16ui_2d
|
||||
|
||||
# Layered rendering is sysmem only and needs working clears
|
||||
dEQP-GLES31.functional.geometry_shading.layered.*
|
||||
dEQP-GLES31.functional.geometry_shading.instanced.*layer.*
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -9,44 +9,13 @@ dEQP-GLES[0-9]*.stress
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish
|
||||
|
||||
# Crashes
|
||||
dEQP-GLES2.functional.shaders.invariance.highp.common_subexpression_1
|
||||
dEQP-GLES2.functional.shaders.invariance.mediump.common_subexpression_1
|
||||
dEQP-GLES2.functional.shaders.invariance.lowp.common_subexpression_1
|
||||
|
||||
# Flaky
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
dEQP-GLES2.functional.default_vertex_attrib.float.vertex_attrib_1f
|
||||
dEQP-GLES2.functional.default_vertex_attrib.float.vertex_attrib_2f
|
||||
dEQP-GLES2.functional.default_vertex_attrib.float.vertex_attrib_3f
|
||||
dEQP-GLES2.functional.fbo.completeness.size.distinct
|
||||
dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose
|
||||
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed
|
||||
dEQP-GLES2.functional.shaders.builtin_variable.frontfacing
|
||||
dEQP-GLES2.functional.shaders.random.exponential.fragment.94
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.55
|
||||
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.1
|
||||
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.69
|
||||
|
||||
# Driver bugs causing GPU errors
|
||||
dEQP-GLES2.functional.shaders.loops.while_constant_iterations.nested_sequence_vertex
|
||||
dEQP-GLES2.functional.shaders.loops.while_constant_iterations.conditional_body_vertex
|
||||
dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.conditional_continue_vertex
|
||||
dEQP-GLES2.functional.shaders.loops.while_uniform_iterations.double_continue_vertex
|
||||
|
||||
# Hangs / OOM
|
||||
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_read
|
||||
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_read
|
||||
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_loop_read
|
||||
dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_loop_read
|
||||
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_read_vertex
|
||||
|
||||
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_vertex
|
||||
|
||||
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_vertex
|
||||
dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_vertex
|
||||
dEQP-GLES2.accuracy.texture.*
|
||||
dEQP-GLES2.functional.clipping.*
|
||||
dEQP-GLES2.functional.fbo.render.depth.*
|
||||
dEQP-GLES2.functional.fbo.render.*
|
||||
dEQP-GLES2.functional.fbo.completeness.*
|
||||
dEQP-GLES2.functional.fragment_ops.*
|
||||
dEQP-GLES2.functional.light_amount.*
|
||||
dEQP-GLES2.functional.polygon_offset.*
|
||||
dEQP-GLES2.functional.shaders.*
|
||||
dEQP-GLES2.functional.texture.*
|
||||
|
@@ -1,31 +0,0 @@
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
|
@@ -1,14 +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.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
|
||||
# XXX: Why does this flake?
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
|
@@ -1,31 +1,728 @@
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.depth_range.write.0_8_to_third Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_both Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_far Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_near Fail
|
||||
dEQP-GLES2.functional.depth_range.write.default Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_half Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_one Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_zero Fail
|
||||
dEQP-GLES2.functional.depth_range.write.one_to_half Fail
|
||||
dEQP-GLES2.functional.depth_range.write.one_to_one Fail
|
||||
dEQP-GLES2.functional.depth_range.write.reverse Fail
|
||||
dEQP-GLES2.functional.depth_range.write.third_to_0_8 Fail
|
||||
dEQP-GLES2.functional.depth_range.write.zero_to_half Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_scissored Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored_masked Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.add_dst_color_one_minus_src_color Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.reverse_subtract_zero_dst_alpha Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.reverse_subtract_zero_dst_color Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.reverse_subtract_zero_one Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.one_minus_src_color_one_minus_src_alpha Fail
|
||||
dEQP-GLES2.functional.fragment_ops.blend.rgb_func_alpha_func.dst.one_minus_src_color_one_minus_src_color Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.17 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.0 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.24 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.25 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.32 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.37 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.3 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.45 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.48 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.53 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.56 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.63 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.65 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.66 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.67 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.68 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.6 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.72 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.75 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.81 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.87 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.94 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.96 Fail
|
||||
dEQP-GLES2.functional.polygon_offset.default_render_with_units Fail
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope Fail
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_render_with_units Fail
|
||||
dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
|
||||
dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
|
||||
|
@@ -3,8 +3,61 @@
|
||||
# delete lines from the test list. Be careful.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
dEQP-GLES[0-9]*.performance
|
||||
dEQP-GLES[0-9]*.stress
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
dEQP-GLES[0-9]*.functional.flush_finish
|
||||
|
||||
dEQP-GLES2.functional.fbo.render.depth.*
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.*
|
||||
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.*
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
||||
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
||||
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
||||
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
||||
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
||||
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
||||
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
||||
|
||||
|
@@ -1,31 +0,0 @@
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
|
@@ -1,13 +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.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
|
||||
# XXX: Why does this flake?
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
@@ -1,31 +1,722 @@
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.depth_range.write.0_8_to_third Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_both Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_far Fail
|
||||
dEQP-GLES2.functional.depth_range.write.clamp_near Fail
|
||||
dEQP-GLES2.functional.depth_range.write.default Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_half Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_one Fail
|
||||
dEQP-GLES2.functional.depth_range.write.half_to_zero Fail
|
||||
dEQP-GLES2.functional.depth_range.write.one_to_half Fail
|
||||
dEQP-GLES2.functional.depth_range.write.one_to_one Fail
|
||||
dEQP-GLES2.functional.depth_range.write.reverse Fail
|
||||
dEQP-GLES2.functional.depth_range.write.third_to_0_8 Fail
|
||||
dEQP-GLES2.functional.depth_range.write.zero_to_half Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_scissored Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored Fail
|
||||
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored_masked Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_always Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_equal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_gequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_greater Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_lequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_less Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_never Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_notequal Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_no_depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr_wrap Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_invert Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_keep Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_replace Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_zero Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.depth Fail
|
||||
dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.17 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.0 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.11 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.19 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.24 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.25 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.32 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.37 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.3 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.45 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.48 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.53 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.56 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.63 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.65 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.66 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.67 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.68 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.6 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.72 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.75 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.81 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.87 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.94 Fail
|
||||
dEQP-GLES2.functional.fragment_ops.random.96 Fail
|
||||
dEQP-GLES2.functional.polygon_offset.default_render_with_units Fail
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope Fail
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_render_with_units Fail
|
||||
dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
|
||||
dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
|
||||
|
@@ -3,11 +3,61 @@
|
||||
# delete lines from the test list. Be careful.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
dEQP-GLES[0-9]*.performance
|
||||
dEQP-GLES[0-9]*.stress
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
dEQP-GLES[0-9]*.functional.flush_finish
|
||||
|
||||
# XXX: Why does this flake?
|
||||
dEQP-GLES2.functional.fbo.render.depth.*
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.*
|
||||
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.*
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
||||
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
||||
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
||||
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
||||
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
||||
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
||||
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
||||
|
||||
|
@@ -1,31 +0,0 @@
|
||||
# Disable a TON of tests to keep the run around 5-10 minutes because my runner is
|
||||
# slow.
|
||||
dEQP-VK.api.*
|
||||
dEQP-VK.binding_model.*
|
||||
dEQP-VK.clipping.*
|
||||
dEQP-VK.compute.*
|
||||
dEQP-VK.conditional_rendering.*
|
||||
dEQP-VK.descriptor_indexing.*
|
||||
dEQP-VK.device_group.*
|
||||
dEQP-VK.fragment_operations.*
|
||||
dEQP-VK.fragment_shader_interlock.*
|
||||
dEQP-VK.graphicsfuzz.*
|
||||
dEQP-VK.image.*
|
||||
dEQP-VK.imageless_framebuffer.*
|
||||
dEQP-VK.info.*
|
||||
dEQP-VK.memory.*
|
||||
dEQP-VK.memory_model.*
|
||||
dEQP-VK.multiview.*
|
||||
dEQP-VK.pipeline.*
|
||||
dEQP-VK.protected_memory.*
|
||||
dEQP-VK.query_pool.*
|
||||
dEQP-VK.robustness.*
|
||||
dEQP-VK.sparse_resources.*
|
||||
dEQP-VK.spirv_assembly.*
|
||||
dEQP-VK.subgroups.*
|
||||
dEQP-VK.synchronization.*
|
||||
dEQP-VK.texture.*
|
||||
dEQP-VK.transform_feedback.*
|
||||
dEQP-VK.ubo.*
|
||||
dEQP-VK.wsi.*
|
||||
dEQP-VK.ycbcr.*
|
@@ -1,42 +1,49 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=rgba8888d24s8ms0"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||
DEQP_OPTIONS=(--deqp-surface-width=256 --deqp-surface-height=256)
|
||||
DEQP_OPTIONS+=(--deqp-surface-type=pbuffer)
|
||||
DEQP_OPTIONS+=(--deqp-gl-config-name=rgba8888d24s8ms0)
|
||||
DEQP_OPTIONS+=(--deqp-visibility=hidden)
|
||||
DEQP_OPTIONS+=(--deqp-log-images=disable)
|
||||
DEQP_OPTIONS+=(--deqp-crashhandler=enable)
|
||||
|
||||
# It would be nice to be able to enable the watchdog, so that hangs in a test
|
||||
# don't need to wait the full hour for the run to time out. However, some
|
||||
# shaders end up taking long enough to compile
|
||||
# (dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20 for example)
|
||||
# that they'll sporadically trigger the watchdog.
|
||||
#DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable"
|
||||
#DEQP_OPTIONS+=(--deqp-watchdog=enable)
|
||||
|
||||
if [ -z "$DEQP_VER" ]; then
|
||||
echo 'DEQP_VER must be set to something like "gles2", "gles31" or "vk" for the test run'
|
||||
echo 'DEQP_VER must be set to something like "gles2" or "gles31" 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 "$DEQP_SKIPS" ]; then
|
||||
echo 'DEQP_SKIPS must be set to something like "deqp-default-skips.txt"'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARTIFACTS=`pwd`/artifacts
|
||||
# Prep the expected failure list
|
||||
if [ -n "$DEQP_EXPECTED_FAILS" ]; then
|
||||
export DEQP_EXPECTED_FAILS=`pwd`/artifacts/$DEQP_EXPECTED_FAILS
|
||||
else
|
||||
export DEQP_EXPECTED_FAILS=/tmp/expect-no-failures.txt
|
||||
touch $DEQP_EXPECTED_FAILS
|
||||
fi
|
||||
sort < $DEQP_EXPECTED_FAILS > /tmp/expected-fails.txt
|
||||
|
||||
# Fix relative paths on inputs.
|
||||
export DEQP_SKIPS=`pwd`/artifacts/$DEQP_SKIPS
|
||||
|
||||
# Be a good citizen on the shared runners.
|
||||
export LP_NUM_THREADS=4
|
||||
|
||||
# Set up the driver environment.
|
||||
export LD_LIBRARY_PATH=`pwd`/install/lib/
|
||||
export EGL_PLATFORM=surfaceless
|
||||
export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.x86_64.json
|
||||
|
||||
# the runner was failing to look for libkms in /usr/local/lib for some reason
|
||||
# I never figured out.
|
||||
@@ -45,14 +52,18 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
|
||||
RESULTS=`pwd`/results
|
||||
mkdir -p $RESULTS
|
||||
|
||||
# Generate test case list file.
|
||||
if [ "$DEQP_VER" = "vk" ]; then
|
||||
cp /deqp/mustpass/vk-master.txt /tmp/case-list.txt
|
||||
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
|
||||
else
|
||||
cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt
|
||||
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
|
||||
fi
|
||||
cd /deqp/modules/$DEQP_VER
|
||||
|
||||
# Generate test case list file
|
||||
cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt
|
||||
|
||||
# Note: not using sorted input and comm, becuase I want to run the tests in
|
||||
# the same order that dEQP would.
|
||||
while read -r line; do
|
||||
if echo "$line" | grep -q '^[^#]'; then
|
||||
sed -i "/$line/d" /tmp/case-list.txt
|
||||
fi
|
||||
done < $DEQP_SKIPS
|
||||
|
||||
# If the job is parallel, take the corresponding fraction of the caselist.
|
||||
# Note: N~M is a gnu sed extension to match every nth line (first line is #1).
|
||||
@@ -65,173 +76,61 @@ if [ ! -s /tmp/case-list.txt ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$DEQP_EXPECTED_FAILS" ]; then
|
||||
XFAIL="--xfail-list $ARTIFACTS/$DEQP_EXPECTED_FAILS"
|
||||
fi
|
||||
# Cannot use tee because dash doesn't have pipefail
|
||||
touch /tmp/result.txt
|
||||
tail -f /tmp/result.txt &
|
||||
|
||||
set +e
|
||||
|
||||
run_cts() {
|
||||
deqp=$1
|
||||
caselist=$2
|
||||
output=$3
|
||||
deqp-runner \
|
||||
--deqp $deqp \
|
||||
--output $output \
|
||||
--caselist $caselist \
|
||||
--exclude-list $ARTIFACTS/$DEQP_SKIPS \
|
||||
$XFAIL \
|
||||
--job ${DEQP_PARALLEL:-1} \
|
||||
--allow-flakes true \
|
||||
$DEQP_RUNNER_OPTIONS \
|
||||
-- \
|
||||
$DEQP_OPTIONS
|
||||
}
|
||||
|
||||
report_flakes() {
|
||||
if [ -z "$FLAKES_CHANNEL" ]; then
|
||||
return 0
|
||||
fi
|
||||
flakes=$1
|
||||
bot="$CI_RUNNER_DESCRIPTION-$CI_PIPELINE_ID"
|
||||
channel="$FLAKES_CHANNEL"
|
||||
(
|
||||
echo NICK $bot
|
||||
echo USER $bot unused unused :Gitlab CI Notifier
|
||||
sleep 10
|
||||
echo "JOIN $channel"
|
||||
sleep 1
|
||||
desc="Flakes detected in job: $CI_JOB_URL on $CI_RUNNER_DESCRIPTION"
|
||||
if [ -n "CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" ]; then
|
||||
desc="$desc on branch $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_MERGE_REQUEST_TITLE)"
|
||||
fi
|
||||
echo "PRIVMSG $channel :$desc"
|
||||
for flake in `cat $flakes`; do
|
||||
echo "PRIVMSG $channel :$flake"
|
||||
done
|
||||
echo "PRIVMSG $channel :See $CI_JOB_URL/artifacts/browse/results/"
|
||||
echo "QUIT"
|
||||
) | nc irc.freenode.net 6667 > /dev/null
|
||||
|
||||
}
|
||||
|
||||
extract_xml_result() {
|
||||
testcase=$1
|
||||
shift 1
|
||||
qpas=$*
|
||||
start="#beginTestCaseResult $testcase"
|
||||
for qpa in $qpas; do
|
||||
while IFS= read -r line; do
|
||||
if [ "$line" = "$start" ]; then
|
||||
dst="$testcase.qpa"
|
||||
echo "#beginSession" > $dst
|
||||
echo $line >> $dst
|
||||
while IFS= read -r line; do
|
||||
if [ "$line" = "#endTestCaseResult" ]; then
|
||||
echo $line >> $dst
|
||||
echo "#endSession" >> $dst
|
||||
/deqp/executor/testlog-to-xml $dst "$RESULTS/$testcase.xml"
|
||||
# copy the stylesheets here so they only end up in artifacts
|
||||
# if we have one or more result xml in artifacts
|
||||
cp /deqp/testlog.css "$RESULTS/"
|
||||
cp /deqp/testlog.xsl "$RESULTS/"
|
||||
return 0
|
||||
fi
|
||||
echo $line >> $dst
|
||||
done
|
||||
return 1
|
||||
fi
|
||||
done < $qpa
|
||||
done
|
||||
}
|
||||
|
||||
extract_xml_results() {
|
||||
qpas=$*
|
||||
while IFS= read -r testcase; do
|
||||
testcase=${testcase%,*}
|
||||
extract_xml_result $testcase $qpas
|
||||
done
|
||||
}
|
||||
|
||||
# Generate junit results
|
||||
generate_junit() {
|
||||
results=$1
|
||||
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
|
||||
echo "<testsuites>"
|
||||
echo "<testsuite name=\"$DEQP_VER-$CI_NODE_INDEX\">"
|
||||
while read line; do
|
||||
testcase=${line%,*}
|
||||
result=${line#*,}
|
||||
# avoid counting Skip's in the # of tests:
|
||||
if [ "$result" = "Skip" ]; then
|
||||
continue;
|
||||
fi
|
||||
echo "<testcase name=\"$testcase\">"
|
||||
if [ "$result" != "Pass" ]; then
|
||||
echo "<failure type=\"$result\">"
|
||||
echo "$result: See $CI_JOB_URL/artifacts/results/$testcase.xml"
|
||||
echo "</failure>"
|
||||
fi
|
||||
echo "</testcase>"
|
||||
done < $results
|
||||
echo "</testsuite>"
|
||||
echo "</testsuites>"
|
||||
}
|
||||
|
||||
# wrapper to supress +x to avoid spamming the log
|
||||
quiet() {
|
||||
set +x
|
||||
"$@"
|
||||
set -x
|
||||
}
|
||||
|
||||
run_cts $DEQP /tmp/case-list.txt $RESULTS/cts-runner-results.txt
|
||||
./deqp-$DEQP_VER "${DEQP_OPTIONS[@]}" --deqp-log-filename=$RESULTS/results.qpa --deqp-caselist-file=/tmp/case-list.txt >> /tmp/result.txt
|
||||
DEQP_EXITCODE=$?
|
||||
|
||||
quiet generate_junit $RESULTS/cts-runner-results.txt > $RESULTS/results.xml
|
||||
sed -ne \
|
||||
'/StatusCode="Fail"/{x;p}; s/#beginTestCaseResult //; T; h' \
|
||||
$RESULTS/results.qpa \
|
||||
> /tmp/unsorted-fails.txt
|
||||
|
||||
if [ $DEQP_EXITCODE -ne 0 ]; then
|
||||
# preserve caselist files in case of failures:
|
||||
cp /tmp/deqp_runner.*.txt $RESULTS/
|
||||
echo "Some unexpected results found (see cts-runner-results.txt in artifacts for full results):"
|
||||
cat $RESULTS/cts-runner-results.txt | \
|
||||
grep -v ",Pass" | \
|
||||
grep -v ",Skip" | \
|
||||
grep -v ",ExpectedFail" > \
|
||||
$RESULTS/cts-runner-unexpected-results.txt
|
||||
head -n 50 $RESULTS/cts-runner-unexpected-results.txt
|
||||
# Scrape out the renderer that the test run used, so we can validate that the
|
||||
# right driver was used.
|
||||
if grep -q "dEQP-.*.info.renderer" /tmp/case-list.txt; then
|
||||
# This is an ugly dependency on the .qpa format: Print 3 lines after the
|
||||
# match, which happens to contain the result.
|
||||
RENDERER=`sed -n '/#beginTestCaseResult dEQP-.*.info.renderer/{n;n;n;p}' $RESULTS/results.qpa | sed -n -E "s|<Text>(.*)</Text>|\1|p"`
|
||||
|
||||
if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then
|
||||
# Save the logs for up to the first 50 unexpected results:
|
||||
head -n 50 $RESULTS/cts-runner-unexpected-results.txt | quiet extract_xml_results /tmp/*.qpa
|
||||
fi
|
||||
echo "GL_RENDERER for this test run: $RENDERER"
|
||||
|
||||
count=`cat $RESULTS/cts-runner-unexpected-results.txt | wc -l`
|
||||
|
||||
# Re-run fails to detect flakes. But use a small threshold, if
|
||||
# something was fundamentally broken, we don't want to re-run
|
||||
# the entire caselist
|
||||
else
|
||||
cat $RESULTS/cts-runner-results.txt | \
|
||||
grep ",Flake" > \
|
||||
$RESULTS/cts-runner-flakes.txt
|
||||
|
||||
count=`cat $RESULTS/cts-runner-flakes.txt | wc -l`
|
||||
if [ $count -gt 0 ]; then
|
||||
echo "Some flakes found (see cts-runner-flakes.txt in artifacts for full results):"
|
||||
head -n 50 $RESULTS/cts-runner-flakes.txt
|
||||
|
||||
if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then
|
||||
# Save the logs for up to the first 50 flakes:
|
||||
head -n 50 $RESULTS/cts-runner-flakes.txt | quiet extract_xml_results /tmp/*.qpa
|
||||
fi
|
||||
|
||||
# Report the flakes to IRC channel for monitoring (if configured):
|
||||
quiet report_flakes $RESULTS/cts-runner-flakes.txt
|
||||
else
|
||||
# no flakes, so clean-up:
|
||||
rm $RESULTS/cts-runner-flakes.txt
|
||||
if [ -n "$DEQP_RENDERER_MATCH" ]; then
|
||||
echo $RENDERER | grep -q $DEQP_RENDERER_MATCH > /dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
exit $DEQP_EXITCODE
|
||||
if grep -q "dEQP-.*.info.version" /tmp/case-list.txt; then
|
||||
# This is an ugly dependency on the .qpa format: Print 3 lines after the
|
||||
# match, which happens to contain the result.
|
||||
VERSION=`sed -n '/#beginTestCaseResult dEQP-.*.info.version/{n;n;n;p}' $RESULTS/results.qpa | sed -n -E "s|<Text>(.*)</Text>|\1|p"`
|
||||
echo "Driver version tested: $VERSION"
|
||||
fi
|
||||
|
||||
if [ $DEQP_EXITCODE -ne 0 ]; then
|
||||
exit $DEQP_EXITCODE
|
||||
fi
|
||||
|
||||
sort < /tmp/unsorted-fails.txt > $RESULTS/fails.txt
|
||||
|
||||
comm -23 $RESULTS/fails.txt /tmp/expected-fails.txt > /tmp/new-fails.txt
|
||||
if [ -s /tmp/new-fails.txt ]; then
|
||||
echo "Unexpected failures:"
|
||||
cat /tmp/new-fails.txt
|
||||
exit 1
|
||||
else
|
||||
echo "No new failures"
|
||||
fi
|
||||
|
||||
sort /tmp/case-list.txt > /tmp/sorted-case-list.txt
|
||||
comm -12 /tmp/sorted-case-list.txt /tmp/expected-fails.txt > /tmp/expected-fails-in-caselist.txt
|
||||
comm -13 $RESULTS/fails.txt /tmp/expected-fails-in-caselist.txt > /tmp/new-passes.txt
|
||||
if [ -s /tmp/new-passes.txt ]; then
|
||||
echo "Unexpected passes, please update $DEQP_EXPECTED_FAILS (or add flaky tests to $DEQP_SKIPS):"
|
||||
cat /tmp/new-passes.txt
|
||||
exit 1
|
||||
else
|
||||
echo "No new passes"
|
||||
fi
|
||||
|
@@ -443,402 +443,3 @@ dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_divisible
|
||||
dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_not_divisible
|
||||
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads1
|
||||
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256
|
||||
dEQP-GLES31.functional.debug.error_filters.case_29
|
||||
dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch
|
||||
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer_multisample
|
||||
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.read_pixels_fbo_format_mismatch
|
||||
dEQP-GLES31.functional.debug.negative_coverage.log.buffer.read_pixels_fbo_format_mismatch
|
||||
dEQP-GLES31.functional.draw_base_vertex.draw_elements_instanced_base_vertex.line_loop.instanced_attributes
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_color_mask_buffer_color_mask
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.1
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.10
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.11
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.12
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.14
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.16
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.17
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.19
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.2
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.3
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.4
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.5
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.6
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.7
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.8
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.9
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.0
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.1
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.14
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.15
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.16
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.17
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.19
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.2
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.5
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7
|
||||
dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.9
|
||||
dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip.multiple_attributes
|
||||
dEQP-GLES31.functional.fbo.no_attachments.interaction.17x512ms4_default_16x16ms2
|
||||
dEQP-GLES31.functional.fbo.no_attachments.interaction.1x1ms0_default_2048x2048ms4
|
||||
dEQP-GLES31.functional.fbo.no_attachments.interaction.2048x2048ms4_default_1x1ms0
|
||||
dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms0_default_512x512ms2
|
||||
dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms2_default_128x512ms0
|
||||
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples2
|
||||
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples3
|
||||
dEQP-GLES31.functional.fbo.no_attachments.multisample.samples4
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.1
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.11
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.14
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.15
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.4
|
||||
dEQP-GLES31.functional.fbo.no_attachments.random.9
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_amplification
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_instanced
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_amplification
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_geometry
|
||||
dEQP-GLES31.functional.geometry_shading.query.primitives_generated_partial_primitives
|
||||
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil
|
||||
dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo
|
||||
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth
|
||||
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth_fbo
|
||||
dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_geometry
|
||||
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getfloat
|
||||
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger
|
||||
dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger64
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_float
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_integer
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_int
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_uint
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_float
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_integer
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_int
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_uint
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_float
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_integer
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_int
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_uint
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_float
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_integer
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_int
|
||||
dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_uint
|
||||
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_npot
|
||||
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_pot
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_clamp_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_mirror_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_clamp
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_mirror
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_clamp_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_mirror_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_clamp
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_clamp_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_mirror_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_clamp
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_mirror
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_clamp_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_mirror_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_clamp
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_mirror
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_clamp
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_mirror
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_repeat
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_nearest_repeat_mirror
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_linear_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.63x63x18_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_linear
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_nearest
|
||||
dEQP-GLES31.functional.texture.filtering.cube_array.sizes.8x8x6_nearest
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_1
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_2
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.green_blue_alpha_zero
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.red_green_blue_alpha
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge
|
||||
dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle.one_red_green_blue
|
||||
dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle.zero_one_red_green
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_alpha_to_coverage
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage_and_alpha_to_coverage
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_non_effective_bits
|
||||
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_only
|
||||
|
@@ -1,16 +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.
|
||||
|
||||
# Skip the perf/stress tests to keep runtime manageable
|
||||
dEQP-GLES[0-9]*.performance.*
|
||||
dEQP-GLES[0-9]*.stress.*
|
||||
|
||||
# These are really slow on tiling architectures (including llvmpipe).
|
||||
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||
|
||||
# Random failures
|
||||
dEQP-GLES31.functional.shaders.builtin_functions.*geometry
|
||||
|
||||
dEQP-GLES31.functional.fbo.no_attachments.maximums.all
|
||||
dEQP-GLES31.functional.fbo.no_attachments.maximums.size
|
@@ -2,44 +2,57 @@
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
import argparse
|
||||
import os
|
||||
|
||||
device_types = {
|
||||
"rk3288-veyron-jaq": {
|
||||
"gpu_version": "panfrost-t760",
|
||||
"boot_method": "depthcharge",
|
||||
"lava_device_type": "rk3288-veyron-jaq",
|
||||
"kernel_image_type": "",
|
||||
},
|
||||
"rk3399-gru-kevin": {
|
||||
"gpu_version": "panfrost-t860",
|
||||
"boot_method": "depthcharge",
|
||||
"lava_device_type": "rk3399-gru-kevin",
|
||||
"kernel_image_type": "",
|
||||
},
|
||||
"sun8i-h3-libretech-all-h3-cc": {
|
||||
"gpu_version": "lima",
|
||||
"boot_method": "u-boot",
|
||||
"lava_device_type": "sun8i-h3-libretech-all-h3-cc",
|
||||
"kernel_image_type": "type: zimage",
|
||||
},
|
||||
"meson-gxl-s905x-libretech-cc": {
|
||||
"gpu_version": "lima",
|
||||
"boot_method": "u-boot",
|
||||
"lava_device_type": "meson-gxl-s905x-libretech-cc",
|
||||
"kernel_image_type": "type: image",
|
||||
},
|
||||
}
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--template")
|
||||
parser.add_argument("--pipeline-info")
|
||||
parser.add_argument("--base-artifacts-url")
|
||||
parser.add_argument("--device-type")
|
||||
parser.add_argument("--kernel-image-name")
|
||||
parser.add_argument("--kernel-image-type", nargs='?', default="")
|
||||
parser.add_argument("--gpu-version")
|
||||
parser.add_argument("--boot-method")
|
||||
parser.add_argument("--lava-tags", nargs='?', default="")
|
||||
parser.add_argument("--env-vars", nargs='?', default="")
|
||||
parser.add_argument("--deqp-version")
|
||||
parser.add_argument("--arch")
|
||||
parser.add_argument("--ci-node-index")
|
||||
parser.add_argument("--ci-node-total")
|
||||
parser.add_argument("--device-types", nargs="+")
|
||||
parser.add_argument("--kernel-image-name")
|
||||
args = parser.parse_args()
|
||||
|
||||
env = Environment(loader = FileSystemLoader(os.path.dirname(args.template)), trim_blocks=True, lstrip_blocks=True)
|
||||
template = env.get_template(os.path.basename(args.template))
|
||||
env = Environment(loader = FileSystemLoader('.'), trim_blocks=True, lstrip_blocks=True)
|
||||
template = env.get_template(args.template)
|
||||
|
||||
values = {}
|
||||
values['pipeline_info'] = args.pipeline_info
|
||||
values['base_artifacts_url'] = args.base_artifacts_url
|
||||
values['device_type'] = args.device_type
|
||||
values['kernel_image_name'] = args.kernel_image_name
|
||||
values['kernel_image_type'] = args.kernel_image_type
|
||||
values['gpu_version'] = args.gpu_version
|
||||
values['boot_method'] = args.boot_method
|
||||
values['tags'] = args.lava_tags
|
||||
values['env_vars'] = args.env_vars
|
||||
values['deqp_version'] = args.deqp_version
|
||||
values['arch'] = args.arch
|
||||
values['ci_node_index'] = args.ci_node_index
|
||||
values['ci_node_total'] = args.ci_node_total
|
||||
for device_type in args.device_types:
|
||||
values = {}
|
||||
values['base_artifacts_url'] = args.base_artifacts_url
|
||||
values['arch'] = args.arch
|
||||
values['device_type'] = device_type
|
||||
values['kernel_image_name'] = args.kernel_image_name
|
||||
values['lava_device_type'] = device_types[device_type]['lava_device_type']
|
||||
values['gpu_version'] = device_types[device_type]['gpu_version']
|
||||
values['boot_method'] = device_types[device_type]['boot_method']
|
||||
values['kernel_image_type'] = device_types[device_type]['kernel_image_type']
|
||||
|
||||
f = open('lava-deqp.yml', "w")
|
||||
f.write(template.render(values))
|
||||
f.close()
|
||||
f = open('results/lava-deqp-%s.yml' % device_type, "w")
|
||||
f.write(template.render(values))
|
||||
f.close()
|
||||
|
||||
|
187
.gitlab-ci/lava-debian-install.sh
Normal file
187
.gitlab-ci/lava-debian-install.sh
Normal file
@@ -0,0 +1,187 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
############### Install packages for building
|
||||
dpkg --add-architecture ${DEBIAN_ARCH}
|
||||
echo 'deb-src https://deb.debian.org/debian testing main' > /etc/apt/sources.list.d/deb-src.list
|
||||
apt-get update
|
||||
apt-get -y install ca-certificates
|
||||
apt-get -y install --no-install-recommends \
|
||||
crossbuild-essential-${DEBIAN_ARCH} \
|
||||
meson \
|
||||
g++ \
|
||||
git \
|
||||
ccache \
|
||||
pkg-config \
|
||||
python3-mako \
|
||||
python-numpy \
|
||||
python-six \
|
||||
python-mako \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-wheel \
|
||||
python3-jinja2 \
|
||||
bison \
|
||||
flex \
|
||||
gettext \
|
||||
cmake \
|
||||
bc \
|
||||
libssl-dev \
|
||||
lqa \
|
||||
csvkit \
|
||||
curl \
|
||||
unzip \
|
||||
wget \
|
||||
debootstrap \
|
||||
procps \
|
||||
qemu-user-static \
|
||||
cpio \
|
||||
clang-8 \
|
||||
llvm-8 \
|
||||
libclang-8-dev \
|
||||
llvm-8-dev \
|
||||
gdc-9 \
|
||||
lld-8 \
|
||||
nasm \
|
||||
libegl1-mesa-dev \
|
||||
\
|
||||
libdrm-dev:${DEBIAN_ARCH} \
|
||||
libx11-dev:${DEBIAN_ARCH} \
|
||||
libxxf86vm-dev:${DEBIAN_ARCH} \
|
||||
libexpat1-dev:${DEBIAN_ARCH} \
|
||||
libsensors-dev:${DEBIAN_ARCH} \
|
||||
libxfixes-dev:${DEBIAN_ARCH} \
|
||||
libxdamage-dev:${DEBIAN_ARCH} \
|
||||
libxext-dev:${DEBIAN_ARCH} \
|
||||
x11proto-dev:${DEBIAN_ARCH} \
|
||||
libx11-xcb-dev:${DEBIAN_ARCH} \
|
||||
libxcb-dri2-0-dev:${DEBIAN_ARCH} \
|
||||
libxcb-glx0-dev:${DEBIAN_ARCH} \
|
||||
libxcb-xfixes0-dev:${DEBIAN_ARCH} \
|
||||
libxcb-dri3-dev:${DEBIAN_ARCH} \
|
||||
libxcb-present-dev:${DEBIAN_ARCH} \
|
||||
libxcb-randr0-dev:${DEBIAN_ARCH} \
|
||||
libxcb-sync-dev:${DEBIAN_ARCH} \
|
||||
libxrandr-dev:${DEBIAN_ARCH} \
|
||||
libxshmfence-dev:${DEBIAN_ARCH} \
|
||||
libelf-dev:${DEBIAN_ARCH} \
|
||||
zlib1g-dev:${DEBIAN_ARCH} \
|
||||
libglvnd-core-dev:${DEBIAN_ARCH} \
|
||||
libgles2-mesa-dev:${DEBIAN_ARCH} \
|
||||
libegl1-mesa-dev:${DEBIAN_ARCH} \
|
||||
libpng-dev:${DEBIAN_ARCH}
|
||||
|
||||
|
||||
############### Install lavacli (remove after it's back into Debian testing)
|
||||
mkdir -p lavacli
|
||||
wget -qO- https://git.lavasoftware.org/lava/lavacli/-/archive/v0.9.8/lavacli-v0.9.8.tar.gz | tar -xz --strip-components=1 -C lavacli
|
||||
pushd lavacli
|
||||
python3 ./setup.py install
|
||||
popd
|
||||
|
||||
|
||||
############### Cross-build dEQP
|
||||
mkdir -p /artifacts/rootfs/deqp
|
||||
|
||||
git config --global user.email "mesa@example.com"
|
||||
git config --global user.name "Mesa CI"
|
||||
# XXX: Use --depth 1 once we can drop the cherry-picks.
|
||||
git clone \
|
||||
https://github.com/KhronosGroup/VK-GL-CTS.git \
|
||||
-b opengl-es-cts-3.2.5.1 \
|
||||
/VK-GL-CTS
|
||||
cd /VK-GL-CTS
|
||||
# Fix surfaceless build
|
||||
git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
|
||||
git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
|
||||
|
||||
# surfaceless links against libkms and such despite not using it.
|
||||
sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
|
||||
sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
|
||||
|
||||
python3 external/fetch_sources.py
|
||||
|
||||
cd /artifacts/rootfs/deqp
|
||||
cmake -G Ninja \
|
||||
-DDEQP_TARGET=surfaceless \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER=${GCC_ARCH}-gcc \
|
||||
-DCMAKE_CXX_COMPILER=${GCC_ARCH}-g++ \
|
||||
/VK-GL-CTS
|
||||
ninja
|
||||
rm -rf /artifacts/rootfs/deqp/external
|
||||
rm -rf /artifacts/rootfs/deqp/modules/gles31
|
||||
rm -rf /artifacts/rootfs/deqp/modules/internal
|
||||
rm -rf /artifacts/rootfs/deqp/executor
|
||||
rm -rf /artifacts/rootfs/deqp/execserver
|
||||
rm -rf /artifacts/rootfs/deqp/modules/egl
|
||||
rm -rf /artifacts/rootfs/deqp/framework
|
||||
find . -name CMakeFiles | xargs rm -rf
|
||||
find . -name lib\*.a | xargs rm -rf
|
||||
du -sh *
|
||||
rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
|
||||
|
||||
|
||||
############### Cross-build Volt dEQP runner
|
||||
mkdir -p /battery
|
||||
cd /battery
|
||||
wget https://github.com/VoltLang/Battery/releases/download/v0.1.23/battery-0.1.23-x86_64-linux.tar.gz
|
||||
tar xzvf battery-0.1.23-x86_64-linux.tar.gz
|
||||
rm battery-0.1.23-x86_64-linux.tar.gz
|
||||
mv battery /usr/local/bin
|
||||
rm -rf /battery
|
||||
|
||||
mkdir -p /volt
|
||||
cd /volt
|
||||
mkdir -p Watt Volta dEQP
|
||||
wget -qO- https://github.com/VoltLang/Watt/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Watt
|
||||
wget -qO- https://github.com/VoltLang/Volta/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Volta
|
||||
wget -qO- https://github.com/Wallbraker/dEQP/archive/v0.1.4.tar.gz | tar -xz --strip-components=1 -C ./dEQP
|
||||
battery config --release --lto Volta Watt
|
||||
battery build
|
||||
battery config --arch ${VOLT_ARCH} --cmd-volta Volta/volta Volta/rt Watt dEQP
|
||||
battery build
|
||||
rm /usr/local/bin/battery
|
||||
cp dEQP/deqp /artifacts/rootfs/deqp/deqp-volt
|
||||
rm -rf /volt
|
||||
|
||||
|
||||
############### Remove LLVM now, so the container image is smaller
|
||||
apt-get -y remove \*llvm\*
|
||||
|
||||
|
||||
############### Cross-build kernel
|
||||
KERNEL_URL="https://gitlab.freedesktop.org/tomeu/linux/-/archive/panfrost-veyron-fix/linux-panfrost-veyron-fix.tar.gz"
|
||||
export ARCH=${KERNEL_ARCH}
|
||||
export CROSS_COMPILE="${GCC_ARCH}-"
|
||||
|
||||
mkdir -p /kernel
|
||||
wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C /kernel
|
||||
cd /kernel
|
||||
./scripts/kconfig/merge_config.sh ${DEFCONFIG} /tmp/clone/.gitlab-ci/${KERNEL_ARCH}.config
|
||||
make -j12 ${KERNEL_IMAGE_NAME} dtbs
|
||||
cp arch/${KERNEL_ARCH}/boot/${KERNEL_IMAGE_NAME} /artifacts/.
|
||||
cp ${DEVICE_TREES} /artifacts/.
|
||||
rm -rf /kernel
|
||||
|
||||
|
||||
############### Create rootfs
|
||||
cp /tmp/clone/.gitlab-ci/create-rootfs.sh /artifacts/rootfs/.
|
||||
mkdir -p /artifacts/rootfs/bin
|
||||
cp /usr/bin/qemu-aarch64-static /artifacts/rootfs/bin
|
||||
cp /usr/bin/qemu-arm-static /artifacts/rootfs/bin
|
||||
|
||||
set +e
|
||||
debootstrap --variant=minbase --arch=${DEBIAN_ARCH} testing /artifacts/rootfs/ http://deb.debian.org/debian
|
||||
cat /artifacts/rootfs/debootstrap/debootstrap.log
|
||||
set -e
|
||||
chroot /artifacts/rootfs sh /create-rootfs.sh
|
||||
|
||||
rm /artifacts/rootfs/bin/qemu-arm-static
|
||||
rm /artifacts/rootfs/bin/qemu-aarch64-static
|
||||
rm /artifacts/rootfs/create-rootfs.sh
|
||||
|
51
.gitlab-ci/lava-deqp-runner.sh
Normal file
51
.gitlab-ci/lava-deqp-runner.sh
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
GPU_VERSION="$1"
|
||||
|
||||
DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-crashhandler=enable"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"
|
||||
|
||||
export LIBGL_DRIVERS_PATH=/mesa/lib/dri/
|
||||
export LD_LIBRARY_PATH=/mesa/lib/
|
||||
export MESA_GLES_VERSION_OVERRIDE=3.0
|
||||
|
||||
DEVFREQ_GOVERNOR=`echo /sys/devices/platform/*.gpu/devfreq/devfreq0/governor`
|
||||
echo performance > $DEVFREQ_GOVERNOR
|
||||
|
||||
cd /deqp/modules/gles2
|
||||
|
||||
# Generate test case list file
|
||||
./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt
|
||||
|
||||
# Note: not using sorted input and comm, becuase I want to run the tests in
|
||||
# the same order that dEQP would.
|
||||
while read -r line; do
|
||||
if echo "$line" | grep -q '^[^#]'; then
|
||||
sed -i "/$line/d" /tmp/case-list.txt
|
||||
fi
|
||||
done < /deqp/deqp-$GPU_VERSION-skips.txt
|
||||
|
||||
/deqp/deqp-volt --cts-build-dir=/deqp \
|
||||
--threads=8 \
|
||||
--test-names-file=/tmp/case-list.txt \
|
||||
--results-file=/tmp/results.txt \
|
||||
--no-passed-results \
|
||||
--regression-file=/deqp/deqp-$GPU_VERSION-fails.txt \
|
||||
--no-rerun-tests \
|
||||
--print-regression \
|
||||
--no-print-fail \
|
||||
--no-print-quality \
|
||||
--no-colour-term \
|
||||
$DEQP_OPTIONS
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Regressions detected"
|
||||
echo "deqp: fail"
|
||||
else
|
||||
echo "No regressions detected"
|
||||
echo "deqp: pass"
|
||||
fi
|
@@ -1,5 +1,5 @@
|
||||
job_name: mesa-deqp-{{ gpu_version }} {{ pipeline_info }}
|
||||
device_type: {{ device_type }}
|
||||
job_name: mesa-deqp-{{ gpu_version }}
|
||||
device_type: {{ lava_device_type }}
|
||||
timeouts:
|
||||
job:
|
||||
minutes: 40
|
||||
@@ -10,12 +10,6 @@ timeouts:
|
||||
seconds: 30
|
||||
priority: 75
|
||||
visibility: public
|
||||
{% if tags %}
|
||||
tags:
|
||||
{% for tag in tags %}
|
||||
- {{ tag }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
actions:
|
||||
- deploy:
|
||||
timeout:
|
||||
@@ -23,9 +17,7 @@ actions:
|
||||
to: tftp
|
||||
kernel:
|
||||
url: {{ base_artifacts_url }}/{{ kernel_image_name }}
|
||||
{% if kernel_image_type %}
|
||||
{{ kernel_image_type }}
|
||||
{% endif %}
|
||||
ramdisk:
|
||||
url: {{ base_artifacts_url }}/lava-rootfs-{{ arch }}.cpio.gz
|
||||
compression: gz
|
||||
@@ -59,33 +51,9 @@ actions:
|
||||
- mount -t devtmpfs none /dev
|
||||
- mkdir -p /dev/pts
|
||||
- mount -t devpts devpts /dev/pts
|
||||
|
||||
{% if env_vars %}
|
||||
- export {{ env_vars }}
|
||||
{% endif %}
|
||||
|
||||
- export DEQP_NO_SAVE_RESULTS=1
|
||||
- 'export DEQP_RUNNER_OPTIONS="--compact-display false --shuffle false"'
|
||||
- export DEQP_EXPECTED_FAILS=deqp-{{ gpu_version }}-fails.txt
|
||||
- export DEQP_SKIPS=deqp-{{ gpu_version }}-skips.txt
|
||||
- export DEQP_VER={{ deqp_version }}
|
||||
- export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri
|
||||
- export CI_NODE_INDEX={{ ci_node_index }}
|
||||
- export CI_NODE_TOTAL={{ ci_node_total }}
|
||||
|
||||
# Put stuff where the runner script expects it
|
||||
- mkdir artifacts
|
||||
- mkdir results
|
||||
- mkdir -p install/lib
|
||||
- cp /deqp/$DEQP_EXPECTED_FAILS artifacts/.
|
||||
- cp /deqp/$DEQP_SKIPS artifacts/.
|
||||
- mv /mesa/lib/* install/lib/.
|
||||
|
||||
- "if sh /deqp/deqp-runner.sh; then
|
||||
echo 'deqp: pass';
|
||||
else
|
||||
echo 'deqp: fail';
|
||||
fi"
|
||||
- echo 3 > /proc/sys/kernel/printk
|
||||
- sh /deqp/lava-deqp-runner.sh {{ gpu_version }}
|
||||
- cat /proc/loadavg
|
||||
parse:
|
||||
pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
|
||||
from: inline
|
||||
|
@@ -1,33 +1,158 @@
|
||||
variables:
|
||||
LAVA_DEBIAN_VERSION: testing-slim
|
||||
LAVA_IMAGE_TAG: "lava-2019-10-23-1"
|
||||
|
||||
include:
|
||||
- project: 'wayland/ci-templates'
|
||||
ref: b7030c2cd0d6ccc5f6d4f8299bafa4daa9240d71
|
||||
file: '/templates/debian.yml'
|
||||
|
||||
# When to automatically run the CI
|
||||
.ci-run-policy:
|
||||
only:
|
||||
- branches@mesa/mesa
|
||||
- merge_requests
|
||||
- /^ci([-/].*)?$/
|
||||
retry:
|
||||
max: 2
|
||||
when:
|
||||
- runner_system_failure
|
||||
|
||||
# Build Docker image with deqp, the rootfs and the build deps for Mesa
|
||||
.lava-container:
|
||||
extends:
|
||||
- .debian@container-ifnot-exists
|
||||
- .container
|
||||
variables:
|
||||
DEBIAN_TAG: '${DEBIAN_ARCH}-${LAVA_IMAGE_TAG}'
|
||||
DEBIAN_EXEC: 'DEBIAN_ARCH=${DEBIAN_ARCH}
|
||||
GCC_ARCH=${GCC_ARCH}
|
||||
KERNEL_ARCH=${KERNEL_ARCH}
|
||||
VOLT_ARCH=${VOLT_ARCH}
|
||||
DEFCONFIG=${DEFCONFIG}
|
||||
DEVICE_TREES="${DEVICE_TREES}"
|
||||
KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME}
|
||||
bash .gitlab-ci/lava-debian-install.sh'
|
||||
DEBIAN_VERSION: ${LAVA_DEBIAN_VERSION}
|
||||
|
||||
lava-container:armhf:
|
||||
extends: .lava-container
|
||||
variables:
|
||||
DEBIAN_ARCH: "armhf"
|
||||
GCC_ARCH: "arm-linux-gnueabihf"
|
||||
KERNEL_ARCH: "arm"
|
||||
VOLT_ARCH: "armhf"
|
||||
DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
|
||||
DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
|
||||
KERNEL_IMAGE_NAME: "zImage"
|
||||
|
||||
lava-container:arm64:
|
||||
extends: .lava-container
|
||||
variables:
|
||||
DEBIAN_ARCH: "arm64"
|
||||
GCC_ARCH: "aarch64-linux-gnu"
|
||||
KERNEL_ARCH: "arm64"
|
||||
VOLT_ARCH: "aarch64"
|
||||
DEFCONFIG: "arch/arm64/configs/defconfig"
|
||||
DEVICE_TREES: "arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb"
|
||||
KERNEL_IMAGE_NAME: "Image"
|
||||
|
||||
.lava-build:
|
||||
image: $CI_REGISTRY_IMAGE/debian/$LAVA_DEBIAN_VERSION:$DEBIAN_ARCH-$LAVA_IMAGE_TAG
|
||||
extends:
|
||||
- .build-linux
|
||||
# Use ccache transparently, and print stats before/after
|
||||
before_script:
|
||||
- mkdir -p results mesa-build
|
||||
- mkdir -p ccache
|
||||
- export PATH="/usr/lib/ccache:$PATH"
|
||||
- export CCACHE_BASEDIR="$PWD"
|
||||
- export CCACHE_DIR="$PWD/ccache"
|
||||
- ccache --max-size=1500M
|
||||
- ccache --zero-stats || true
|
||||
- ccache --show-stats || true
|
||||
script:
|
||||
# Build Mesa
|
||||
- /usr/share/meson/debcrossgen --arch ${DEBIAN_ARCH} -o /tmp/cross_file.txt
|
||||
- meson . mesa-build
|
||||
--cross-file /tmp/cross_file.txt
|
||||
--libdir /artifacts/rootfs/mesa/lib/
|
||||
--buildtype debugoptimized
|
||||
-D gallium-drivers=kmsro,panfrost,lima
|
||||
-D dri-drivers=
|
||||
-D prefix=/artifacts/rootfs/mesa
|
||||
-D glx=disabled
|
||||
-D gbm=false
|
||||
-D egl=true
|
||||
-D platforms=surfaceless
|
||||
-D osmesa=none
|
||||
-D dri3=false
|
||||
-D gallium-vdpau=false
|
||||
-D gallium-xvmc=false
|
||||
-D gallium-omx=disabled
|
||||
-D gallium-va=false
|
||||
-D gallium-xa=false
|
||||
-D gallium-nine=false
|
||||
-D llvm=false
|
||||
- ninja -C mesa-build -j4
|
||||
- ninja -C mesa-build install
|
||||
- find /artifacts/rootfs/mesa/lib -name \*.so -exec ${GCC_ARCH}-strip {} \;
|
||||
|
||||
- du -sh /artifacts/rootfs/mesa/*
|
||||
- rm -rf /artifacts/rootfs/mesa/include
|
||||
|
||||
# Pack rootfs
|
||||
- cp .gitlab-ci/lava-deqp-runner.sh /artifacts/rootfs/deqp/.
|
||||
- cp .gitlab-ci/deqp-*-fails.txt /artifacts/rootfs/deqp/.
|
||||
- cp .gitlab-ci/deqp-*-skips.txt /artifacts/rootfs/deqp/.
|
||||
- du -sh /artifacts/rootfs/deqp/*
|
||||
- find /artifacts/rootfs/ -type f -printf "%s\t%p\n" | sort -n
|
||||
- pushd /artifacts/rootfs/ ; find -H | cpio -H newc -v -o | gzip -c - > $CI_PROJECT_DIR/results/lava-rootfs-${DEBIAN_ARCH}.cpio.gz; popd
|
||||
|
||||
# Copy kernel and DT
|
||||
- cp /artifacts/${KERNEL_IMAGE_NAME} /artifacts/*.dtb $CI_PROJECT_DIR/results/.
|
||||
|
||||
# Generate LAVA job
|
||||
- cd $CI_PROJECT_DIR
|
||||
- .gitlab-ci/generate_lava.py
|
||||
--template .gitlab-ci/lava-deqp.yml.jinja2
|
||||
--arch ${DEBIAN_ARCH}
|
||||
--base-artifacts-url $CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/raw/results
|
||||
--device-types ${DEVICE_TYPES}
|
||||
--kernel-image-name ${KERNEL_IMAGE_NAME}
|
||||
after_script:
|
||||
- export CCACHE_DIR="$PWD/ccache"
|
||||
- ccache --show-stats
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- results/
|
||||
|
||||
lava-build:armhf:
|
||||
extends: .lava-build
|
||||
needs: ["lava-container:armhf"]
|
||||
variables:
|
||||
DEBIAN_ARCH: "armhf"
|
||||
GCC_ARCH: "arm-linux-gnueabihf"
|
||||
DEVICE_TYPES: "rk3288-veyron-jaq sun8i-h3-libretech-all-h3-cc"
|
||||
KERNEL_IMAGE_NAME: "zImage"
|
||||
|
||||
lava-build:arm64:
|
||||
extends: .lava-build
|
||||
needs: ["lava-container:arm64"]
|
||||
variables:
|
||||
DEBIAN_ARCH: "arm64"
|
||||
GCC_ARCH: "aarch64-linux-gnu"
|
||||
DEVICE_TYPES: "rk3399-gru-kevin meson-gxl-s905x-libretech-cc"
|
||||
KERNEL_IMAGE_NAME: "Image"
|
||||
|
||||
.lava-test:
|
||||
extends:
|
||||
- .ci-run-policy
|
||||
stage: test
|
||||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
ENV_VARS: "MESA_GLES_VERSION_OVERRIDE=3.0 DEQP_PARALLEL=6"
|
||||
- .test
|
||||
script:
|
||||
- BUILD_JOB_ID=`cat artifacts/build_job_id.txt`
|
||||
- >
|
||||
artifacts/generate_lava.py \
|
||||
--template artifacts/lava-deqp.yml.jinja2 \
|
||||
--pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
|
||||
--base-artifacts-url $CI_PROJECT_URL/-/jobs/$BUILD_JOB_ID/artifacts/raw/artifacts \
|
||||
--device-type ${DEVICE_TYPE} \
|
||||
--env-vars "${ENV_VARS}" \
|
||||
--arch ${ARCH} \
|
||||
--deqp-version gles2 \
|
||||
--kernel-image-name ${KERNEL_IMAGE_NAME} \
|
||||
--kernel-image-type "${KERNEL_IMAGE_TYPE}" \
|
||||
--gpu-version ${GPU_VERSION} \
|
||||
--boot-method ${BOOT_METHOD} \
|
||||
--lava-tags "${LAVA_TAGS}" \
|
||||
--ci-node-index "${CI_NODE_INDEX}" \
|
||||
--ci-node-total "${CI_NODE_TOTAL}"
|
||||
- lava_job_id=`lavacli jobs submit lava-deqp.yml`
|
||||
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp-$DEVICE_TYPE.yml`
|
||||
- echo $lava_job_id
|
||||
- rm -rf artifacts/*
|
||||
- cp lava-deqp.yml artifacts/.
|
||||
- lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee artifacts/lava-deqp-$lava_job_id.log
|
||||
- lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee results/lava-deqp-$lava_job_id.log
|
||||
- lavacli jobs show $lava_job_id
|
||||
- result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
|
||||
- echo $result
|
||||
@@ -35,51 +160,30 @@
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- artifacts/
|
||||
- results/
|
||||
|
||||
.lava-test:armhf:
|
||||
variables:
|
||||
ARCH: armhf
|
||||
KERNEL_IMAGE_NAME: zImage
|
||||
KERNEL_IMAGE_TYPE: "type:\ zimage"
|
||||
BOOT_METHOD: u-boot
|
||||
extends:
|
||||
- .lava-test
|
||||
- .use-arm_build
|
||||
dependencies:
|
||||
- meson-armhf
|
||||
image: $CI_REGISTRY_IMAGE/debian/$LAVA_DEBIAN_VERSION:armhf-$LAVA_IMAGE_TAG
|
||||
extends: .lava-test
|
||||
needs:
|
||||
- meson-armhf
|
||||
- lava-container:armhf
|
||||
- lava-build:armhf
|
||||
dependencies:
|
||||
- lava-build:armhf
|
||||
|
||||
.lava-test:arm64:
|
||||
variables:
|
||||
ARCH: arm64
|
||||
KERNEL_IMAGE_NAME: Image
|
||||
KERNEL_IMAGE_TYPE: "type:\ image"
|
||||
BOOT_METHOD: u-boot
|
||||
extends:
|
||||
- .lava-test
|
||||
- .use-arm_build
|
||||
dependencies:
|
||||
- meson-arm64
|
||||
image: $CI_REGISTRY_IMAGE/debian/$LAVA_DEBIAN_VERSION:arm64-$LAVA_IMAGE_TAG
|
||||
extends: .lava-test
|
||||
needs:
|
||||
- meson-arm64
|
||||
|
||||
panfrost-t720-test:arm64:
|
||||
extends: .lava-test:arm64
|
||||
variables:
|
||||
DEVICE_TYPE: sun50i-h6-pine-h64
|
||||
GPU_VERSION: panfrost-t720
|
||||
tags:
|
||||
- lava-sun50i-h6-pine-h64
|
||||
- lava-container:arm64
|
||||
- lava-build:arm64
|
||||
dependencies:
|
||||
- lava-build:arm64
|
||||
|
||||
panfrost-t760-test:armhf:
|
||||
extends: .lava-test:armhf
|
||||
variables:
|
||||
DEVICE_TYPE: rk3288-veyron-jaq
|
||||
GPU_VERSION: panfrost-t760
|
||||
BOOT_METHOD: depthcharge
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
tags:
|
||||
- lava-rk3288-veyron-jaq
|
||||
|
||||
@@ -87,36 +191,19 @@ panfrost-t860-test:arm64:
|
||||
extends: .lava-test:arm64
|
||||
variables:
|
||||
DEVICE_TYPE: rk3399-gru-kevin
|
||||
GPU_VERSION: panfrost-t860
|
||||
BOOT_METHOD: depthcharge
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
tags:
|
||||
- lava-rk3399-gru-kevin
|
||||
|
||||
.panfrost-t820-test:arm64:
|
||||
extends: .lava-test:arm64
|
||||
variables:
|
||||
DEVICE_TYPE: meson-gxm-khadas-vim2
|
||||
GPU_VERSION: panfrost-t820
|
||||
LAVA_TAGS: panfrost
|
||||
tags:
|
||||
- lava-meson-gxm-khadas-vim2
|
||||
|
||||
.lima-mali400-test:armhf:
|
||||
parallel: 2
|
||||
lima-test:armhf:
|
||||
extends: .lava-test:armhf
|
||||
variables:
|
||||
DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
|
||||
GPU_VERSION: lima
|
||||
ENV_VARS: "DEQP_PARALLEL=3"
|
||||
tags:
|
||||
- lava-sun8i-h3-libretech-all-h3-cc
|
||||
|
||||
lima-mali450-test:arm64:
|
||||
lima-test:arm64:
|
||||
extends: .lava-test:arm64
|
||||
variables:
|
||||
DEVICE_TYPE: meson-gxl-s905x-libretech-cc
|
||||
GPU_VERSION: lima
|
||||
ENV_VARS: "DEQP_PARALLEL=6"
|
||||
tags:
|
||||
- lava-meson-gxl-s905x-libretech-cc
|
||||
|
@@ -62,3 +62,28 @@ ninja -j4
|
||||
LC_ALL=C.UTF-8 ninja test
|
||||
ninja install
|
||||
cd ..
|
||||
|
||||
if test -n "$MESON_SHADERDB"; then
|
||||
./.gitlab-ci/run-shader-db.sh;
|
||||
fi
|
||||
|
||||
# Delete 2MB of includes from artifacts.
|
||||
rm -rf install/include
|
||||
|
||||
# Strip the drivers in the artifacts to cut 80% of the artifacts size.
|
||||
if [ -n "$CROSS" ]; then
|
||||
STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"`
|
||||
if [ -z "$STRIP" ]; then
|
||||
echo "Failed to find strip command in cross file"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
STRIP="strip"
|
||||
fi
|
||||
find install -name \*.so -exec $STRIP {} \;
|
||||
|
||||
# Test runs don't pull down the git tree, so put the dEQP helper
|
||||
# script and associated bits there.
|
||||
mkdir -p artifacts/
|
||||
cp -Rp .gitlab-ci/deqp* artifacts/
|
||||
# cp -Rp src/freedreno/ci/expected* artifacts/
|
||||
|
@@ -1,36 +0,0 @@
|
||||
diff --git a/generated_tests/CMakeLists.txt b/generated_tests/CMakeLists.txt
|
||||
index 738526546..6f89048cd 100644
|
||||
--- a/generated_tests/CMakeLists.txt
|
||||
+++ b/generated_tests/CMakeLists.txt
|
||||
@@ -206,11 +206,6 @@ piglit_make_generated_tests(
|
||||
templates/gen_variable_index_write_tests/vs.shader_test.mako
|
||||
templates/gen_variable_index_write_tests/fs.shader_test.mako
|
||||
templates/gen_variable_index_write_tests/helpers.mako)
|
||||
-piglit_make_generated_tests(
|
||||
- vs_in_fp64.list
|
||||
- gen_vs_in_fp64.py
|
||||
- templates/gen_vs_in_fp64/columns.shader_test.mako
|
||||
- templates/gen_vs_in_fp64/regular.shader_test.mako)
|
||||
piglit_make_generated_tests(
|
||||
shader_framebuffer_fetch_tests.list
|
||||
gen_shader_framebuffer_fetch_tests.py)
|
||||
@@ -279,7 +274,6 @@ add_custom_target(gen-gl-tests
|
||||
gen_extensions_defined.list
|
||||
vp-tex.list
|
||||
variable_index_write_tests.list
|
||||
- vs_in_fp64.list
|
||||
gpu_shader4_tests.list
|
||||
)
|
||||
|
||||
diff --git a/tests/sanity.py b/tests/sanity.py
|
||||
index 12f1614c9..9019087e2 100644
|
||||
--- a/tests/sanity.py
|
||||
+++ b/tests/sanity.py
|
||||
@@ -100,7 +100,6 @@ shader_tests = (
|
||||
'spec/arb_tessellation_shader/execution/barrier-patch.shader_test',
|
||||
'spec/arb_tessellation_shader/execution/built-in-functions/tcs-any-bvec4-using-if.shader_test',
|
||||
'spec/arb_tessellation_shader/execution/sanity.shader_test',
|
||||
- 'spec/arb_vertex_attrib_64bit/execution/vs_in/vs-input-uint_uvec4-double_dmat3x4_array2-position.shader_test',
|
||||
'spec/glsl-1.50/execution/geometry-basic.shader_test',
|
||||
'spec/oes_viewport_array/viewport-gs-write-simple.shader_test',
|
||||
)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,29 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
VERSION=`cat artifacts/VERSION`
|
||||
|
||||
cd /piglit
|
||||
|
||||
PIGLIT_OPTIONS=$(echo $PIGLIT_OPTIONS | head -n 1)
|
||||
xvfb-run --server-args="-noreset" sh -c \
|
||||
"export LD_LIBRARY_PATH=$OLDPWD/install/lib;
|
||||
wflinfo --platform glx --api gl --profile core | grep \"Mesa $VERSION\\\$\" &&
|
||||
./piglit run -j4 $PIGLIT_OPTIONS $PIGLIT_PROFILES $OLDPWD/results"
|
||||
|
||||
PIGLIT_RESULTS=${PIGLIT_RESULTS:-$PIGLIT_PROFILES}
|
||||
mkdir -p .gitlab-ci/piglit
|
||||
cp $OLDPWD/artifacts/piglit/$PIGLIT_RESULTS.txt .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.baseline
|
||||
./piglit summary console $OLDPWD/results | head -n -1 | grep -v ": pass" >.gitlab-ci/piglit/$PIGLIT_RESULTS.txt
|
||||
|
||||
if diff -q .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
./piglit summary html --exclude-details=pass $OLDPWD/summary $OLDPWD/results
|
||||
|
||||
echo Unexpected change in results:
|
||||
diff -u .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}
|
||||
exit 1
|
@@ -1,59 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
CROSS_FILE=/cross_file-"$CROSS".txt
|
||||
|
||||
# Delete unused bin and includes from artifacts to save space.
|
||||
rm -rf install/bin install/include
|
||||
|
||||
# Strip the drivers in the artifacts to cut 80% of the artifacts size.
|
||||
if [ -n "$CROSS" ]; then
|
||||
STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"`
|
||||
if [ -z "$STRIP" ]; then
|
||||
echo "Failed to find strip command in cross file"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
STRIP="strip"
|
||||
fi
|
||||
find install -name \*.so -exec $STRIP {} \;
|
||||
|
||||
# Test runs don't pull down the git tree, so put the dEQP helper
|
||||
# script and associated bits there.
|
||||
mkdir -p artifacts/
|
||||
cp VERSION artifacts/
|
||||
cp -Rp .gitlab-ci/deqp* artifacts/
|
||||
cp -Rp .gitlab-ci/piglit artifacts/
|
||||
|
||||
# Tar up the install dir so that symlinks and hardlinks aren't each
|
||||
# packed separately in the zip file.
|
||||
tar -cf artifacts/install.tar install
|
||||
|
||||
# If the container has LAVA stuff, prepare the artifacts for LAVA jobs
|
||||
if [ -d /lava-files ]; then
|
||||
# Copy kernel and device trees for LAVA
|
||||
cp /lava-files/*Image artifacts/.
|
||||
cp /lava-files/*.dtb artifacts/.
|
||||
|
||||
# Pack ramdisk for LAVA
|
||||
mkdir -p /lava-files/rootfs-${CROSS:-arm64}/mesa
|
||||
cp -a install/* /lava-files/rootfs-${CROSS:-arm64}/mesa/.
|
||||
|
||||
cp .gitlab-ci/deqp-runner.sh /lava-files/rootfs-${CROSS:-arm64}/deqp/.
|
||||
cp .gitlab-ci/deqp-*-fails.txt /lava-files/rootfs-${CROSS:-arm64}/deqp/.
|
||||
cp .gitlab-ci/deqp-*-skips.txt /lava-files/rootfs-${CROSS:-arm64}/deqp/.
|
||||
find /lava-files/rootfs-${CROSS:-arm64}/ -type f -printf "%s\t%i\t%p\n" | sort -n | tail -100
|
||||
|
||||
pushd /lava-files/rootfs-${CROSS:-arm64}/
|
||||
find -H | cpio -H newc -o | gzip -c - > $CI_PROJECT_DIR/artifacts/lava-rootfs-${CROSS:-arm64}.cpio.gz
|
||||
popd
|
||||
|
||||
# Store job ID so the test stage can build URLs to the artifacts
|
||||
echo $CI_JOB_ID > artifacts/build_job_id.txt
|
||||
|
||||
# Pass needed files to the test stage
|
||||
cp $CI_PROJECT_DIR/.gitlab-ci/generate_lava.py artifacts/.
|
||||
cp $CI_PROJECT_DIR/.gitlab-ci/lava-deqp.yml.jinja2 artifacts/.
|
||||
fi
|
4
.mailmap
4
.mailmap
@@ -133,8 +133,8 @@ David Miller <davem@davemloft.net> David S. Miller <davem@davemloft.net>
|
||||
David Miller <davem@davemloft.net> Dave Miller <davem@davemloft.net>
|
||||
David Miller <davem@davemloft.net> davem69 <davem69>
|
||||
|
||||
David Heidelberg <david@ixit.cz> David Heidelberger <david.heidelberger@ixit.cz>
|
||||
David Heidelberg <david@ixit.cz> <d.okias@gmail.com>
|
||||
David Heidelberger <david.heidelberger@ixit.cz> David Heidelberg <david@ixit.cz>
|
||||
David Heidelberger <david.heidelberger@ixit.cz> <d.okias@gmail.com>
|
||||
|
||||
David Reveman <reveman@chromium.org> <c99drn@cs.umu.se>
|
||||
|
||||
|
26214
.pick_status.json
26214
.pick_status.json
File diff suppressed because it is too large
Load Diff
@@ -26,8 +26,7 @@ before_install:
|
||||
fi
|
||||
|
||||
# Set PATH for homebrew pip3 installs
|
||||
- PYTHON_VERSION=$(python3 -V | awk '{print $2}' | cut -d. -f1-2)
|
||||
- PATH="$HOME/Library/Python/$PYTHON_VERSION/bin:${PATH}"
|
||||
- PATH="$HOME/Library/Python/3.6/bin:${PATH}"
|
||||
# Set PKG_CONFIG_PATH for keg-only expat
|
||||
- PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
# Set PATH for keg-only gettext
|
||||
|
@@ -103,9 +103,12 @@ ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo true),true)
|
||||
LOCAL_CFLAGS += -DHAVE_SYS_SHM_H
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
|
||||
ifeq ($(TARGET_ARCH),x86)
|
||||
LOCAL_CFLAGS += \
|
||||
-DUSE_X86_ASM
|
||||
|
||||
endif
|
||||
endif
|
||||
ifeq ($(ARCH_ARM_HAVE_NEON),true)
|
||||
LOCAL_CFLAGS_arm += -DUSE_ARM_ASM
|
||||
|
13
Android.mk
13
Android.mk
@@ -24,7 +24,7 @@
|
||||
# BOARD_GPU_DRIVERS should be defined. The valid values are
|
||||
#
|
||||
# classic drivers: i915 i965
|
||||
# gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv iris lima panfrost
|
||||
# gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv iris lima
|
||||
#
|
||||
# The main target is libGLES_mesa. For each classic driver enabled, a DRI
|
||||
# module will also be built. DRI modules will be loaded by libGLES_mesa.
|
||||
@@ -61,8 +61,7 @@ gallium_drivers := \
|
||||
virgl.HAVE_GALLIUM_VIRGL \
|
||||
etnaviv.HAVE_GALLIUM_ETNAVIV \
|
||||
iris.HAVE_GALLIUM_IRIS \
|
||||
lima.HAVE_GALLIUM_LIMA \
|
||||
panfrost.HAVE_GALLIUM_PANFROST
|
||||
lima.HAVE_GALLIUM_LIMA
|
||||
|
||||
ifeq ($(BOARD_GPU_DRIVERS),all)
|
||||
MESA_BUILD_CLASSIC := $(filter HAVE_%, $(subst ., , $(classic_drivers)))
|
||||
@@ -84,6 +83,13 @@ endif
|
||||
|
||||
$(foreach d, $(MESA_BUILD_CLASSIC) $(MESA_BUILD_GALLIUM), $(eval $(d) := true))
|
||||
|
||||
# host and target must be the same arch to generate matypes.h
|
||||
ifeq ($(TARGET_ARCH),$(HOST_ARCH))
|
||||
MESA_ENABLE_ASM := true
|
||||
else
|
||||
MESA_ENABLE_ASM := false
|
||||
endif
|
||||
|
||||
ifneq ($(filter true, $(HAVE_GALLIUM_RADEONSI)),)
|
||||
MESA_ENABLE_LLVM := true
|
||||
endif
|
||||
@@ -97,7 +103,6 @@ endef
|
||||
|
||||
# add subdirectories
|
||||
SUBDIRS := \
|
||||
src/etnaviv \
|
||||
src/freedreno \
|
||||
src/gbm \
|
||||
src/loader \
|
||||
|
@@ -56,4 +56,5 @@ Contributions are welcome, and step-by-step instructions can be found in our
|
||||
documentation (`docs/submittingpatches.html
|
||||
<https://mesa3d.org/submittingpatches.html>`_).
|
||||
|
||||
Note that Mesa uses gitlab for patches submission, review and discussions.
|
||||
Note that Mesa uses email mailing-lists for patches submission, review and
|
||||
discussions.
|
||||
|
@@ -55,7 +55,7 @@ environment:
|
||||
buildsystem: scons
|
||||
- compiler: msvc
|
||||
buildsystem: meson
|
||||
path: C:\Python38-x64;C:\Python38-x64\Scripts;%path%
|
||||
path: C:\Python37-x64;C:\Python37-x64\Scripts;%path%
|
||||
|
||||
install:
|
||||
- cmd: .appveyor\appveyor_msvc.bat install
|
||||
|
16
bin/.cherry-ignore
Normal file
16
bin/.cherry-ignore
Normal file
@@ -0,0 +1,16 @@
|
||||
# This is reverted shortly after landing
|
||||
4432a2d14d80081d062f7939a950d65ea3a16eed
|
||||
|
||||
# These were manually backported
|
||||
21be5c8edd3ad156f6cbfbceb96e7939716d9f2c
|
||||
4b392ced2d744fccffe95490ff57e6b41033c266
|
||||
b6905438514ae4de0b7f85c861e3d811ddaadda9
|
||||
809c8feb92d33c43ace3ef25584a2adca24b1be0
|
||||
05c81875d7bf871f73f24903e04dad3d286ed02e
|
||||
|
||||
# This isn't worth the effort to backport, as it only affects build with
|
||||
# asserts enable, which hopefully wont happen in a stable branch.
|
||||
937b9055698be0dfdb7d2e0673a989e2ecc05912
|
||||
|
||||
# this is reverted, so just don't apply
|
||||
973181c06cca3fe232c3a435abde31f2fc1b81ef
|
@@ -125,7 +125,7 @@ TEMPLATE = Template(textwrap.dedent("""\
|
||||
|
||||
async def gather_commits(version: str) -> str:
|
||||
p = await asyncio.create_subprocess_exec(
|
||||
'git', 'log', f'mesa-{version}..', '--grep', r'Closes: \(https\|#\).*',
|
||||
'git', 'log', '--oneline', f'mesa-{version}..', '--grep', r'Closes: \(https\|#\).*',
|
||||
stdout=asyncio.subprocess.PIPE)
|
||||
out, _ = await p.communicate()
|
||||
assert p.returncode == 0, f"git log didn't work: {version}"
|
||||
|
@@ -92,7 +92,7 @@ is_revert_nomination()
|
||||
}
|
||||
|
||||
# Use the last branchpoint as our limit for the search
|
||||
latest_branchpoint=`git merge-base origin/master HEAD`
|
||||
latest_branchpoint=`git merge-base upstream/master HEAD`
|
||||
|
||||
# List all the commits between day 1 and the branch point...
|
||||
git log --reverse --pretty=%H $latest_branchpoint > already_landed
|
||||
@@ -103,7 +103,7 @@ git log --reverse --pretty=medium --grep="cherry picked from commit" $latest_bra
|
||||
sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
|
||||
|
||||
# Grep for potential candidates
|
||||
git log --reverse --pretty=%H -i --grep='^CC:.*mesa-stable\|^CC:.*mesa-dev\|\<fixes\>\|\<broken by\>\|This reverts commit' $latest_branchpoint..origin/master |\
|
||||
git log --reverse --pretty=%H -i --grep='^CC:.*mesa-stable\|^CC:.*mesa-dev\|\<fixes\>\|\<broken by\>\|This reverts commit' $latest_branchpoint..upstream/master |\
|
||||
while read sha
|
||||
do
|
||||
# Check to see whether the patch is on the ignore list.
|
||||
|
@@ -1,6 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# encoding=utf-8
|
||||
# Copyright 2017-2018 Intel Corporation
|
||||
# Copyright © 2017-2018 Intel Corporation
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@@ -20,4 +20,3 @@
|
||||
|
||||
git_sha1_gen_py = files('git_sha1_gen.py')
|
||||
symbols_check = find_program('symbols-check.py')
|
||||
install_megadrivers_py = find_program('install_megadrivers.py')
|
||||
|
@@ -19,10 +19,9 @@ PLATFORM_SYMBOLS = [
|
||||
]
|
||||
|
||||
|
||||
def get_symbols_nm(nm, lib):
|
||||
def get_symbols(nm, lib):
|
||||
'''
|
||||
List all the (non platform-specific) symbols exported by the library
|
||||
using `nm`
|
||||
'''
|
||||
symbols = []
|
||||
platform_name = platform.system()
|
||||
@@ -40,35 +39,7 @@ def get_symbols_nm(nm, lib):
|
||||
assert symbol_name[0] == '_'
|
||||
symbol_name = symbol_name[1:]
|
||||
symbols.append(symbol_name)
|
||||
return symbols
|
||||
|
||||
|
||||
def get_symbols_dumpbin(dumpbin, lib):
|
||||
'''
|
||||
List all the (non platform-specific) symbols exported by the library
|
||||
using `dumpbin`
|
||||
'''
|
||||
symbols = []
|
||||
output = subprocess.check_output([dumpbin, '/exports', lib],
|
||||
stderr=open(os.devnull, 'w')).decode("ascii")
|
||||
for line in output.splitlines():
|
||||
fields = line.split()
|
||||
# The lines with the symbols are made of at least 4 columns; see details below
|
||||
if len(fields) < 4:
|
||||
continue
|
||||
try:
|
||||
# Making sure the first 3 columns are a dec counter, a hex counter
|
||||
# and a hex address
|
||||
_ = int(fields[0], 10)
|
||||
_ = int(fields[1], 16)
|
||||
_ = int(fields[2], 16)
|
||||
except ValueError:
|
||||
continue
|
||||
symbol_name = fields[3]
|
||||
# De-mangle symbols
|
||||
if symbol_name[0] == '_':
|
||||
symbol_name = symbol_name[1:].split('@')[0]
|
||||
symbols.append(symbol_name)
|
||||
return symbols
|
||||
|
||||
|
||||
@@ -84,21 +55,12 @@ def main():
|
||||
help='path to library')
|
||||
parser.add_argument('--nm',
|
||||
action='store',
|
||||
help='path to binary (or name in $PATH)')
|
||||
parser.add_argument('--dumpbin',
|
||||
action='store',
|
||||
required=True,
|
||||
help='path to binary (or name in $PATH)')
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
if platform.system() == 'Windows':
|
||||
if not args.dumpbin:
|
||||
parser.error('--dumpbin is mandatory')
|
||||
lib_symbols = get_symbols_dumpbin(args.dumpbin, args.lib)
|
||||
else:
|
||||
if not args.nm:
|
||||
parser.error('--nm is mandatory')
|
||||
lib_symbols = get_symbols_nm(args.nm, args.lib)
|
||||
lib_symbols = get_symbols(args.nm, args.lib)
|
||||
except:
|
||||
# We can't run this test, but we haven't technically failed it either
|
||||
# Return the GNU "skip" error code
|
||||
|
@@ -41,11 +41,11 @@ as if you're defining a large, static table of information.
|
||||
<li>Opening braces go on the same line as the if/for/while statement.
|
||||
For example:
|
||||
<pre>
|
||||
if (condition) {
|
||||
foo;
|
||||
} else {
|
||||
bar;
|
||||
}
|
||||
if (condition) {
|
||||
foo;
|
||||
} else {
|
||||
bar;
|
||||
}
|
||||
</pre>
|
||||
|
||||
<li>Put a space before/after operators. For example, <code>a = b + c;</code>
|
||||
@@ -53,7 +53,7 @@ and not <code>a=b+c;</code>
|
||||
|
||||
<li>This GNU indent command generally does the right thing for formatting:
|
||||
<pre>
|
||||
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
|
||||
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
|
||||
</pre>
|
||||
|
||||
<li>
|
||||
@@ -63,47 +63,47 @@ follow <a href="http://www.doxygen.nl">Doxygen</a> conventions.
|
||||
</p>
|
||||
Single-line comments:
|
||||
<pre>
|
||||
/* null-out pointer to prevent dangling reference below */
|
||||
bufferObj = NULL;
|
||||
/* null-out pointer to prevent dangling reference below */
|
||||
bufferObj = NULL;
|
||||
</pre>
|
||||
Or,
|
||||
<pre>
|
||||
bufferObj = NULL; /* prevent dangling reference below */
|
||||
bufferObj = NULL; /* prevent dangling reference below */
|
||||
</pre>
|
||||
Multi-line comment:
|
||||
<pre>
|
||||
/* If this is a new buffer object id, or one which was generated but
|
||||
* never used before, allocate a buffer object now.
|
||||
*/
|
||||
/* If this is a new buffer object id, or one which was generated but
|
||||
* never used before, allocate a buffer object now.
|
||||
*/
|
||||
</pre>
|
||||
We try to quote the OpenGL specification where prudent:
|
||||
<pre>
|
||||
/* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated for any of the following
|
||||
* conditions:
|
||||
*
|
||||
* * <length> is zero."
|
||||
*
|
||||
* Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
|
||||
* (30.10.2014) also says this, so it's no longer allowed for desktop GL,
|
||||
* either.
|
||||
*/
|
||||
/* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated for any of the following
|
||||
* conditions:
|
||||
*
|
||||
* * <length> is zero."
|
||||
*
|
||||
* Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
|
||||
* (30.10.2014) also says this, so it's no longer allowed for desktop GL,
|
||||
* either.
|
||||
*/
|
||||
</pre>
|
||||
Function comment example:
|
||||
<pre>
|
||||
/**
|
||||
* Create and initialize a new buffer object. Called via the
|
||||
* ctx->Driver.CreateObject() driver callback function.
|
||||
* \param name integer name of the object
|
||||
* \param type one of GL_FOO, GL_BAR, etc.
|
||||
* \return pointer to new object or NULL if error
|
||||
*/
|
||||
struct gl_object *
|
||||
_mesa_create_object(GLuint name, GLenum type)
|
||||
{
|
||||
/* function body */
|
||||
}
|
||||
/**
|
||||
* Create and initialize a new buffer object. Called via the
|
||||
* ctx->Driver.CreateObject() driver callback function.
|
||||
* \param name integer name of the object
|
||||
* \param type one of GL_FOO, GL_BAR, etc.
|
||||
* \return pointer to new object or NULL if error
|
||||
*/
|
||||
struct gl_object *
|
||||
_mesa_create_object(GLuint name, GLenum type)
|
||||
{
|
||||
/* function body */
|
||||
}
|
||||
</pre>
|
||||
|
||||
<li>Put the function return type and qualifiers on one line and the function
|
||||
@@ -113,11 +113,11 @@ the opening brace goes on the next line by itself (see above.)
|
||||
|
||||
<li>Function names follow various conventions depending on the type of function:
|
||||
<pre>
|
||||
glFooBar() - a public GL entry point (in glapi_dispatch.c)
|
||||
_mesa_FooBar() - the internal immediate mode function
|
||||
save_FooBar() - retained mode (display list) function in dlist.c
|
||||
foo_bar() - a static (private) function
|
||||
_mesa_foo_bar() - an internal non-static Mesa function
|
||||
glFooBar() - a public GL entry point (in glapi_dispatch.c)
|
||||
_mesa_FooBar() - the internal immediate mode function
|
||||
save_FooBar() - retained mode (display list) function in dlist.c
|
||||
foo_bar() - a static (private) function
|
||||
_mesa_foo_bar() - an internal non-static Mesa function
|
||||
</pre>
|
||||
|
||||
<li>Constants, macros and enum names are <code>ALL_UPPERCASE</code>, with _
|
||||
|
@@ -77,6 +77,9 @@ To add a new GL extension to Mesa you have to do at least the following.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -77,17 +77,17 @@ table.</li>
|
||||
<p>This can be implemented in just a few lines of C code. The file
|
||||
<code>src/mesa/glapi/glapitemp.h</code> contains code very similar to this.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
<blockquote>
|
||||
<table border="1">
|
||||
<tr><td><pre>
|
||||
void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
|
||||
{
|
||||
const struct _glapi_table * const dispatch = GET_DISPATCH();
|
||||
|
||||
(*dispatch->Vertex3f)(x, y, z);
|
||||
}
|
||||
</pre>
|
||||
<figcaption>Sample dispatch function</figcaption>
|
||||
</figure>
|
||||
}</pre></td></tr>
|
||||
<tr><td>Sample dispatch function</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<p>The problem with this simple implementation is the large amount of
|
||||
overhead that it adds to every GL function call.</p>
|
||||
@@ -129,14 +129,15 @@ The resulting implementation of <code>GET_DISPATCH</code> is slightly more
|
||||
complex, but it avoids the expensive <code>pthread_getspecific</code> call in
|
||||
the common case.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
<blockquote>
|
||||
<table border="1">
|
||||
<tr><td><pre>
|
||||
#define GET_DISPATCH() \
|
||||
(_glapi_Dispatch != NULL) \
|
||||
? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
|
||||
</pre>
|
||||
<figcaption>Improved <code>GET_DISPATCH</code> Implementation</figcaption>
|
||||
</figure>
|
||||
</pre></td></tr>
|
||||
<tr><td>Improved <code>GET_DISPATCH</code> Implementation</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<h3>3.2. ELF TLS</h3>
|
||||
|
||||
@@ -153,15 +154,16 @@ direct rendering drivers that use either interface. Once the pointer is
|
||||
properly declared, <code>GET_DISPACH</code> becomes a simple variable
|
||||
reference.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
<blockquote>
|
||||
<table border="1">
|
||||
<tr><td><pre>
|
||||
extern __thread struct _glapi_table *_glapi_tls_Dispatch
|
||||
__attribute__((tls_model("initial-exec")));
|
||||
|
||||
#define GET_DISPATCH() _glapi_tls_Dispatch
|
||||
</pre>
|
||||
<figcaption>TLS <code>GET_DISPATCH</code> Implementation</figcaption>
|
||||
</figure>
|
||||
</pre></td></tr>
|
||||
<tr><td>TLS <code>GET_DISPATCH</code> Implementation</td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<p>Use of this path is controlled by the preprocessor define
|
||||
<code>USE_ELF_TLS</code>. Any platform capable of using ELF TLS should use this
|
||||
@@ -213,12 +215,13 @@ of the assembly source file different implementations of the macro are
|
||||
selected based on the defined preprocessor variables. The assembly code
|
||||
then consists of a series of invocations of the macros such as:
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
<blockquote>
|
||||
<table border="1">
|
||||
<tr><td><pre>
|
||||
GL_STUB(Color3fv, _gloffset_Color3fv)
|
||||
</pre>
|
||||
<figcaption>SPARC Assembly Implementation of <code>glColor3fv</code></figcaption>
|
||||
</figure>
|
||||
</pre></td></tr>
|
||||
<tr><td>SPARC Assembly Implementation of <code>glColor3fv</code></td></tr></table>
|
||||
</blockquote>
|
||||
|
||||
<p>The benefit of this technique is that changes to the calling pattern
|
||||
(i.e., addition of a new dispatch table pointer access method) require fewer
|
||||
@@ -268,6 +271,8 @@ dispatch stub.</p>
|
||||
<code>src/mesa/glapi/glapi.c</code> just before <code>glprocs.h</code> is
|
||||
included.</p>
|
||||
|
||||
<h2 id="autogen">4. Automatic Generation of Dispatch Stubs</h2>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -19,10 +19,10 @@
|
||||
<h2>Downloading</h2>
|
||||
|
||||
<p>
|
||||
You can download the released versions of Mesa via
|
||||
<a href="https://mesa.freedesktop.org/archive/">HTTPS</a>
|
||||
or
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/">FTP</a>.
|
||||
Primary Mesa download site:
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/">ftp.freedesktop.org</a> (FTP)
|
||||
or <a href="https://mesa.freedesktop.org/archive/">mesa.freedesktop.org</a>
|
||||
(HTTPS).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@@ -544,231 +544,6 @@ Mesa EGL supports different sets of environment variables. See the
|
||||
</dl>
|
||||
|
||||
|
||||
<h3>RADV driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>RADV_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>allbos</code></dt>
|
||||
<dd>force all allocated buffers to be referenced in submissions</dd>
|
||||
<dt><code>allentrypoints</code></dt>
|
||||
<dd>enable all device/instance entrypoints</dd>
|
||||
<dt><code>checkir</code></dt>
|
||||
<dd>validate the LLVM IR before LLVM compiles the shader</dd>
|
||||
<dt><code>errors</code></dt>
|
||||
<dd>display more info about errors</dd>
|
||||
<dt><code>info</code></dt>
|
||||
<dd>show GPU-related information</dd>
|
||||
<dt><code>metashaders</code></dt>
|
||||
<dd>dump internal meta shaders</dd>
|
||||
<dt><code>nobinning</code></dt>
|
||||
<dd>disable primitive binning</dd>
|
||||
<dt><code>nocache</code></dt>
|
||||
<dd>disable shaders cache</dd>
|
||||
<dt><code>nocompute</code></dt>
|
||||
<dd>disable compute queue</dd>
|
||||
<dt><code>nodcc</code></dt>
|
||||
<dd>disable Delta Color Compression (DCC) on images</dd>
|
||||
<dt><code>nodynamicbounds</code></dt>
|
||||
<dd>do not check OOB access for dynamic descriptors</dd>
|
||||
<dt><code>nofastclears</code></dt>
|
||||
<dd>disable fast color/depthstencil clears</dd>
|
||||
<dt><code>nohiz</code></dt>
|
||||
<dd>disable HIZ for depthstencil images</dd>
|
||||
<dt><code>noibs</code></dt>
|
||||
<dd>disable directly recording command buffers in GPU-visible memory</dd>
|
||||
<dt><code>noloadstoreopt</code></dt>
|
||||
<dd>disable LLVM SILoadStoreOptimizer pass</dd>
|
||||
<dt><code>nomemorycache</code></dt>
|
||||
<dd>disable memory shaders cache</dd>
|
||||
<dt><code>nongg</code></dt>
|
||||
<dd>disable NGG for GFX10+</dd>
|
||||
<dt><code>nooutoforder</code></dt>
|
||||
<dd>disable out-of-order rasterization</dd>
|
||||
<dt><code>noshaderballot</code></dt>
|
||||
<dd>disable shader ballot</dd>
|
||||
<dt><code>nosisched</code></dt>
|
||||
<dd>disable LLVM sisched experimental scheduler</dd>
|
||||
<dt><code>nothreadllvm</code></dt>
|
||||
<dd>disable LLVM threaded compilation</dd>
|
||||
<dt><code>preoptir</code></dt>
|
||||
<dd>dump LLVM IR before any optimizations</dd>
|
||||
<dt><code>shaders</code></dt>
|
||||
<dd>dump shaders</dd>
|
||||
<dt><code>shaderstats</code></dt>
|
||||
<dd>dump shader statistics</dd>
|
||||
<dt><code>spirv</code></dt>
|
||||
<dd>dump SPIR-V</dd>
|
||||
<dt><code>startup</code></dt>
|
||||
<dd>display info at startup</dd>
|
||||
<dt><code>syncshaders</code></dt>
|
||||
<dd>synchronize shaders after all draws/dispatches</dd>
|
||||
<dt><code>vmfaults</code></dt>
|
||||
<dd>check for VM memory faults via dmesg</dd>
|
||||
<dt><code>zerovram</code></dt>
|
||||
<dd>initialize all memory allocated in VRAM as zero</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>RADV_FORCE_FAMILY</code></dt>
|
||||
<dd>force the driver to use a specific family eg. gfx900 (developers only)</dd>
|
||||
<dt><code>RADV_PERFTEST</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>aco</code></dt>
|
||||
<dd>enable ACO experimental compiler</dd>
|
||||
<dt><code>bolist</code></dt>
|
||||
<dd>enable the global BO list</dd>
|
||||
<dt><code>cswave32</code></dt>
|
||||
<dd>enable wave32 for compute shaders (GFX10+)</dd>
|
||||
<dt><code>dccmsaa</code></dt>
|
||||
<dd>enable DCC for MSAA images</dd>
|
||||
<dt><code>dfsm</code></dt>
|
||||
<dd>enable dfsm</dd>
|
||||
<dt><code>gewave32</code></dt>
|
||||
<dd>enable wave32 for vertex/tess/geometry shaders (GFX10+)</dd>
|
||||
<dt><code>localbos</code></dt>
|
||||
<dd>enable local BOs</dd>
|
||||
<dt><code>nobatchchain</code></dt>
|
||||
<dd>disable chained submissions</dd>
|
||||
<dt><code>pswave32</code></dt>
|
||||
<dd>enable wave32 for pixel shaders (GFX10+)</dd>
|
||||
<dt><code>shader_ballot</code></dt>
|
||||
<dd>enable shader ballot</dd>
|
||||
<dt><code>sisched</code></dt>
|
||||
<dd>enable LLVM sisched experimental scheduler</dd>
|
||||
<dt><code>tccompatcmask</code></dt>
|
||||
<dd>enable TC-compat cmask for MSAA images</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>RADV_SECURE_COMPILE_THREADS</code></dt>
|
||||
<dd>maximum number of secure compile threads (up to 32)</dd>
|
||||
<dt><code>RADV_TRACE_FILE</code></dt>
|
||||
<dd>generate cmdbuffer tracefiles when a GPU hang is detected</dd>
|
||||
</dl>
|
||||
|
||||
<h3>radeonsi driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>AMD_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:</dd>
|
||||
<dl>
|
||||
<dd></dd>
|
||||
<h4>Disable features / workaround flags (useful to diagnose an issue):</h4>
|
||||
<dt><code>nodma</code></dt>
|
||||
<dd>Disable SDMA</dd>
|
||||
<dt><code>nodmaclear</code></dt>
|
||||
<dd>Disable SDMA clears</dd>
|
||||
<dt><code>nodmacopyimage</code></dt>
|
||||
<dd>Disable SDMA image copies</dd>
|
||||
<dt><code>zerovram</code></dt>
|
||||
<dd>Clear VRAM allocations.</dd>
|
||||
<dt><code>nodcc</code></dt>
|
||||
<dd>Disable DCC.</dd>
|
||||
<dt><code>nodccclear</code></dt>
|
||||
<dd>Disable DCC fast clear.</dd>
|
||||
<dt><code>nodccfb</code></dt>
|
||||
<dd>Disable separate DCC on the main framebuffer</dd>
|
||||
<dt><code>nodccmsaa</code></dt>
|
||||
<dd>Disable DCC for MSAA</dd>
|
||||
<dt><code>nodpbb</code></dt>
|
||||
<dd>Disable DPBB.</dd>
|
||||
<dt><code>nodfsm</code></dt>
|
||||
<dd>Disable DFSM.</dd>
|
||||
<dt><code>notiling</code></dt>
|
||||
<dd>Disable tiling</dd>
|
||||
<dt><code>nofmask</code></dt>
|
||||
<dd>Disable MSAA compression</dd>
|
||||
<dt><code>nohyperz</code></dt>
|
||||
<dd>Disable Hyper-Z</dd>
|
||||
<dt><code>norbplus</code></dt>
|
||||
<dd>Disable RB+.</dd>
|
||||
<dt><code>no2d</code></dt>
|
||||
<dd>Disable 2D tiling</dd>
|
||||
<h4>Info flags:</h4>
|
||||
<dt><code>info</code></dt>
|
||||
<dd>Print driver information</dd>
|
||||
<dt><code>tex</code></dt>
|
||||
<dd>Print texture info</dd>
|
||||
<dt><code>compute</code></dt>
|
||||
<dd>Print compute info</dd>
|
||||
<dt><code>vm</code></dt>
|
||||
<dd>Print virtual addresses when creating resources</dd>
|
||||
<h4>Print shaders flags:</h4>
|
||||
<dt><code>vs</code></dt>
|
||||
<dd>Print vertex shaders</dd>
|
||||
<dt><code>ps</code></dt>
|
||||
<dd>Print pixel shaders</dd>
|
||||
<dt><code>gs</code></dt>
|
||||
<dd>Print geometry shaders</dd>
|
||||
<dt><code>tcs</code></dt>
|
||||
<dd>Print tessellation control shaders</dd>
|
||||
<dt><code>tes</code></dt>
|
||||
<dd>Print tessellation evaluation shaders</dd>
|
||||
<dt><code>cs</code></dt>
|
||||
<dd>Print compute shaders</dd>
|
||||
<dt><code>noir</code></dt>
|
||||
<dd>Don't print the LLVM IR</dd>
|
||||
<dt><code>nonir</code></dt>
|
||||
<dd>Don't print NIR when printing shaders</dd>
|
||||
<dt><code>noasm</code></dt>
|
||||
<dd>Don't print disassembled shaders</dd>
|
||||
<dt><code>preoptir</code></dt>
|
||||
<dd>Print the LLVM IR before initial optimizations</dd>
|
||||
<h4>Shader compilation tuning flags:</h4>
|
||||
<dt><code>sisched</code></dt>
|
||||
<dd>Enable LLVM SI Machine Instruction Scheduler.</dd>
|
||||
<dt><code>gisel</code></dt>
|
||||
<dd>Enable LLVM global instruction selector.</dd>
|
||||
<dt><code>w32ge</code></dt>
|
||||
<dd>Use Wave32 for vertex, tessellation, and geometry shaders.</dd>
|
||||
<dt><code>w32ps</code></dt>
|
||||
<dd>Use Wave32 for pixel shaders.</dd>
|
||||
<dt><code>w32cs</code></dt>
|
||||
<dd>Use Wave32 for computes shaders.</dd>
|
||||
<dt><code>w64ge</code></dt>
|
||||
<dd>Use Wave64 for vertex, tessellation, and geometry shaders.</dd>
|
||||
<dt><code>w64ps</code></dt>
|
||||
<dd>Use Wave64 for pixel shaders.</dd>
|
||||
<dt><code>w64cs</code></dt>
|
||||
<dd>Use Wave64 for computes shaders.</dd>
|
||||
<dt><code>checkir</code></dt>
|
||||
<dd>Enable additional sanity checks on shader IR</dd>
|
||||
<dt><code>mono</code></dt>
|
||||
<dd>Use old-style monolithic shaders compiled on demand</dd>
|
||||
<dt><code>nooptvariant</code></dt>
|
||||
<dd>Disable compiling optimized shader variants.</dd>
|
||||
<h4>Advanced usage flags:</h4>
|
||||
<dt><code>forcedma</code></dt>
|
||||
<dd>Use SDMA for all operations when possible.</dd>
|
||||
<dt><code>nowc</code></dt>
|
||||
<dd>Disable GTT write combining</dd>
|
||||
<dt><code>check_vm</code></dt>
|
||||
<dd>Check VM faults and dump debug info.</dd>
|
||||
<dt><code>reserve_vmid</code></dt>
|
||||
<dd>Force VMID reservation per context.</dd>
|
||||
<dt><code>nogfx</code></dt>
|
||||
<dd>Disable graphics. Only multimedia compute paths can be used.</dd>
|
||||
<dt><code>nongg</code></dt>
|
||||
<dd>Disable NGG and use the legacy pipeline.</dd>
|
||||
<dt><code>nggc</code></dt>
|
||||
<dd>Always use NGG culling even when it can hurt.</dd>
|
||||
<dt><code>nonggc</code></dt>
|
||||
<dd>Disable NGG culling.</dd>
|
||||
<dt><code>alwayspd</code></dt>
|
||||
<dd>Always enable the primitive discard compute shader.</dd>
|
||||
<dt><code>pd</code></dt>
|
||||
<dd>Enable the primitive discard compute shader for large draw calls.</dd>
|
||||
<dt><code>nopd</code></dt>
|
||||
<dd>Disable the primitive discard compute shader.</dd>
|
||||
<dt><code>switch_on_eop</code></dt>
|
||||
<dd>Program WD/IA to switch on end-of-packet.</dd>
|
||||
<dt><code>nooutoforder</code></dt>
|
||||
<dd>Disable out-of-order rasterization</dd>
|
||||
<dt><code>dpbb</code></dt>
|
||||
<dd>Enable DPBB.</dd>
|
||||
<dt><code>dfsm</code></dt>
|
||||
<dd>Enable DFSM.</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Other Gallium drivers have their own environment variables. These may change
|
||||
frequently so the source code should be consulted for details.
|
||||
|
@@ -118,19 +118,19 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl
|
||||
- 'precise' qualifier DONE (softpipe)
|
||||
- Dynamically uniform sampler array indices DONE (softpipe)
|
||||
- Dynamically uniform UBO array indices DONE (freedreno, softpipe)
|
||||
- Implicit signed -> unsigned conversions DONE (softpipe, swr)
|
||||
- Fused multiply-add DONE (softpipe, swr)
|
||||
- Packing/bitfield/conversion functions DONE (freedreno, softpipe, swr)
|
||||
- Enhanced textureGather DONE (freedreno, softpipe, swr)
|
||||
- Geometry shader instancing DONE (llvmpipe, softpipe, swr)
|
||||
- Geometry shader multiple streams DONE (softpipe, swr)
|
||||
- Implicit signed -> unsigned conversions DONE (softpipe)
|
||||
- Fused multiply-add DONE (softpipe)
|
||||
- Packing/bitfield/conversion functions DONE (freedreno, softpipe)
|
||||
- Enhanced textureGather DONE (freedreno, softpipe)
|
||||
- Geometry shader instancing DONE (llvmpipe, softpipe)
|
||||
- Geometry shader multiple streams DONE (softpipe)
|
||||
- Enhanced per-sample shading DONE ()
|
||||
- Interpolation functions DONE (softpipe)
|
||||
- New overload resolution rules DONE (softpipe)
|
||||
GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, llvmpipe, softpipe, swr)
|
||||
GL_ARB_sample_shading DONE (freedreno/a6xx, i965/gen6+, nv50)
|
||||
GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_tessellation_shader DONE (i965/gen7+, swr)
|
||||
GL_ARB_tessellation_shader DONE (i965/gen7+)
|
||||
GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, i965/gen6+, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_gather DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr)
|
||||
@@ -151,7 +151,7 @@ GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl
|
||||
|
||||
GL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl
|
||||
|
||||
GL_ARB_texture_compression_bptc DONE (freedreno, i965, llvmpipe, softpipe, swr)
|
||||
GL_ARB_texture_compression_bptc DONE (freedreno, i965)
|
||||
GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
||||
GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965, llvmpipe, softpipe)
|
||||
GL_ARB_texture_storage DONE (all drivers)
|
||||
@@ -204,7 +204,7 @@ GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi
|
||||
- specified transform/feedback layout DONE
|
||||
- input/output block locations DONE
|
||||
GL_ARB_multi_bind DONE (all drivers)
|
||||
GL_ARB_query_buffer_object DONE (i965/hsw+, llvmpipe, virgl)
|
||||
GL_ARB_query_buffer_object DONE (i965/hsw+, virgl)
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, llvmpipe, softpipe, swr, virgl)
|
||||
GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr, virgl)
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, llvmpipe, softpipe, swr, virgl)
|
||||
@@ -215,7 +215,7 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi, r600
|
||||
GL_ARB_clip_control DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr)
|
||||
GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr, virgl)
|
||||
GL_ARB_cull_distance DONE (i965, nv50, llvmpipe, softpipe, swr, virgl)
|
||||
GL_ARB_derivative_control DONE (i965, nv50, llvmpipe, softpipe, virgl)
|
||||
GL_ARB_derivative_control DONE (i965, nv50, softpipe, virgl)
|
||||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||
GL_ARB_shader_texture_image_samples DONE (i965, nv50, virgl)
|
||||
@@ -224,18 +224,18 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi, r600
|
||||
GL_KHR_robustness DONE (freedreno, i965)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
||||
GL 4.6, GLSL 4.60 -- all DONE: radeonsi
|
||||
GL 4.6, GLSL 4.60
|
||||
|
||||
GL_ARB_gl_spirv DONE (i965/gen7+)
|
||||
GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, llvmpipe, virgl)
|
||||
GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, llvmpipe, softpipe, swr)
|
||||
GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, llvmpipe, swr, virgl)
|
||||
GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, llvmpipe, softpipe, virgl)
|
||||
GL_ARB_shader_draw_parameters DONE (i965, llvmpipe, nvc0)
|
||||
GL_ARB_shader_group_vote DONE (i965, nvc0, llvmpipe)
|
||||
GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, radeonsi, virgl)
|
||||
GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
|
||||
GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr, virgl)
|
||||
GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl)
|
||||
GL_ARB_shader_draw_parameters DONE (i965, nvc0, radeonsi)
|
||||
GL_ARB_shader_group_vote DONE (i965, nvc0, radeonsi)
|
||||
GL_ARB_spirv_extensions DONE (i965/gen7+)
|
||||
GL_ARB_texture_filter_anisotropic DONE (freedreno, i965, nv50, nvc0, r600, softpipe (*), llvmpipe (*))
|
||||
GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, llvmpipe, softpipe, virgl)
|
||||
GL_ARB_texture_filter_anisotropic DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, softpipe (*), llvmpipe (*))
|
||||
GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, radeonsi, llvmpipe, softpipe, virgl)
|
||||
GL_KHR_no_error DONE (all drivers)
|
||||
|
||||
(*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting
|
||||
@@ -311,7 +311,6 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
|
||||
GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, virgl)
|
||||
GL_ARB_shader_stencil_export DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr, virgl)
|
||||
GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi)
|
||||
GL_ARB_shading_language_include DONE
|
||||
GL_ARB_sparse_buffer DONE (radeonsi/CIK+)
|
||||
GL_ARB_sparse_texture not started
|
||||
GL_ARB_sparse_texture2 not started
|
||||
@@ -348,54 +347,54 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
|
||||
GLX_ARB_robustness_share_group_isolation not started
|
||||
|
||||
GL_EXT_direct_state_access subfeatures (in the spec order):
|
||||
GL 1.1: Client commands DONE
|
||||
GL 1.0-1.3: Matrix and transpose matrix commands DONE
|
||||
GL 1.1-1.2: Texture commands DONE
|
||||
GL 1.2: 3D texture commands DONE
|
||||
GL 1.2.1: Multitexture commands DONE
|
||||
GL 1.2.1-3.0: Indexed texture commands DONE
|
||||
GL 1.2.1-3.0: Indexed generic queries DONE
|
||||
GL 1.2.1: EnableIndexed.. Get*Indexed DONE
|
||||
GL_ARB_vertex_program DONE
|
||||
GL 1.3: Compressed texture and multitexture commands DONE
|
||||
GL 1.5: Buffer commands DONE
|
||||
GL 2.0-2.1: Uniform and uniform matrix commands DONE
|
||||
GL_EXT_texture_buffer_object DONE
|
||||
GL_EXT_texture_integer DONE
|
||||
GL_EXT_gpu_shader4 DONE
|
||||
GL_EXT_gpu_program_parameters DONE
|
||||
GL 1.1: Client commands not started
|
||||
GL 1.0-1.3: Matrix and transpose matrix commands not started
|
||||
GL 1.1-1.2: Texture commands not started
|
||||
GL 1.2: 3D texture commands not started
|
||||
GL 1.2.1: Multitexture commands not started
|
||||
GL 1.2.1-3.0: Indexed texture commands not started
|
||||
GL 1.2.1-3.0: Indexed generic queries not started
|
||||
GL 1.2.1: EnableIndexed.. Get*Indexed not started
|
||||
GL_ARB_vertex_program not started
|
||||
GL 1.3: Compressed texture and multitexture commands not started
|
||||
GL 1.5: Buffer commands not started
|
||||
GL 2.0-2.1: Uniform and uniform matrix commands not started
|
||||
GL_EXT_texture_buffer_object not started
|
||||
GL_EXT_texture_integer not started
|
||||
GL_EXT_gpu_shader4 not started
|
||||
GL_EXT_gpu_program_parameters not started
|
||||
GL_NV_gpu_program4 n/a
|
||||
GL_NV_framebuffer_multisample_coverage n/a
|
||||
GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap DONE
|
||||
GL 3.0: CopyBuffer command DONE
|
||||
GL_EXT_geometry_shader4 commands (expose in GL 3.2) DONE
|
||||
GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap not started
|
||||
GL 3.0: CopyBuffer command not started
|
||||
GL_EXT_geometry_shader4 commands (expose in GL 3.2) not started
|
||||
GL_NV_explicit_multisample n/a
|
||||
GL 3.0: Vertex array/attrib/query/map commands DONE
|
||||
Matrix GL tokens DONE
|
||||
GL 3.0: Vertex array/attrib/query/map commands not started
|
||||
Matrix GL tokens not started
|
||||
|
||||
GL_EXT_direct_state_access additions from other extensions (complete list):
|
||||
GL_AMD_framebuffer_sample_positions n/a
|
||||
GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile)
|
||||
GL_ARB_bindless_texture DONE
|
||||
GL_ARB_buffer_storage DONE
|
||||
GL_ARB_clear_buffer_object DONE
|
||||
GL_ARB_framebuffer_no_attachments DONE
|
||||
GL_ARB_gpu_shader_fp64 DONE
|
||||
GL_ARB_instanced_arrays DONE
|
||||
GL_ARB_internalformat_query2 DONE
|
||||
GL_AMD_gpu_shader_int64 not started
|
||||
GL_ARB_bindless_texture not started
|
||||
GL_ARB_buffer_storage not started
|
||||
GL_ARB_clear_buffer_object not started
|
||||
GL_ARB_framebuffer_no_attachments not started
|
||||
GL_ARB_gpu_shader_fp64 not started
|
||||
GL_ARB_instanced_arrays not started
|
||||
GL_ARB_internalformat_query2 not started
|
||||
GL_ARB_sparse_texture n/a
|
||||
GL_ARB_sparse_buffer DONE
|
||||
GL_ARB_texture_buffer_range DONE
|
||||
GL_ARB_texture_storage DONE
|
||||
GL_ARB_texture_storage_multisample DONE
|
||||
GL_ARB_vertex_attrib_64bit DONE
|
||||
GL_ARB_vertex_attrib_binding DONE
|
||||
GL_EXT_buffer_storage DONE
|
||||
GL_EXT_external_buffer n/a
|
||||
GL_ARB_sparse_buffer not started
|
||||
GL_ARB_texture_buffer_range not started
|
||||
GL_ARB_texture_storage not started
|
||||
GL_ARB_texture_storage_multisample not started
|
||||
GL_ARB_vertex_attrib_64bit not started
|
||||
GL_ARB_vertex_attrib_binding not started
|
||||
GL_EXT_buffer_storage not started
|
||||
GL_EXT_external_buffer not started
|
||||
GL_EXT_separate_shader_objects n/a
|
||||
GL_EXT_sparse_texture n/a
|
||||
GL_EXT_texture_storage n/a
|
||||
GL_EXT_vertex_attrib_64bit DONE
|
||||
GL_EXT_vertex_attrib_64bit not started
|
||||
GL_EXT_EGL_image_storage n/a
|
||||
GL_NV_bindless_texture n/a
|
||||
GL_NV_gpu_shader5 n/a
|
||||
@@ -409,6 +408,7 @@ we DO NOT WANT implementations of these extensions for Mesa.
|
||||
|
||||
GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders
|
||||
GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program
|
||||
GL_ARB_shading_language_include Not interesting
|
||||
GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program
|
||||
GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program
|
||||
|
||||
@@ -467,13 +467,13 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, radv)
|
||||
VK_KHR_shader_atomic_int64 DONE (anv, radv)
|
||||
VK_KHR_shader_float16_int8 DONE (anv/gen8+, radv)
|
||||
VK_KHR_shader_float_controls DONE (anv/gen8+, radv)
|
||||
VK_KHR_shader_subgroup_extended_types DONE (radv)
|
||||
VK_KHR_shader_float_controls DONE (anv/gen8+)
|
||||
VK_KHR_shader_subgroup_extended_types not started
|
||||
VK_KHR_shared_presentable_image not started
|
||||
VK_KHR_surface DONE (anv, radv)
|
||||
VK_KHR_surface_protected_capabilities DONE (anv, radv)
|
||||
VK_KHR_swapchain DONE (anv, radv)
|
||||
VK_KHR_swapchain_mutable_format DONE (anv, radv)
|
||||
VK_KHR_swapchain_mutable_format not started
|
||||
VK_KHR_uniform_buffer_standard_layout DONE (anv, radv)
|
||||
VK_KHR_vulkan_memory_model not started
|
||||
VK_KHR_wayland_surface DONE (anv, radv)
|
||||
|
@@ -16,8 +16,7 @@
|
||||
|
||||
<h1>News</h1>
|
||||
|
||||
<h2>January 28, 2020</h2><p><a href="relnotes/19.3.3.html">Mesa 19.3.3</a> is released. This is a bug fix release.</p><h2>January 9, 2020</h2><p><a href="relnotes/19.3.2.html">Mesa 19.3.2</a> is released. This is a bug fix release.</p><h2>December 18, 2019</h2><p><a href="relnotes/19.2.8.html">Mesa 19.2.8</a> is released. This is a bug fix release.</p><h2>December 18, 2019</h2><p><a href="relnotes/19.3.1.html">Mesa 19.3.1</a> is released. This is a bug fix release.</p><h2>December 12, 2019</h2><p><a href="relnotes/19.3.0.html">Mesa 19.3.0</a> is released. This is a new development release. See the release notes for mor information about this release.</p><h2>December 4, 2019</h2><p><a href="relnotes/19.2.7.html">Mesa 19.2.7</a> is released. This is a bug fix release.</p><h2>November 21, 2019</h2><p><a href="relnotes/19.2.6.html">Mesa 19.2.6</a> is released. This is a bug fix release.</p><h2>November 20, 2019</h2><p><a href="relnotes/19.2.5.html">Mesa 19.2.5</a> is released. This is a bug fix release.</p><h2>November 13, 2019</h2><p><a href="relnotes/19.2.4.html">Mesa 19.2.4</a> is released. This is an emergency bugfix release, all users of 19.2.3 are recomended to upgrade immediately.</p>
|
||||
<h2>November 6, 2019</h2><p><a href="relnotes/19.2.3.html">Mesa 19.2.3</a> is released. This is a bug fix release.</p><h2>October 24, 2019</h2><p><a href="relnotes/19.2.2.html">Mesa 19.2.2</a> is released. This is a bug fix release.</p><h2>October 21, 2019</h2>
|
||||
<h2>October 24, 2019</h2><p><a href="relnotes/19.2.2.html">Mesa 19.2.2</a> is released. This is a bug fix release.</p><h2>October 21, 2019</h2>
|
||||
<p>
|
||||
<a href="relnotes/19.1.8.html">Mesa 19.1.8</a> is released.
|
||||
This is a bug-fix release.
|
||||
|
@@ -109,7 +109,6 @@ the packaging tool used by your distro.
|
||||
|
||||
<p><strong>Meson >= 0.46.0 is required</strong></p>
|
||||
|
||||
|
||||
<p>
|
||||
Meson is the latest build system in mesa, it is currently able to build for
|
||||
*nix systems like Linux and BSD, macOS, Haiku, and Windows.
|
||||
@@ -136,6 +135,18 @@ Please read the <a href="meson.html">detailed meson instructions</a>
|
||||
for more information
|
||||
</p>
|
||||
|
||||
<p>On windows you can also use the visual studio backend</p>
|
||||
<pre>
|
||||
meson builddir --backend=vs
|
||||
cd builddir
|
||||
msbuild mesa.sln /m
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Please read the <a href="meson.html">detailed meson instructions</a>
|
||||
for more information
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2 id="scons">3. Building with SCons (Windows/Linux)</h2>
|
||||
|
@@ -357,46 +357,46 @@ features.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Texture mapping:
|
||||
<ul>
|
||||
<li>glAreTexturesResident
|
||||
<li>glBindTexture
|
||||
<li>glCopyTexImage1D
|
||||
<li>glCopyTexImage2D
|
||||
<li>glCopyTexSubImage1D
|
||||
<li>glCopyTexSubImage2D
|
||||
<li>glDeleteTextures
|
||||
<li>glGenTextures
|
||||
<li>glIsTexture
|
||||
<li>glPrioritizeTextures
|
||||
<li>glTexSubImage1D
|
||||
<li>glTexSubImage2D
|
||||
</ul>
|
||||
<ul>
|
||||
<li>glAreTexturesResident
|
||||
<li>glBindTexture
|
||||
<li>glCopyTexImage1D
|
||||
<li>glCopyTexImage2D
|
||||
<li>glCopyTexSubImage1D
|
||||
<li>glCopyTexSubImage2D
|
||||
<li>glDeleteTextures
|
||||
<li>glGenTextures
|
||||
<li>glIsTexture
|
||||
<li>glPrioritizeTextures
|
||||
<li>glTexSubImage1D
|
||||
<li>glTexSubImage2D
|
||||
</ul>
|
||||
<li>Vertex Arrays:
|
||||
<ul>
|
||||
<li>glArrayElement
|
||||
<li>glColorPointer
|
||||
<li>glDrawElements
|
||||
<li>glEdgeFlagPointer
|
||||
<li>glIndexPointer
|
||||
<li>glInterleavedArrays
|
||||
<li>glNormalPointer
|
||||
<li>glTexCoordPointer
|
||||
<li>glVertexPointer
|
||||
</ul>
|
||||
<ul>
|
||||
<li>glArrayElement
|
||||
<li>glColorPointer
|
||||
<li>glDrawElements
|
||||
<li>glEdgeFlagPointer
|
||||
<li>glIndexPointer
|
||||
<li>glInterleavedArrays
|
||||
<li>glNormalPointer
|
||||
<li>glTexCoordPointer
|
||||
<li>glVertexPointer
|
||||
</ul>
|
||||
<li>Client state management:
|
||||
<ul>
|
||||
<li>glDisableClientState
|
||||
<li>glEnableClientState
|
||||
<li>glPopClientAttrib
|
||||
<li>glPushClientAttrib
|
||||
</ul>
|
||||
<ul>
|
||||
<li>glDisableClientState
|
||||
<li>glEnableClientState
|
||||
<li>glPopClientAttrib
|
||||
<li>glPushClientAttrib
|
||||
</ul>
|
||||
<li>Misc:
|
||||
<ul>
|
||||
<li>glGetPointer
|
||||
<li>glIndexub
|
||||
<li>glIndexubv
|
||||
<li>glPolygonOffset
|
||||
</ul>
|
||||
<ul>
|
||||
<li>glGetPointer
|
||||
<li>glIndexub
|
||||
<li>glIndexubv
|
||||
<li>glPolygonOffset
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
<p>
|
||||
Mesa is a 3-D graphics library with an API which is very similar to
|
||||
that of <a href="https://www.opengl.org/">OpenGL</a><sup>[<a href="#trademark">1</a>]</sup>.
|
||||
that of <a href="https://www.opengl.org/">OpenGL</a>.*
|
||||
To the extent that Mesa utilizes the OpenGL command syntax or state
|
||||
machine, it is being used with authorization from <a
|
||||
href="https://www.sgi.com/">Silicon Graphics,
|
||||
@@ -38,8 +38,8 @@ library</em>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a id="trademark">[1]</a>: OpenGL is a trademark of <a
|
||||
href="https://www.sgi.com/">Silicon Graphics Incorporated</a>.
|
||||
* OpenGL is a trademark of <a href="https://www.sgi.com/"
|
||||
>Silicon Graphics Incorporated</a>.
|
||||
</p>
|
||||
|
||||
|
||||
|
@@ -56,7 +56,7 @@ It's the fastest software rasterizer for Mesa.
|
||||
For Linux, on a recent Debian based distribution do:
|
||||
</p>
|
||||
<pre>
|
||||
aptitude install llvm-dev
|
||||
aptitude install llvm-dev
|
||||
</pre>
|
||||
<p>
|
||||
If you want development snapshot builds of LLVM for Debian and derived
|
||||
@@ -68,7 +68,7 @@ aptitude install llvm-dev
|
||||
For a RPM-based distribution do:
|
||||
</p>
|
||||
<pre>
|
||||
yum install llvm-devel
|
||||
yum install llvm-devel
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -120,15 +120,15 @@ yum install llvm-devel
|
||||
To build everything on Linux invoke scons as:
|
||||
|
||||
<pre>
|
||||
scons build=debug libgl-xlib
|
||||
scons build=debug libgl-xlib
|
||||
</pre>
|
||||
|
||||
Alternatively, you can build it with meson with:
|
||||
<pre>
|
||||
mkdir build
|
||||
cd build
|
||||
meson -D glx=gallium-xlib -D gallium-drivers=swrast
|
||||
ninja
|
||||
mkdir build
|
||||
cd build
|
||||
meson -D glx=gallium-xlib -D gallium-drivers=swrast
|
||||
ninja
|
||||
</pre>
|
||||
|
||||
but the rest of these instructions assume that scons is used.
|
||||
@@ -136,7 +136,7 @@ but the rest of these instructions assume that scons is used.
|
||||
For Windows the procedure is similar except the target:
|
||||
|
||||
<pre>
|
||||
scons platform=windows build=debug libgl-gdi
|
||||
scons platform=windows build=debug libgl-gdi
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -148,11 +148,11 @@ scons platform=windows build=debug libgl-gdi
|
||||
<code>libGL.so</code> into</p>
|
||||
|
||||
<pre>
|
||||
build/foo/gallium/targets/libgl-xlib/libGL.so
|
||||
build/foo/gallium/targets/libgl-xlib/libGL.so
|
||||
</pre>
|
||||
or
|
||||
<pre>
|
||||
lib/gallium/libGL.so
|
||||
lib/gallium/libGL.so
|
||||
</pre>
|
||||
|
||||
<p>To use it set the <code>LD_LIBRARY_PATH</code> environment variable
|
||||
@@ -206,7 +206,7 @@ any OpenGL drivers):
|
||||
To profile llvmpipe you should build as
|
||||
</p>
|
||||
<pre>
|
||||
scons build=profile <same-as-before>
|
||||
scons build=profile <same-as-before>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -221,8 +221,8 @@ On Linux, it is possible to have symbol resolution of JIT code with <a href="htt
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
perf record -g /my/application
|
||||
perf report
|
||||
perf record -g /my/application
|
||||
perf report
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -255,7 +255,7 @@ Some of these tests can output results and benchmarks to a tab-separated file
|
||||
for later analysis, e.g.:
|
||||
</p>
|
||||
<pre>
|
||||
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
|
||||
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
|
||||
</pre>
|
||||
|
||||
|
||||
|
@@ -34,20 +34,6 @@ iframe {
|
||||
float: left;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
figure pre {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
figure figcaption {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.content {
|
||||
position: absolute;
|
||||
left: 20em;
|
||||
|
@@ -68,15 +68,15 @@ The easiest way to install everything you need is with <a
|
||||
href="https://chocolatey.org/">chocolatey</a>.
|
||||
</p>
|
||||
<pre>
|
||||
choco install python3 winflexbison pkgconfiglite
|
||||
choco install python3 winflexbison pkgconfiglite
|
||||
</pre>
|
||||
<p>You can even use chocolatey to install mingw and ninja (ninja can be used with MSVC as well)</p>
|
||||
<pre>
|
||||
choco install ninja mingw
|
||||
choco install ninja mingw
|
||||
</pre>
|
||||
<p>Then install meson using pip</p>
|
||||
<pre>
|
||||
py -3 -m pip install meson mako
|
||||
py -3 -m pip install meson mako
|
||||
</pre>
|
||||
|
||||
You may need to add the python3 scripts directory to your path for meson.
|
||||
@@ -203,7 +203,10 @@ or greater. Older versions always use the microsoft compiler.
|
||||
|
||||
<h2 id="advanced">3. Advanced Usage</h2>
|
||||
|
||||
<h3>Installation Location</h3>
|
||||
<dl>
|
||||
|
||||
<dt>Installation Location</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Meson default to installing libGL.so in your system's main lib/ directory
|
||||
and DRI drivers to a dri/ subdirectory.
|
||||
@@ -225,8 +228,10 @@ to run/test the driver.
|
||||
<p>
|
||||
Meson also honors <code>DESTDIR</code> for installs.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
<h3>Compiler Options</h3>
|
||||
<dt>Compiler Options</dt>
|
||||
<dd>
|
||||
<p>Meson supports the common CFLAGS, CXXFLAGS, etc. environment
|
||||
variables but their use is discouraged because of the many caveats
|
||||
in using them.
|
||||
@@ -242,9 +247,11 @@ for C++ sources:
|
||||
<pre>
|
||||
meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
|
||||
</pre>
|
||||
</dd>
|
||||
|
||||
|
||||
<h3>Compiler Specification</h3>
|
||||
<dt>Compiler Specification</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Meson supports the standard CC and CXX environment variables for
|
||||
changing the default compiler. Note that Meson does not allow
|
||||
@@ -267,12 +274,14 @@ The default compilers depends on your operating system. Meson supports most of
|
||||
the popular compilers, a complete list is available
|
||||
<a href="https://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
<h3>LLVM</h3>
|
||||
<p>Meson includes upstream logic to wrap llvm-config using its standard
|
||||
<dt>LLVM</dt>
|
||||
<dd><p>Meson includes upstream logic to wrap llvm-config using its standard
|
||||
dependency interface.
|
||||
</p>
|
||||
<p>
|
||||
</p></dd>
|
||||
|
||||
<dd><p>
|
||||
As of meson 0.51.0 meson can use cmake to find llvm (the cmake finder
|
||||
was added in meson 0.49.0, but LLVM cannot be found until 0.51) Due to the
|
||||
way LLVM implements its cmake finder it will only find static libraries, it
|
||||
@@ -283,10 +292,11 @@ which points to the root of an alternative installation (the prefix). For
|
||||
example:
|
||||
</p>
|
||||
<pre>
|
||||
meson builddir -Dcmake_module_path=/home/user/mycmake/prefix
|
||||
meson builddir -Dcmake_module_path=/home/user/mycmake/prefix
|
||||
</pre>
|
||||
</dd>
|
||||
|
||||
<p>
|
||||
<dd><p>
|
||||
As of meson 0.49.0 meson also has the concept of a
|
||||
<a href="https://mesonbuild.com/Native-environments.html">"native file"</a>,
|
||||
these files provide information about the native build environment (as opposed
|
||||
@@ -296,17 +306,18 @@ find llvm-config:
|
||||
|
||||
custom-llvm.ini
|
||||
<pre>
|
||||
[binaries]
|
||||
llvm-config = '/usr/local/bin/llvm/llvm-config'
|
||||
[binaries]
|
||||
llvm-config = '/usr/local/bin/llvm/llvm-config'
|
||||
</pre>
|
||||
|
||||
Then configure meson:
|
||||
|
||||
<pre>
|
||||
meson builddir/ --native-file custom-llvm.ini
|
||||
meson builddir/ --native-file custom-llvm.ini
|
||||
</pre>
|
||||
</dd>
|
||||
|
||||
<p>
|
||||
<dd><p>
|
||||
Meson < 0.49 doesn't support native files, so to specify a custom
|
||||
<code>llvm-config</code> you need to modify your <code>$PATH</code> (or
|
||||
<code>%PATH%</code> on windows), which will be searched for
|
||||
@@ -316,8 +327,9 @@ and <code>llvm-config-<i>$version</i></code>:
|
||||
<pre>
|
||||
PATH=/path/to/folder/with/llvm-config:$PATH meson build
|
||||
</pre>
|
||||
</dd>
|
||||
|
||||
<p>
|
||||
<dd><p>
|
||||
For selecting llvm-config for cross compiling a
|
||||
<a href="https://mesonbuild.com/Cross-compilation.html#defining-the-environment">"cross file"</a>
|
||||
should be used. It uses the same format as the native file above:
|
||||
@@ -325,22 +337,23 @@ should be used. It uses the same format as the native file above:
|
||||
|
||||
<p>cross-llvm.ini</p>
|
||||
<pre>
|
||||
[binaries]
|
||||
...
|
||||
llvm-config = '/usr/lib/llvm-config-32'
|
||||
cmake = '/usr/bin/cmake-for-my-arch'
|
||||
[binaries]
|
||||
...
|
||||
llvm-config = '/usr/lib/llvm-config-32'
|
||||
cmake = '/usr/bin/cmake-for-my-arch'
|
||||
</pre>
|
||||
|
||||
<p>Obviously, only cmake or llvm-config is required.</p>
|
||||
|
||||
<p>Then configure meson:</p>
|
||||
<pre>
|
||||
meson builddir/ --cross-file cross-llvm.ini
|
||||
meson builddir/ --cross-file cross-llvm.ini
|
||||
</pre>
|
||||
|
||||
See the <a href="#cross-compilation">Cross Compilation</a> section for more information.
|
||||
</dd>
|
||||
|
||||
<p>On windows (and in other cases), using llvm-config or cmake may be
|
||||
<dd><p>On windows (and in other cases), using llvm-config or cmake may be
|
||||
either undesirable or impossible. Meson's solution for this is a
|
||||
<a href="https://mesonbuild.com/Wrap-dependency-system-manual.html">wrap</a>, in
|
||||
this case a "binary wrap". Follow the steps below:</p>
|
||||
@@ -405,16 +418,18 @@ irbuilder_h = files('include/llvm/IR/IRBuilder.h')
|
||||
workarounds for the wrong version of LLVM might be used resulting in build
|
||||
failures.</p>
|
||||
|
||||
<h3><code>PKG_CONFIG_PATH</code></h3>
|
||||
<p>The
|
||||
</dd>
|
||||
<dt><code>PKG_CONFIG_PATH</code></dt>
|
||||
<dd><p>The
|
||||
<code>pkg-config</code> utility is a hard requirement for configuring and
|
||||
building Mesa on Unix-like systems. It is used to search for external libraries
|
||||
on the system. This environment variable is used to control the search path for
|
||||
<code>pkg-config</code>. For instance, setting
|
||||
<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for package
|
||||
metadata in <code>/usr/X11R6</code> before the standard directories.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Options</h3>
|
||||
<p>
|
||||
One of the oddities of meson is that some options are different when passed to
|
||||
the <code>meson</code> than to <code>meson configure</code>. These options are
|
||||
|
@@ -41,7 +41,8 @@ will be in constant rotation.
|
||||
<p>
|
||||
The way the release schedule works is explained
|
||||
<a href="releasing.html#schedule" target="_parent">here</a>.
|
||||
</p>
|
||||
</p
|
||||
>
|
||||
<p>
|
||||
Take a look <a href="submittingpatches.html#criteria" target="_parent">here</a>
|
||||
if you'd like to nominate a patch in the next stable release.
|
||||
@@ -59,48 +60,46 @@ if you'd like to nominate a patch in the next stable release.
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="3">19.3</td>
|
||||
<td>2020-02-05</td>
|
||||
<td>19.3.4</td>
|
||||
<td rowspan="3">19.2</td>
|
||||
<td>2019-11-06</td>
|
||||
<td>19.2.3</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-02-12</td>
|
||||
<td>19.3.5</td>
|
||||
<td>2019-11-20</td>
|
||||
<td>19.2.4</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-02-26</td>
|
||||
<td>19.3.6</td>
|
||||
<td>2019-12-04</td>
|
||||
<td>19.2.5</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td>Last planned 19.3 release</td>
|
||||
<td>Last planned 19.2.x release</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="4">20.0</td>
|
||||
<td>2020-01-29</td>
|
||||
<td>20.0.0-rc1</td>
|
||||
<td rowspan="4">19.3</td>
|
||||
<td>2019-10-30</td>
|
||||
<td>19.3.0-rc1</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td/>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-02-05</td>
|
||||
<td>20.0.0-rc2</td>
|
||||
<td>2019-11-06</td>
|
||||
<td>19.3.0-rc2</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td/>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-02-12</td>
|
||||
<td>20.0.0-rc3</td>
|
||||
<td>2019-11-13</td>
|
||||
<td>19.3.0-rc3</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td/>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-02-19</td>
|
||||
<td>20.0.0-rc4</td>
|
||||
<td>2019-11-20</td>
|
||||
<td>19.3.0-rc4</td>
|
||||
<td>Dylan Baker</td>
|
||||
<td>Or 20.0.0 final</td>
|
||||
<td>Last planned RC/Final release</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -46,10 +46,10 @@ while the latter have a non-zero one.
|
||||
For example:
|
||||
</p>
|
||||
<pre>
|
||||
Mesa 10.1.0 - 10.1 branch, feature
|
||||
Mesa 10.1.4 - 10.1 branch, bugfix
|
||||
Mesa 12.0.0 - 12.0 branch, feature
|
||||
Mesa 12.0.2 - 12.0 branch, bugfix
|
||||
Mesa 10.1.0 - 10.1 branch, feature
|
||||
Mesa 10.1.4 - 10.1 branch, bugfix
|
||||
Mesa 12.0.0 - 12.0 branch, feature
|
||||
Mesa 12.0.2 - 12.0 branch, bugfix
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -183,27 +183,27 @@ This should be noted in the <a href="#prerelease">pre-announce</a> email.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git show b10859ec41d09c57663a258f43fe57c12332698e
|
||||
git show b10859ec41d09c57663a258f43fe57c12332698e
|
||||
|
||||
commit b10859ec41d09c57663a258f43fe57c12332698e
|
||||
Author: Jonas Pfeil <pfeiljonas@gmx.de>
|
||||
Date: Wed Mar 1 18:11:10 2017 +0100
|
||||
commit b10859ec41d09c57663a258f43fe57c12332698e
|
||||
Author: Jonas Pfeil <pfeiljonas@gmx.de>
|
||||
Date: Wed Mar 1 18:11:10 2017 +0100
|
||||
|
||||
ralloc: Make sure ralloc() allocations match malloc()'s alignment.
|
||||
ralloc: Make sure ralloc() allocations match malloc()'s alignment.
|
||||
|
||||
The header of ralloc needs to be aligned, because the compiler assumes
|
||||
...
|
||||
The header of ralloc needs to be aligned, because the compiler assumes
|
||||
...
|
||||
|
||||
(cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14)
|
||||
(cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14)
|
||||
|
||||
Squashed with commit:
|
||||
Squashed with commit:
|
||||
|
||||
ralloc: don't leave out the alignment factor
|
||||
ralloc: don't leave out the alignment factor
|
||||
|
||||
Experimentation shows that without alignment factor gcc and clang choose
|
||||
...
|
||||
Experimentation shows that without alignment factor gcc and clang choose
|
||||
...
|
||||
|
||||
(cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126)
|
||||
(cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126)
|
||||
</pre>
|
||||
|
||||
<h2>Regression/functionality testing</h2>
|
||||
@@ -236,8 +236,8 @@ A live branch, which contains the currently merge/rejected patches is available
|
||||
in the main repository under <code>staging/X.Y</code>. For example:
|
||||
</p>
|
||||
<pre>
|
||||
staging/18.1 - WIP branch for the 18.1 series
|
||||
staging/18.2 - WIP branch for the 18.2 series
|
||||
staging/18.1 - WIP branch for the 18.1 series
|
||||
staging/18.2 - WIP branch for the 18.2 series
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -271,15 +271,15 @@ Check if the version number is going to remain as, alternatively
|
||||
To setup the branchpoint:
|
||||
</p>
|
||||
<pre>
|
||||
git checkout master # make sure we're in master first
|
||||
git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
|
||||
git checkout -b X.Y
|
||||
git checkout master
|
||||
$EDITOR VERSION # bump the version number
|
||||
git commit -as
|
||||
cp docs/relnotes/{X.Y,X.Y+1}.html # copy/create relnotes template
|
||||
git commit -as
|
||||
git push origin X.Y-branchpoint X.Y
|
||||
git checkout master # make sure we're in master first
|
||||
git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
|
||||
git checkout -b X.Y
|
||||
git checkout master
|
||||
$EDITOR VERSION # bump the version number
|
||||
git commit -as
|
||||
cp docs/relnotes/{X.Y,X.Y+1}.html # copy/create relnotes template
|
||||
git commit -as
|
||||
git push origin X.Y-branchpoint X.Y
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -482,38 +482,38 @@ So we do a quick 'touch test'
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
|
||||
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
|
||||
__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
|
||||
test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
|
||||
export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
|
||||
export LIBGL_DEBUG=verbose
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
export GALLIUM_DRIVER=softpipe
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
# Smoke test DOTA2
|
||||
unset LD_LIBRARY_PATH
|
||||
test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld
|
||||
unset LIBGL_DRIVERS_PATH
|
||||
unset LIBGL_DEBUG
|
||||
unset LIBGL_ALWAYS_SOFTWARE
|
||||
unset GALLIUM_DRIVER
|
||||
export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
|
||||
steam steam://rungameid/570 -vconsole -vulkan
|
||||
unset VK_ICD_FILENAMES
|
||||
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
|
||||
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
|
||||
__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
|
||||
test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
|
||||
export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
|
||||
export LIBGL_DEBUG=verbose
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
export GALLIUM_DRIVER=softpipe
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
# Smoke test DOTA2
|
||||
unset LD_LIBRARY_PATH
|
||||
test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld
|
||||
unset LIBGL_DRIVERS_PATH
|
||||
unset LIBGL_DEBUG
|
||||
unset LIBGL_ALWAYS_SOFTWARE
|
||||
unset GALLIUM_DRIVER
|
||||
export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
|
||||
steam steam://rungameid/570 -vconsole -vulkan
|
||||
unset VK_ICD_FILENAMES
|
||||
</pre>
|
||||
|
||||
<h3>Create release notes for the new release</h3>
|
||||
@@ -538,7 +538,7 @@ Commit these changes and push the branch.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git push origin HEAD
|
||||
git push origin HEAD
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -549,9 +549,9 @@ Start the release process.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
# For the dist/distcheck, you may want to specify which LLVM to use:
|
||||
# export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
|
||||
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
|
||||
# For the dist/distcheck, you may want to specify which LLVM to use:
|
||||
# export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
|
||||
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -572,8 +572,8 @@ Something like the following steps will do the trick:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git cherry-pick -x X.Y~1
|
||||
git cherry-pick -x X.Y
|
||||
git cherry-pick -x X.Y~1
|
||||
git cherry-pick -x X.Y
|
||||
</pre>
|
||||
|
||||
<p>Then run the <code>./bin/post_verison.py X.Y.Z</code>, where X.Y.Z is the
|
||||
@@ -582,8 +582,8 @@ docs/index.html. Remove docs/release-calendar.html. Then commit and push:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git commit -as -m "docs: update calendar, add news item and link release notes for X.Y.Z"
|
||||
git push origin master X.Y
|
||||
git commit -as -m "docs: update calendar, add news item and link release notes for X.Y.Z"
|
||||
git push origin master X.Y
|
||||
</pre>
|
||||
|
||||
|
||||
|
@@ -21,7 +21,7 @@ The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="relnotes/19.3.3.html">19.3.3 release notes</a></li><li><a href="relnotes/19.3.2.html">19.3.2 release notes</a></li><li><a href="relnotes/19.2.8.html">19.2.8 release notes</a></li><li><a href="relnotes/19.3.1.html">19.3.1 release notes</a></li><li><a href="relnotes/19.3.0.html">19.3.0 release notes</a></li><li><a href="relnotes/19.2.7.html">19.2.7 release notes</a></li><li><a href="relnotes/19.2.6.html">19.2.6 release notes</a></li><li><a href="relnotes/19.2.5.html">19.2.5 release notes</a></li><li><a href="relnotes/19.2.4.html">19.2.4 release notes</a></li><li><a href="relnotes/19.2.3.html">19.2.3 release notes</a></li><li><a href="relnotes/19.2.2.html">19.2.2 release notes</a></li><li><a href="relnotes/19.1.8.html">19.1.8 release notes</a>
|
||||
<li><a href="relnotes/19.2.2.html">19.2.2 release notes</a></li><li><a href="relnotes/19.1.8.html">19.1.8 release notes</a>
|
||||
</li><li><a href="relnotes/19.2.1.html">19.2.1 release notes</a></li><li><a href="relnotes/19.2.0.html">19.2.0 release notes</a>
|
||||
</li><li><a href="relnotes/19.1.7.html">19.1.7 release notes</a>
|
||||
</li><li><a href="relnotes/19.1.6.html">19.1.6 release notes</a>
|
||||
|
@@ -1,146 +0,0 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.3 Release Notes / 2019-11-06</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.3 is a bug fix release which fixes bugs found since the 19.2.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.3 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.3 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
5ee6e42504fe41dcc9a6eba26982656a675b2550a640946f463927ed7f1c5047 mesa-19.2.3.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>19.2.2 fails mesa:util / timespec test on x86</li>
|
||||
<li>Objects leaving trails in Firefox with antialias and preserveDrawingBuffer in three.js WebGLRednerer with mesa 19.2</li>
|
||||
<li>glLinkProgram crash when using gcc-9 -O3 -flto due to use of uninitialised value</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Bas Nieuwenhuizen (4):</p>
|
||||
<li> radv: Fix timeout handling in syncobj wait.</li>
|
||||
<li> radv: Remove _mesa_locale_init/fini calls.</li>
|
||||
<li> turnip: Remove _mesa_locale_init/fini calls.</li>
|
||||
<li> anv: Remove _mesa_locale_init/fini calls.</li>
|
||||
<p></p>
|
||||
<p>Caio Marcelo de Oliveira Filho (1):</p>
|
||||
<li> anv: Fix output of INTEL_DEBUG=bat for chained batches</li>
|
||||
<p></p>
|
||||
<p>Danylo Piliaiev (1):</p>
|
||||
<li> glsl: Initialize all fields of ir_variable in constructor</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (11):</p>
|
||||
<li> bin/gen_release_notes.py: fix conditional of bugfix</li>
|
||||
<li> bin/gen_release_notes.py: strip '#' from gitlab bugs</li>
|
||||
<li> bin/gen_release_notes.py: Return "None" if there are no new features</li>
|
||||
<li> bin/post_version.py: Pass version as an argument</li>
|
||||
<li> bin/post_version.py: white space fixes</li>
|
||||
<li> bin/post_release.py: Add .html to hrefs</li>
|
||||
<li> bin/gen_release_notes.py: html escape all external data</li>
|
||||
<li> bin/gen_release_notes.py: Add a warning if new features are introduced in a point release</li>
|
||||
<li> cherry-ignore: update for 19.2.3 cycle</li>
|
||||
<li> nir: correct use of identity check in python</li>
|
||||
<li> meson: Add dep_glvnd to egl deps when building with glvnd</li>
|
||||
<p></p>
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<li> nv50/ir: mark STORE destination inputs as used</li>
|
||||
<p></p>
|
||||
<p>Illia Iorin (1):</p>
|
||||
<li> Revert "mesa/main: Fix multisample texture initialize"</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<li> anv: Fix a potential BO handle leak</li>
|
||||
<li> anv/tests: Zero-initialize instances</li>
|
||||
<p></p>
|
||||
<p>Jon Turney (2):</p>
|
||||
<li> rbug: Fix use of alloca() without #include "c99_alloca.h"</li>
|
||||
<li> Fix timespec_from_nsec test for 32-bit time_t</li>
|
||||
<p></p>
|
||||
<p>Jonathan Marek (1):</p>
|
||||
<li> etnaviv: fix depth bias</li>
|
||||
<p></p>
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<li> iris: Fix "Force Zero RTA Index Enable" setting again</li>
|
||||
<p></p>
|
||||
<p>Lionel Landwerlin (2):</p>
|
||||
<li> anv: fix unwind of vkCreateDevice fail</li>
|
||||
<li> mesa: check draw buffer completeness on glClearBufferfi/glClearBufferiv</li>
|
||||
<p></p>
|
||||
<p>Marek Olšák (1):</p>
|
||||
<li> util/u_queue: skip util_queue_finish if num_threads is 0</li>
|
||||
<p></p>
|
||||
<p>Nanley Chery (5):</p>
|
||||
<li> anv: Properly allocate aux-tracking space for CCS_E</li>
|
||||
<li> intel/blorp: Disable depth testing for slow depth clears</li>
|
||||
<li> iris: Clear ::has_hiz when disabling aux</li>
|
||||
<li> iris: Don't leak the resource for unsupported modifier</li>
|
||||
<li> iris: Disallow incomplete resource creation</li>
|
||||
<p></p>
|
||||
<p>Paulo Zanoni (1):</p>
|
||||
<li> intel/compiler: remove the operand restriction for src1 on GLK</li>
|
||||
<p></p>
|
||||
<p>Pierre-Eric Pelloux-Prayer (1):</p>
|
||||
<li> mesa: enable msaa in clear_with_quad if needed</li>
|
||||
<p></p>
|
||||
<p>Sagar Ghuge (1):</p>
|
||||
<li> intel/blorp: Assign correct view while clearing depth stencil</li>
|
||||
<p></p>
|
||||
<p>Samuel Pitoiset (4):</p>
|
||||
<li> radv: do not create meta pipelines with 16 samples</li>
|
||||
<li> radv: do not emit rbplus if attachments are undefined</li>
|
||||
<li> radv/gfx10: fix 3D images</li>
|
||||
<li> radv: fix vkUpdateDescriptorSets with inline uniform blocks</li>
|
||||
<p></p>
|
||||
<p>Tapani Pälli (1):</p>
|
||||
<li> i965: setup sized internalformat for MESA_FORMAT_R10G10B10A2_UNORM</li>
|
||||
<p></p>
|
||||
<p>Thomas Hellstrom (2):</p>
|
||||
<li> svga: Fix banded DMA upload unmap</li>
|
||||
<li> winsys/svga: Limit the maximum DMA hardware buffer size</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,65 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.4 Release Notes / 2019-11-13</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.4 is an emergency bug fix release to fix on ciritcal bug in 19.2.3.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.4 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.4 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
09000a0f7dbbd82e193b81a8f1bf0c118eab7ca975c0329181968596e548e30f mesa-19.2.4.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Dirt Rally: Menu system doesn't show up with Mesa 19.2.3</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Lionel Landwerlin (1):</p>
|
||||
<li> mesa: check framebuffer completeness only after state update</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,115 +0,0 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.5 Release Notes / 2019-11-20</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.5 is a bug fix release which fixes bugs found since the 19.2.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.5 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.5 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
3d010a366b28d10bdd71e32091d8684baf1522e6466c5c5703667091b2108c8b mesa-19.2.5.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>HSW. Tropico 6 and SuperTuxKart have shadows flickering</li>
|
||||
<li>glxgears segfaults on POWER / Xvnc</li>
|
||||
<li>Cannot start Civ6 with AMD GPU on Linux</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Ben Crocker (1):</p>
|
||||
<li> llvmpipe: use ppc64le/ppc64 Large code model for JIT-compiled shaders</li>
|
||||
<p></p>
|
||||
<p>Brian Paul (1):</p>
|
||||
<li> Call shmget() with permission 0600 instead of 0777</li>
|
||||
<p></p>
|
||||
<p>Caio Marcelo de Oliveira Filho (1):</p>
|
||||
<li> spirv: Don't leak GS initialization to other stages</li>
|
||||
<p></p>
|
||||
<p>Danylo Piliaiev (1):</p>
|
||||
<li> i965: Unify CC_STATE and BLEND_STATE atoms on Haswell as a workaround</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (2):</p>
|
||||
<li> docs: Add SHA256 sum for for 19.2.4</li>
|
||||
<li> cherry-ignore: Update for 19.2.4 cycle</li>
|
||||
<p></p>
|
||||
<p>Eric Engestrom (1):</p>
|
||||
<li> egl: fix _EGL_NATIVE_PLATFORM fallback</li>
|
||||
<p></p>
|
||||
<p>Ian Romanick (2):</p>
|
||||
<li> nir/algebraic: Add the ability to mark a replacement as exact</li>
|
||||
<li> nir/algebraic: Mark other comparison exact when removing a == a</li>
|
||||
<p></p>
|
||||
<p>Illia Iorin (1):</p>
|
||||
<li> mesa/main: Ignore filter state for MS texture completeness</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<li> anv: Stop bounds-checking pushed UBOs</li>
|
||||
<p></p>
|
||||
<p>Lepton Wu (1):</p>
|
||||
<li> gallium: dri2: Use index as plane number.</li>
|
||||
<p></p>
|
||||
<p>Lionel Landwerlin (3):</p>
|
||||
<li> anv: invalidate file descriptor of semaphore sync fd at vkQueueSubmit</li>
|
||||
<li> anv: remove list items on batch fini</li>
|
||||
<li> anv/wsi: signal the semaphore in the acquireNextImage</li>
|
||||
<p></p>
|
||||
<p>Marek Olšák (3):</p>
|
||||
<li> st/mesa: fix Sanctuary and Tropics by disabling ARB_gpu_shader5 for them</li>
|
||||
<li> tgsi_to_nir: fix masked out image loads</li>
|
||||
<li> tgsi_to_nir: handle PIPE_FORMAT_NONE in image opcodes</li>
|
||||
<p></p>
|
||||
<p>Paulo Zanoni (1):</p>
|
||||
<li> intel/compiler: fix nir_op_{i,u}*32 on ICL</li>
|
||||
<p></p>
|
||||
<p>Pierre-Eric Pelloux-Prayer (3):</p>
|
||||
<li> radeonsi: disable sdma for gfx10</li>
|
||||
<li> radeonsi: tell the shader disk cache what IR is used</li>
|
||||
<li> radeonsi: fix shader disk cache key</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,87 +0,0 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.6 Release Notes / 2019-11-21</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.6 is a bug fix release which fixes bugs found since the 19.2.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.6 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.6 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
9d7b24fa60c82db34788196450042a55ce6cb2d70c7a8d5c31401619b6907797 mesa-19.2.6.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>glesv2.pc is not built since fafd20f67dec9f589</li>
|
||||
<li>textureSize(samplerExternalOES, int) missing in desktop mesa 19.1.7 implementation</li>
|
||||
<li>[19.2.5] lp_bld_misc: broken #if PIPE_ARCH_LITTLE_ENDIAN on ppc64l</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Alejandro Piñeiro (1):</p>
|
||||
<li> v3d: adds an extra MOV for any sig.ld*</li>
|
||||
<p></p>
|
||||
<p>Dave Airlie (1):</p>
|
||||
<li> llvmpipe/ppc: fix if/ifdef confusion in backport.</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (2):</p>
|
||||
<li> docs/relnotes/19.2.5: Add SHA256 sum</li>
|
||||
<li> meson: generate .pc files for gles and gles2 with old glvnd</li>
|
||||
<p></p>
|
||||
<p>Eric Engestrom (1):</p>
|
||||
<li> vulkan: delete typo'd header</li>
|
||||
<p></p>
|
||||
<p>Hyunjun Ko (1):</p>
|
||||
<li> freedreno/ir3: fix printing output registers of FS.</li>
|
||||
<p></p>
|
||||
<p>Jose Maria Casanova Crespo (1):</p>
|
||||
<li> v3d: Fix predication with atomic image operations</li>
|
||||
<p></p>
|
||||
<p>Yevhenii Kolesnikov (1):</p>
|
||||
<li> glsl: Enable textureSize for samplerExternalOES</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,96 +0,0 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.7 Release Notes / 2019-12-04</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.7 is a bug fix release which fixes bugs found since the 19.2.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.7 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.7 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
e3799fb7896fd9ed2f90f651fb907b95cdebfbd494968ff116e6bf1be143579e mesa-19.2.7.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>ld.lld: error: duplicate symbol (mesa-19.3.0-rc1)</li>
|
||||
<li>triangle strip clipping with GL_FIRST_VERTEX_CONVENTION causes wrong vertex's attribute to be broadcasted for flat interpolation</li>
|
||||
<li>[bisected][regression][g45,g965,ilk] piglit arb_fragment_program kil failures</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Bas Nieuwenhuizen (2):</p>
|
||||
<li> radv: Allocate cmdbuffer space for buffer marker write.</li>
|
||||
<li> radv: Unify max_descriptor_set_size.</li>
|
||||
<p></p>
|
||||
<p>Boris Brezillon (1):</p>
|
||||
<li> gallium: Fix the ->set_damage_region() implementation</li>
|
||||
<p></p>
|
||||
<p>Ian Romanick (1):</p>
|
||||
<li> intel/fs: Disable conditional discard optimization on Gen4 and Gen5</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<li> anv: Set up SBE_SWIZ properly for gl_Viewport</li>
|
||||
<p></p>
|
||||
<p>Jonathan Gray (2):</p>
|
||||
<li> winsys/amdgpu: avoid double simple_mtx_unlock()</li>
|
||||
<li> i965: update Makefile.sources for perf changes</li>
|
||||
<p></p>
|
||||
<p>Rhys Perry (1):</p>
|
||||
<li> radv: set writes_memory for global memory stores/atomics</li>
|
||||
<p></p>
|
||||
<p>Samuel Pitoiset (3):</p>
|
||||
<li> radv: fix enabling sample shading with SampleID/SamplePosition</li>
|
||||
<li> radv/gfx10: fix implementation of exclusive scans</li>
|
||||
<li> radv: fix compute pipeline keys when optimizations are disabled</li>
|
||||
<p></p>
|
||||
<p>Yevhenii Kolesnikov (1):</p>
|
||||
<li> meson: Fix linkage of libgallium_nine with libgalliumvl</li>
|
||||
<p></p>
|
||||
<p>Zebediah Figura (1):</p>
|
||||
<li> Revert "draw: revert using correct order for prim decomposition."</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,108 +0,0 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.2.8 Release Notes / 2019-12-18</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.2.8 is a bug fix release which fixes bugs found since the 19.2.7 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.8 implements the OpenGL 4.5 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.5. OpenGL
|
||||
4.5 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.2.8 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
cffa8fa755c7422ce014c39ca0b770a092d9e0bbae537ceb2609c106916e5a57 mesa-19.2.8.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>i965/iris: assert when destroy GL context with active query</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Alyssa Rosenzweig (1):</p>
|
||||
<li> gallium/util: Support POLYGON in u_stream_outputs_for_vertices</li>
|
||||
<p></p>
|
||||
<p>Bas Nieuwenhuizen (2):</p>
|
||||
<li> amd/common: Always use addrlib for HTILE tc-compat.</li>
|
||||
<li> amd/common: Fix tcCompatible degradation on Stoney.</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (4):</p>
|
||||
<li> docs: Add SHA256 sums for 19.2.7</li>
|
||||
<li> meson/broadcom: libbroadcom_cle needs expat headers</li>
|
||||
<li> meson/broadcom: libbroadcom_cle also needs zlib</li>
|
||||
<li> cherry-ignore: Update for 19.2.8</li>
|
||||
<p></p>
|
||||
<p>Gert Wollny (1):</p>
|
||||
<li> virgl: Increase the shader transfer buffer by doubling the size</li>
|
||||
<p></p>
|
||||
<p>Iván Briano (1):</p>
|
||||
<li> anv: Export filter_minmax support only when it's really supported</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<li> anv: Re-emit all compute state on pipeline switch</li>
|
||||
<li> anv: Don't leak when set_tiling fails</li>
|
||||
<p></p>
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<li> iris: Default to X-tiling for scanout buffers without modifiers</li>
|
||||
<p></p>
|
||||
<p>Lionel Landwerlin (7):</p>
|
||||
<li> intel/perf: fix invalid hw_id in query results</li>
|
||||
<li> intel/perf: set read buffer len to 0 to identify empty buffer</li>
|
||||
<li> intel/perf: take into account that reports read can be fairly old</li>
|
||||
<li> intel/perf: simplify the processing of OA reports</li>
|
||||
<li> intel/perf: fix improper pointer access</li>
|
||||
<li> anv: fix fence underlying primitive checks</li>
|
||||
<li> mesa: avoid triggering assert in implementation</li>
|
||||
<p></p>
|
||||
<p>Nanley Chery (2):</p>
|
||||
<li> gallium/dri2: Fix creation of multi-planar modifier images</li>
|
||||
<li> gallium: Store the image format in winsys_handle</li>
|
||||
<p></p>
|
||||
<p>Rob Clark (1):</p>
|
||||
<li> nir/lower_clip: Fix incorrect driver loc for clipdist outputs</li>
|
||||
<p></p>
|
||||
<p>Timothy Arceri (1):</p>
|
||||
<li> glsl/nir: iterate the system values list when adding varyings</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
187
docs/relnotes/19.3.4.html
Normal file
187
docs/relnotes/19.3.4.html
Normal file
@@ -0,0 +1,187 @@
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 19.3.4 Release Notes / 2020-02-13</h1>
|
||||
|
||||
<p>
|
||||
Mesa 19.3.4 is a bug fix release which fixes bugs found since the 19.3.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.3.4 implements the OpenGL 4.6 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.6. OpenGL
|
||||
4.6 is <strong>only</strong> available if requested at context creation.
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 19.3.4 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
1da467e6ae2799a517e242462331eafd29ae77d9872f3a845df81f7c308e8fe4 mesa-19.3.4.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
<li>[RADV] GPU hangs while the cutscene plays in the game Assassin's Creed Origins</li>
|
||||
<li>Broken rendering of glxgears on S/390 architecture (64bit, BigEndian)</li>
|
||||
<li>GL_EXT_disjoint_timer_query failing with GL_INVALID_ENUM</li>
|
||||
<li>GL_EXT_disjoint_timer_query failing with GL_INVALID_ENUM</li>
|
||||
<li>OSMesa osmesa_choose_format returns a format not supported by st_new_renderbuffer_fb</li>
|
||||
<li>Using EGL_KHR_surfaceless_context causes spurious "libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering."</li>
|
||||
<li>[Regression] JavaFX unbounded VRAM+RAM usage</li>
|
||||
<li>!3460 broke texsubimage test with piglit on zink+anv</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Bas Nieuwenhuizen (1):</p>
|
||||
<li> radv: Do not set SX DISABLE bits for RB+ with unused surfaces.</li>
|
||||
<p></p>
|
||||
<p>Boris Brezillon (1):</p>
|
||||
<li> panfrost: Fix the damage box clamping logic</li>
|
||||
<p></p>
|
||||
<p>Brian Ho (2):</p>
|
||||
<li> anv: Properly fetch partial results in vkGetQueryPoolResults</li>
|
||||
<li> anv: Handle unavailable queries in vkCmdCopyQueryPoolResults</li>
|
||||
<p></p>
|
||||
<p>Danylo Piliaiev (2):</p>
|
||||
<li> i965: Do not set front_buffer_dirty if there is no front buffer</li>
|
||||
<li> st/mesa: Handle the rest renderbuffer formats from OSMesa</li>
|
||||
<p></p>
|
||||
<p>Drew Davenport (1):</p>
|
||||
<li> radeonsi: Clear uninitialized variable</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (15):</p>
|
||||
<li> docs: Add SHA 256 sums for 19.3.3</li>
|
||||
<li> .pick_status.json: Mark 58c929be0ddbbd9291d0dadbf11538170178e791 as backported</li>
|
||||
<li> .pick_status.json: Mark df34fa14bb872447fed9076e06ffc504d85e2d1c as backported</li>
|
||||
<li> .pick_status.json: Update to 997040e4b8353fe9b71a5e9fde2f933eae09c7a3</li>
|
||||
<li> .pick_status.json: Update to ca6a22305b275b49fbc88b8f4cba2fefb24c2a5d</li>
|
||||
<li> .pick_status.json: Mark 552028c013cc1d49a2b61ebe0fc3a3781a9ba826 as denominated</li>
|
||||
<li> .pick_status.json: Update to f09c466732e4a5b648d7503787777c926dd93c29</li>
|
||||
<li> bin/pick-ui: Add a new maintainer script for picking patches</li>
|
||||
<li> .pick_status.json: Update to b550b7ef3b8d12f533b67b1a03159a127a3ff34a</li>
|
||||
<li> .pick_status.json: Update to 9afdcd64f2c96f3fcc1a28912987f2e8066aa995</li>
|
||||
<li> .pick_status.json: Update to 7eaf21cb6f67adbe0e79b80b4feb8c816a98a720</li>
|
||||
<li> .pick_status.json: Mark ca6a22305b275b49fbc88b8f4cba2fefb24c2a5d as backported</li>
|
||||
<li> .pick_status.json: Update to d8bae10bfe0f487dcaec721743cd51441bcc12f5</li>
|
||||
<li> .pick_status.json: Update to 689817c9dfde9a0852f2b2489cb0fa93ffbcb215</li>
|
||||
<li> .pick_status.json: Update to 23037627359e739c42b194dec54875aefbb9d00b</li>
|
||||
<p></p>
|
||||
<p>Eric Anholt (1):</p>
|
||||
<li> Revert "gallium: Fix big-endian addressing of non-bitmask array formats."</li>
|
||||
<p></p>
|
||||
<p>Florian Will (1):</p>
|
||||
<li> radv/winsys: set IB flags prior to submit in the sysmem path</li>
|
||||
<p></p>
|
||||
<p>Georg Lehmann (3):</p>
|
||||
<li> Correctly wait in the fragment stage until all semaphores are signaled</li>
|
||||
<li> Vulkan Overlay: Don't try to change the image layout to present twice</li>
|
||||
<li> Vulkan overlay: use the corresponding image index for each swapchain</li>
|
||||
<p></p>
|
||||
<p>Hyunjun Ko (1):</p>
|
||||
<li> freedreno/ir3: put the conversion back for half const to the right place.</li>
|
||||
<p></p>
|
||||
<p>Ian Romanick (1):</p>
|
||||
<li> intel/fs: Don't count integer instructions as being possibly coissue</li>
|
||||
<p></p>
|
||||
<p>Jan Vesely (1):</p>
|
||||
<li> clover: Use explicit conversion from llvm::StringRef to std::string</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (6):</p>
|
||||
<li> anv: Insert holes for non-existant XFB varyings</li>
|
||||
<li> anv: Improve BTI change cache flushing</li>
|
||||
<li> anv,iris: Set 3DSTATE_SF::DerefBlockSize to per-poly on Gen12+</li>
|
||||
<li> genxml: Add a new 3DSTATE_SF field on gen12</li>
|
||||
<li> intel/fs: Write the address register with NoMask for MOV_INDIRECT</li>
|
||||
<li> anv/blorp: Use the correct size for vkCmdCopyBufferToImage</li>
|
||||
<p></p>
|
||||
<p>Kenneth Graunke (1):</p>
|
||||
<li> i965: Use brw_batch_references in tex_busy check</li>
|
||||
<p></p>
|
||||
<p>Lionel Landwerlin (1):</p>
|
||||
<li> isl: drop CCS row pitch requirement for linear surfaces</li>
|
||||
<p></p>
|
||||
<p>Marek Olšák (1):</p>
|
||||
<li> radeonsi: fix the DCC MSAA bug workaround</li>
|
||||
<p></p>
|
||||
<p>Marek Vasut (1):</p>
|
||||
<li> etnaviv: Destroy rsc->pending_ctx set in etna_resource_destroy()</li>
|
||||
<p></p>
|
||||
<p>Michel Dänzer (6):</p>
|
||||
<li> winsys/amdgpu: Keep a list of amdgpu_screen_winsyses in amdgpu_winsys</li>
|
||||
<li> winsys/amdgpu: Keep track of retrieved KMS handles using hash tables</li>
|
||||
<li> winsys/amdgpu: Only re-export KMS handles for different DRM FDs</li>
|
||||
<li> util: Add os_same_file_description helper</li>
|
||||
<li> winsys/amdgpu: Re-use amdgpu_screen_winsys when possible</li>
|
||||
<li> winsys/amdgpu: Close KMS handles for other DRM file descriptions</li>
|
||||
<p></p>
|
||||
<p>Neha Bhende (1):</p>
|
||||
<li> svga: fix size of format_conversion_table[]</li>
|
||||
<p></p>
|
||||
<p>Pierre-Eric Pelloux-Prayer (2):</p>
|
||||
<li> radeonsi: disable display DCC</li>
|
||||
<li> radeonsi: stop using the VM_ALWAYS_VALID flag</li>
|
||||
<p></p>
|
||||
<p>Rafael Antognolli (1):</p>
|
||||
<li> intel: Load the driver even if I915_PARAM_REVISION is not found.</li>
|
||||
<p></p>
|
||||
<p>Rhys Perry (6):</p>
|
||||
<li> aco: fix operand to scc when selecting SGPR ufind_msb/ifind_msb</li>
|
||||
<li> aco: ensure predecessors' p_logical_end is in WQM when a p_phi is in WQM</li>
|
||||
<li> aco: run p_wqm instructions in WQM</li>
|
||||
<li> aco: don't consider loop header blocks branch blocks in add_coupling_code</li>
|
||||
<li> aco: don't always add logical edges from continue_break blocks to headers</li>
|
||||
<li> aco: fix target calculation when vgpr spilling introduces sgpr spilling</li>
|
||||
<p></p>
|
||||
<p>Samuel Pitoiset (2):</p>
|
||||
<li> radv: do not allow sparse resources with multi-planar formats</li>
|
||||
<li> nir: do not use De Morgan's Law rules for flt and fge</li>
|
||||
<p></p>
|
||||
<p>Tapani Pälli (2):</p>
|
||||
<li> mapi: add GetInteger64vEXT with EXT_disjoint_timer_query</li>
|
||||
<li> mesa: allow bit queries for EXT_disjoint_timer_query</li>
|
||||
<p></p>
|
||||
<p>Thomas Hellstrom (1):</p>
|
||||
<li> svga: Fix banded DMA upload</li>
|
||||
<p></p>
|
||||
<p>Vasily Khoruzhick (1):</p>
|
||||
<li> lima: ppir: don't delete root ld_tex nodes without successors in current block</li>
|
||||
<p></p>
|
||||
<p>Vinson Lee (1):</p>
|
||||
<li> swr: Fix GCC 4.9 checks.</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -15,13 +15,13 @@
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 20.0.1 Release Notes / 2020-03-05</h1>
|
||||
<h1>Mesa 19.3.5 Release Notes / 2020-03-09</h1>
|
||||
|
||||
<p>
|
||||
Mesa 20.0.1 is a bug fix release which fixes bugs found since the 20.0.0 release.
|
||||
Mesa 19.3.5 is a bug fix release which fixes bugs found since the 19.3.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 20.0.1 implements the OpenGL 4.6 API, but the version reported by
|
||||
Mesa 19.3.5 implements the OpenGL 4.6 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 4.6. OpenGL
|
||||
@@ -29,20 +29,21 @@ Some drivers don't support all the features required in OpenGL 4.6. OpenGL
|
||||
Compatibility contexts may report a lower version depending on each driver.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 20.0.1 implements the Vulkan 1.1 API, but the version reported by
|
||||
Mesa 19.3.5 implements the Vulkan 1.1 API, but the version reported by
|
||||
the apiVersion property of the VkPhysicalDeviceProperties struct
|
||||
depends on the particular driver being used.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksum</h2>
|
||||
<pre>
|
||||
TBD.
|
||||
009895b055b971c82d7a0cd57227d414d323282605946e94e9b308a9cb49c6b6 mesa-19.3.5.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<ul>
|
||||
<li>None</li>
|
||||
</ul>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
@@ -50,71 +51,62 @@ TBD.
|
||||
<ul>
|
||||
<li>V3D/Broadcom (Raspberry Pi 4) - GLES 3.1 - GL_EXT_texture_norm16 advertised, but not usable</li>
|
||||
<li>i965 assertion failure in fallback_rgbx_to_rgba</li>
|
||||
<li>Compute copies do not handle SUBSAMPLED formats</li>
|
||||
<li>drisw crashes on calling NULL putImage on EGL surfaceless platform (pbuffer EGLSurface)</li>
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<p>Andreas Baierl (1):</p>
|
||||
<li> gitlab-ci: lima: Add flaky tests to the skips list</li>
|
||||
<p></p>
|
||||
<p>Andrii Simiklit (1):</p>
|
||||
<li> Revert "glx: convert glx_config_create_list to one big calloc"</li>
|
||||
<p></p>
|
||||
<p>Arcady Goldmints-Orlov (1):</p>
|
||||
<li> spirv: Remove outdated SPIR-V decoration warnings</li>
|
||||
<p></p>
|
||||
<p>Bas Nieuwenhuizen (1):</p>
|
||||
<li> radeonsi: Fix compute copies for subsampled formats.</li>
|
||||
<p></p>
|
||||
<p>Caio Marcelo de Oliveira Filho (1):</p>
|
||||
<li> intel/gen12: Take into account opcode when decoding SWSB</li>
|
||||
<p></p>
|
||||
<p>Chris Wilson (1):</p>
|
||||
<li> iris: Fix import sync-file into syncobj</li>
|
||||
<p></p>
|
||||
<p>Danylo Piliaiev (1):</p>
|
||||
<li> i965: Do not generate D16 B5G6R5_UNORM configs on gen < 8</li>
|
||||
<p></p>
|
||||
<p>Dave Airlie (7):</p>
|
||||
<li> dri: add another get shm variant.</li>
|
||||
<li> glx/drisw: add getImageShm2 path</li>
|
||||
<li> glx/drisw: return false if shmid == -1</li>
|
||||
<li> glx/drisw: fix shm put image fallback</li>
|
||||
<p>Dave Airlie (1):</p>
|
||||
<li> gallivm/tgsi: fix stream id regression</li>
|
||||
<li> gallivm/nir: fix integer divide SIGFPE</li>
|
||||
<li> gallivm/nir: handle mod 0 better.</li>
|
||||
<p></p>
|
||||
<p>Dylan Baker (7):</p>
|
||||
<li> docs: Add release notes for 20.0.0</li>
|
||||
<li> docs: Add SHA256 sum for 19.3.4</li>
|
||||
<li> .pick_status.json: Update to 2a98cf3b2ecea43cea148df7f77d2abadfd1c9db</li>
|
||||
<li> .pick_status.json: Update to 946eacbafb47c8b94d47e7c9d2a8b02fff5a22fa</li>
|
||||
<li> .pick_status.json: Update to bee5c9b0dc13dbae0ccf124124eaccebf7f2a435</li>
|
||||
<li> .pick_status.json: Update to 8291d728dc997e87b4d2e4e451692643a1dba881</li>
|
||||
<li> .pick_status.json: Update to e4baff90812d799d586296fcad992ddcc553c359</li>
|
||||
<li> .pick_status.json: Update to 01496e3d1ea0370af03e6645dbd2b864c2ace94c</li>
|
||||
<li> .pick_status.json: Update to 09323634898ab3efc0150dc7d756bf36b1b89b76</li>
|
||||
<li> .pick_status.json: Update to 3503cb4c28e01b34f3a25546c058150709c22348</li>
|
||||
<li> .pick_status.json: Update to 0ac731b1ff96de46998948aa06081efa5140d50e</li>
|
||||
<p></p>
|
||||
<p>Eric Anholt (3):</p>
|
||||
<li> llvmpipe: Fix real uninitialized use of "atype" for SEMANTIC_FACE</li>
|
||||
<li> turnip: Fix compiler warning about casting a nondispatchable handle.</li>
|
||||
<li> aco: Fix signed-vs-unsigned warning.</li>
|
||||
<p>Eric Engestrom (10):</p>
|
||||
<li> .pick_status.json: Update to 74e4cda64b9d114321216eefe536f80644b0f0fd</li>
|
||||
<li> .pick_status.json: Mark dba71de5c63617677fe44558f995d35fad643413 as denominated</li>
|
||||
<li> .pick_status.json: Mark 5ea23ba659adc05ff75ca7a4c9d1bd01db889ddd as denominated</li>
|
||||
<li> .pick_status.json: Mark 34fd894e42ae1ec9d35bf9c4f05364b03dd4a223 as denominated</li>
|
||||
<li> .pick_status.json: Mark ddd767387f336ed1578f171a2af4ca33c564d7f3 as denominated</li>
|
||||
<li> .pick_status.json: Mark b9773631d3e79e2310ed0eb274b4dd9426205066 as denominated</li>
|
||||
<li> .pick_status.json: Mark 9fea90ad5170dd64376d22a14ac88c392813c96c as denominated</li>
|
||||
<li> bin/gen_release_notes.py: fix commit list command</li>
|
||||
<li> .pick_status.json: Update to 0103f02acb10dcdea23461ba214307a6827a7772</li>
|
||||
<li> gitlab-ci: update template to fix container build issues</li>
|
||||
<p></p>
|
||||
<p>Erik Faye-Lund (1):</p>
|
||||
<p>Erik Faye-Lund (2):</p>
|
||||
<li> util: promote u_debug_memory.c to src/util</li>
|
||||
<li> .pick_status.json: Update to 74e4cda64b9d114321216eefe536f80644b0f0fd</li>
|
||||
<p></p>
|
||||
<p>Ian Romanick (2):</p>
|
||||
<li> nir/search: Use larger type to hold linearized index</li>
|
||||
<p>Francisco Jerez (1):</p>
|
||||
<li> intel/fs/gen12: Fixup/simplify SWSB annotations of SIMD32 scratch writes.</li>
|
||||
<p></p>
|
||||
<p>Ian Romanick (1):</p>
|
||||
<li> intel/fs: Correctly handle multiply of fsign with a source modifier</li>
|
||||
<p></p>
|
||||
<p>James Xiong (1):</p>
|
||||
<li> iris: handle the failure of converting unsupported yuv formats to isl</li>
|
||||
<p></p>
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<li> anv: Always enable the data cache</li>
|
||||
<p></p>
|
||||
<p>Jonathan Marek (1):</p>
|
||||
<li> turnip: fix srgb MRT</li>
|
||||
<p>Jason Ekstrand (3):</p>
|
||||
<li> isl: Set 3DSTATE_DEPTH_BUFFER::Depth correctly for 3D surfaces</li>
|
||||
<li> iris: Don't skip fast depth clears if the color changed</li>
|
||||
<li> anv: Parse VkPhysicalDeviceFeatures2 in CreateDevice</li>
|
||||
<p></p>
|
||||
<p>Jordan Justen (1):</p>
|
||||
<li> intel/compiler: Restrict cs_threads to 64</li>
|
||||
@@ -122,48 +114,53 @@ TBD.
|
||||
<p>Jose Maria Casanova Crespo (1):</p>
|
||||
<li> v3d: Sync on last CS when non-compute stage uses resource written by CS</li>
|
||||
<p></p>
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<li> iris: Make mocs an inline helper in iris_resource.h</li>
|
||||
<li> iris: Fix BLORP vertex buffers to respect ISL MOCS settings</li>
|
||||
<p>Kristian Høgsberg (2):</p>
|
||||
<li> Revert "glsl: Use a simpler formula for tanh"</li>
|
||||
<li> Revert "spirv: Use a simpler and more correct implementaiton of tanh()"</li>
|
||||
<p></p>
|
||||
<p>Marek Olšák (5):</p>
|
||||
<p>Krzysztof Raszkowski (1):</p>
|
||||
<li> gallium/swr: simplify environmental variabled expansion code</li>
|
||||
<p></p>
|
||||
<p>Marek Olšák (3):</p>
|
||||
<li> radeonsi: don't wait for shader compilation to finish when destroying a context</li>
|
||||
<li> mesa: fix immediate mode with tessellation and varying patch vertices</li>
|
||||
<li> util: remove the dependency on kcmp.h</li>
|
||||
<li> tgsi_to_nir: set num_images and num_samplers with holes correctly</li>
|
||||
<li> mesa: call FLUSH_VERTICES before updating CoordReplace</li>
|
||||
<li> mesa: fix incorrect prim.begin/end for glMultiDrawElements</li>
|
||||
<li> Revert "mesa: check for z=0 in _mesa_Vertex3dv()"</li>
|
||||
<p></p>
|
||||
<p>Mathias Fröhlich (2):</p>
|
||||
<p>Mathias Fröhlich (3):</p>
|
||||
<li> egl: Implement getImage/putImage on pbuffer swrast.</li>
|
||||
<li> egl: Fix A2RGB10 platform_{device,surfaceless} PBuffer configs.</li>
|
||||
<li> mesa: Flush vertices before changing the OpenGL state.</li>
|
||||
<p></p>
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<li> st/vdpau: Only call is_video_format_supported hook if needed</li>
|
||||
<p></p>
|
||||
<p>Paulo Zanoni (3):</p>
|
||||
<li> intel: fix the gen 11 compute shader scratch IDs</li>
|
||||
<li> intel: fix the gen 12 compute shader scratch IDs</li>
|
||||
<p>Paulo Zanoni (1):</p>
|
||||
<li> intel/device: bdw_gt1 actually has 6 eus per subslice</li>
|
||||
<p></p>
|
||||
<p>Rafael Antognolli (2):</p>
|
||||
<li> iris: Apply the flushes when switching pipelines.</li>
|
||||
<li> intel/gen12+: Disable mid thread preemption.</li>
|
||||
<p>Peng Huang (1):</p>
|
||||
<li> radeonsi: make si_fence_server_signal flush pipe without work</li>
|
||||
<p></p>
|
||||
<p>Rhys Perry (2):</p>
|
||||
<li> aco: keep track of which events are used in a barrier</li>
|
||||
<li> aco: fix carry-out size for wave32 v_add_co_u32_e64</li>
|
||||
<p>Rafael Antognolli (1):</p>
|
||||
<li> intel/gen12+: Disable mid thread preemption.</li>
|
||||
<p></p>
|
||||
<p>Samuel Pitoiset (3):</p>
|
||||
<li> ac/llvm: fix 64-bit fmed3</li>
|
||||
<li> ac/llvm: fix 16-bit fmed3 on GFX8 and older gens</li>
|
||||
<li> ac/llvm: flush denorms for nir_op_fmed3 on GFX8 and older gens</li>
|
||||
<p></p>
|
||||
<p>Tapani Pälli (4):</p>
|
||||
<p>Tapani Pälli (5):</p>
|
||||
<li> iris: fix aux buf map failure in 32bits app on Android</li>
|
||||
<li> mesa: introduce boolean toggle for EXT_texture_norm16</li>
|
||||
<li> i965: toggle on EXT_texture_norm16</li>
|
||||
<li> mesa/st: toggle EXT_texture_norm16 based on format support</li>
|
||||
<li> mesa/st: fix formats required for EXT_texture_norm16</li>
|
||||
<p></p>
|
||||
<p>Timothy Arceri (1):</p>
|
||||
<li> glsl: fix gl_nir_set_uniform_initializers() for image arrays</li>
|
||||
<p></p>
|
||||
<p>luc (1):</p>
|
||||
<li> zink: confused compilation macro usage for zink in target helpers.</li>
|
||||
<p></p>
|
||||
<p></p>
|
||||
</ul>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -62,7 +62,7 @@ To get the Mesa sources anonymously (read-only):
|
||||
<h2 id="developer">Developer git Access</h2>
|
||||
|
||||
<p>
|
||||
If you wish to become a Mesa developer with gitlab merge privilege, please
|
||||
If you wish to become a Mesa developer with git-write privilege, please
|
||||
follow this procedure:
|
||||
</p>
|
||||
<ol>
|
||||
@@ -70,30 +70,41 @@ follow this procedure:
|
||||
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a>
|
||||
mailing list.
|
||||
<li>Start contributing to the project by
|
||||
<a href="submittingpatches.html" target="_parent">submitting patches</a>. Specifically,
|
||||
<a href="submittingpatches.html" target="_parent">submitting patches</a> to
|
||||
the mesa-dev list. Specifically,
|
||||
<ul>
|
||||
<li>Use <a href="https://gitlab.freedesktop.org/">gitlab</a> to create your merge requests.
|
||||
<li>Use <code>git send-mail</code> to post your patches to mesa-dev.
|
||||
<li>Wait for someone to review the code and give you a <code>Reviewed-by</code>
|
||||
statement.
|
||||
<li>You'll have to rely on another Mesa developer to push your initial patches
|
||||
after they've been reviewed.
|
||||
</ul>
|
||||
<li>After you've demonstrated the ability to write good code and have had
|
||||
a dozen or so patches accepted, a maintainer may use their discretion to give
|
||||
you access to merge your own code.
|
||||
a dozen or so patches accepted you can apply for an account.
|
||||
<li>Occasionally, but rarely, someone may be given a git account sooner, but
|
||||
only if they're being supervised by another Mesa developer at the same
|
||||
organization and planning to work in a limited area of the code or on a
|
||||
separate branch.
|
||||
<li>To apply for an account, follow
|
||||
<a href="https://www.freedesktop.org/wiki/AccountRequests">these directions</a>.
|
||||
It's also appreciated if you briefly describe what you intend to do (work
|
||||
on a particular driver, add a new extension, etc.) in the bugzilla record.
|
||||
</ol>
|
||||
|
||||
<h2>Pushing code to your gitlab account via HTTPS</h2>
|
||||
<p>
|
||||
Once your account is established, you can update your push url to use SSH:
|
||||
<pre>
|
||||
git remote set-url --push <em>origin</em> git@gitlab.freedesktop.org:mesa/mesa.git
|
||||
</pre>
|
||||
|
||||
<p>Useful for people behind strict proxies</p>
|
||||
|
||||
You can use <a href="https://gitlab.freedesktop.org/profile/personal_access_tokens">personal access tokens</a>
|
||||
to push over HTTPS if ssh will does not suit your needs.
|
||||
You can also use <a href="https://gitlab.freedesktop.org/profile/personal_access_tokens">personal access tokens</a>
|
||||
to push over HTTPS instead (useful for people behind strict proxies).
|
||||
In this case, create a token, and put it in the url as shown here:
|
||||
<pre>
|
||||
git remote set-url --push <em>origin</em> https://<em>USER</em>:<em>TOKEN</em>@gitlab.freedesktop.org/your~user~name/mesa.git
|
||||
git remote set-url --push <em>origin</em> https://<em>USER</em>:<em>TOKEN</em>@gitlab.freedesktop.org/mesa/mesa.git
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Windows Users</h2>
|
||||
|
||||
<p>
|
||||
@@ -102,7 +113,7 @@ using git on Windows</a> you'll want to enable automatic CR/LF conversion in
|
||||
your local copy of the repository:
|
||||
</p>
|
||||
<pre>
|
||||
git config --global core.autocrlf true
|
||||
git config --global core.autocrlf true
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -141,8 +152,8 @@ If you try to do a pull by just saying<code> git pull </code>
|
||||
and git complains that you have not specified a
|
||||
branch, try:
|
||||
<pre>
|
||||
git config branch.master.remote origin
|
||||
git config branch.master.merge master
|
||||
git config branch.master.remote origin
|
||||
git config branch.master.merge master
|
||||
</pre>
|
||||
<p>
|
||||
Otherwise, you have to say<code> git pull origin master </code>
|
||||
@@ -161,7 +172,7 @@ unnecessary and distracting branch in master.
|
||||
<p>
|
||||
If it has been awhile since you've done the initial clone, try
|
||||
<pre>
|
||||
git pull
|
||||
git pull
|
||||
</pre>
|
||||
<p>
|
||||
to get the latest files before you start working.
|
||||
@@ -169,8 +180,8 @@ to get the latest files before you start working.
|
||||
<p>
|
||||
Make your changes and use
|
||||
<pre>
|
||||
git add <files to commit>
|
||||
git commit
|
||||
git add <files to commit>
|
||||
git commit
|
||||
</pre>
|
||||
<p>
|
||||
to get your changes ready to push back into the fd.o repository.
|
||||
@@ -185,8 +196,8 @@ where you did your last pull and merging it to a point after the other changes.
|
||||
<p>
|
||||
To avoid this,
|
||||
<pre>
|
||||
git pull --rebase
|
||||
git push
|
||||
git pull --rebase
|
||||
git push
|
||||
</pre>
|
||||
<p>
|
||||
If you are familiar with CVS or similar system, this is similar to doing a
|
||||
@@ -207,8 +218,8 @@ those before doing the push.
|
||||
<p>
|
||||
If you want the rebase action to be the default action, then
|
||||
<pre>
|
||||
git config branch.master.rebase true
|
||||
git config --global branch.autosetuprebase=always
|
||||
git config branch.master.rebase true
|
||||
git config --global branch.autosetuprebase=always
|
||||
</pre>
|
||||
<p>
|
||||
See <a href="https://www.eecs.harvard.edu/~cduan/technical/git/">Understanding Git Conceptually</a> for a fairly clear explanation about all of this.
|
||||
|
@@ -162,11 +162,11 @@ These issues will be addressed/resolved in the future.
|
||||
<li>Use the built-in library functions whenever possible.
|
||||
For example, instead of writing this:
|
||||
<pre>
|
||||
float x = 1.0 / sqrt(y);
|
||||
float x = 1.0 / sqrt(y);
|
||||
</pre>
|
||||
Write this:
|
||||
<pre>
|
||||
float x = inversesqrt(y);
|
||||
float x = inversesqrt(y);
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
|
@@ -49,15 +49,15 @@ each directory.
|
||||
<li><b>main</b> - The core Mesa code (mainly state management)
|
||||
<li><b>drivers</b> - Mesa drivers (not used with Gallium)
|
||||
<ul>
|
||||
<li><b>common</b> - code which may be shared by all drivers
|
||||
<li><b>common</b> - code which may be shared by all drivers
|
||||
<li><b>dri</b> - Direct Rendering Infrastructure drivers
|
||||
<ul>
|
||||
<li><b>common</b> - code shared by all DRI drivers
|
||||
<li><b>i915</b> - driver for Intel i915/i945
|
||||
<li><b>i965</b> - driver for Intel i965
|
||||
<li><b>radeon</b> - driver for ATI R100
|
||||
<li><b>r200</b> - driver for ATI R200
|
||||
<li>XXX more
|
||||
<li><b>common</b> - code shared by all DRI drivers
|
||||
<li><b>i915</b> - driver for Intel i915/i945
|
||||
<li><b>i965</b> - driver for Intel i965
|
||||
<li><b>radeon</b> - driver for ATI R100
|
||||
<li><b>r200</b> - driver for ATI R200
|
||||
<li>XXX more
|
||||
</ul>
|
||||
<li><b>x11</b> - Xlib-based software driver
|
||||
<li><b>osmesa</b> - off-screen software driver
|
||||
|
@@ -42,8 +42,10 @@ components.
|
||||
<code>git bisect</code>.)
|
||||
<li>Patches should be properly <a href="#formatting">formatted</a>.
|
||||
<li>Patches should be sufficiently <a href="#testing">tested</a> before submitting.
|
||||
<li>Patches should be <a href="#submit">submitted</a> via a merge request for
|
||||
<a href="#reviewing">review</a>.
|
||||
<li>Patches should be <a href="#submit">submitted</a>
|
||||
to <a href="#mailing">mesa-dev</a> or with
|
||||
a <a href="#merge-request">merge request</a>
|
||||
for <a href="#reviewing">review</a>.
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -56,27 +58,27 @@ log uses 4 spaces of indentation (4 + 75 < 80).
|
||||
<li>The first line should be a short, concise summary of the change prefixed
|
||||
with a module name. Examples:
|
||||
<pre>
|
||||
mesa: Add support for querying GL_VERTEX_ATTRIB_ARRAY_LONG
|
||||
mesa: Add support for querying GL_VERTEX_ATTRIB_ARRAY_LONG
|
||||
|
||||
gallium: add PIPE_CAP_DEVICE_RESET_STATUS_QUERY
|
||||
gallium: add PIPE_CAP_DEVICE_RESET_STATUS_QUERY
|
||||
|
||||
i965: Fix missing type in local variable declaration.
|
||||
i965: Fix missing type in local variable declaration.
|
||||
</pre>
|
||||
<li>Subsequent patch comments should describe the change in more detail,
|
||||
if needed. For example:
|
||||
<pre>
|
||||
i965: Remove end-of-thread SEND alignment code.
|
||||
i965: Remove end-of-thread SEND alignment code.
|
||||
|
||||
This was present in Eric's initial implementation of the compaction code
|
||||
for Sandybridge (commit 077d01b6). There is no documentation saying this
|
||||
is necessary, and removing it causes no regressions in piglit on any
|
||||
platform.
|
||||
This was present in Eric's initial implementation of the compaction code
|
||||
for Sandybridge (commit 077d01b6). There is no documentation saying this
|
||||
is necessary, and removing it causes no regressions in piglit on any
|
||||
platform.
|
||||
</pre>
|
||||
<li>A "Signed-off-by:" line is not required, but not discouraged either.
|
||||
<li>If a patch addresses an issue in gitlab, use the Closes: tag
|
||||
For example:
|
||||
<pre>
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1
|
||||
</pre>
|
||||
<p>Prefer the full url to just <code>Closes: #1</code>, since the url makes it
|
||||
easier to get to the bug page from <code>git log</code></p>
|
||||
@@ -85,7 +87,7 @@ easier to get to the bug page from <code>git log</code></p>
|
||||
<li>If a patch addresses a issue introduced with earlier commit, that should be
|
||||
noted in the patch comment. For example:
|
||||
<pre>
|
||||
Fixes: d7b3707c612 "util/disk_cache: use stat() to check if entry is a directory"
|
||||
Fixes: d7b3707c612 "util/disk_cache: use stat() to check if entry is a directory"
|
||||
</pre>
|
||||
<li>You can produce those fixes lines by running
|
||||
<pre>git config --global alias.fixes "show -s --pretty='format:Fixes: %h (\"%s\")'"</pre>
|
||||
@@ -93,29 +95,29 @@ once and then using <pre>git fixes <sha1></pre>
|
||||
<li>If there have been several revisions to a patch during the review
|
||||
process, they should be noted such as in this example:
|
||||
<pre>
|
||||
st/mesa: add ARB_texture_stencil8 support (v4)
|
||||
st/mesa: add ARB_texture_stencil8 support (v4)
|
||||
|
||||
if we support stencil texturing, enable texture_stencil8
|
||||
there is no requirement to support native S8 for this,
|
||||
the texture can be converted to x24s8 fine.
|
||||
if we support stencil texturing, enable texture_stencil8
|
||||
there is no requirement to support native S8 for this,
|
||||
the texture can be converted to x24s8 fine.
|
||||
|
||||
v2: fold fixes from Marek in:
|
||||
a) put S8 last in the list
|
||||
b) fix renderable to always test for d/s renderable
|
||||
fixup the texture case to use a stencil only format
|
||||
for picking the format for the texture view.
|
||||
v3: hit fallback for getteximage
|
||||
v4: put s8 back in front, it shouldn't get picked now (Ilia)
|
||||
v2: fold fixes from Marek in:
|
||||
a) put S8 last in the list
|
||||
b) fix renderable to always test for d/s renderable
|
||||
fixup the texture case to use a stencil only format
|
||||
for picking the format for the texture view.
|
||||
v3: hit fallback for getteximage
|
||||
v4: put s8 back in front, it shouldn't get picked now (Ilia)
|
||||
</pre>
|
||||
<li>If someone tested your patch, document it with a line like this:
|
||||
<pre>
|
||||
Tested-by: Joe Hacker <jhacker@foo.com>
|
||||
Tested-by: Joe Hacker <jhacker@foo.com>
|
||||
</pre>
|
||||
<li>If the patch was reviewed (usually the case) or acked by someone,
|
||||
that should be documented with:
|
||||
<pre>
|
||||
Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
Acked-by: Joe Hacker <jhacker@foo.com>
|
||||
Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
Acked-by: Joe Hacker <jhacker@foo.com>
|
||||
</pre>
|
||||
<li>If sending later revision of a patch, add all the tags - ack, r-b,
|
||||
Cc: mesa-stable and/or other. This provides reviewers with quick feedback if the
|
||||
@@ -159,13 +161,67 @@ replacing <code>"meson test"</code> with whatever other test you want to
|
||||
run.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="submit">Submitting Patches</h2>
|
||||
|
||||
<p>
|
||||
Patches are submitted to the Mesa project via a
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa">GitLab</a> Merge Request.
|
||||
Patches may be submitted to the Mesa project by
|
||||
<a href="#mailing">email</a> or with a
|
||||
GitLab <a href="#merge-request">merge request</a>. To prevent
|
||||
duplicate code review, only use one method to submit your changes.
|
||||
</p>
|
||||
|
||||
<h3 id="mailing">Mailing Patches</h3>
|
||||
|
||||
<p>
|
||||
Patches may be sent to the mesa-dev mailing list for review:
|
||||
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">
|
||||
mesa-dev@lists.freedesktop.org</a>.
|
||||
When submitting a patch make sure to use
|
||||
<a href="https://git-scm.com/docs/git-send-email">git send-email</a>
|
||||
rather than attaching patches to emails. Sending patches as
|
||||
attachments prevents people from being able to provide in-line review
|
||||
comments.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When submitting follow-up patches you can use --in-reply-to to make v2, v3,
|
||||
etc patches show up as replies to the originals. This usually works well
|
||||
when you're sending out updates to individual patches (as opposed to
|
||||
re-sending the whole series). Using --in-reply-to makes
|
||||
it harder for reviewers to accidentally review old patches.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When submitting follow-up patches you should also login to
|
||||
<a href="https://patchwork.freedesktop.org">patchwork</a> and change the
|
||||
state of your old patches to Superseded.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some companies' mail server automatically append a legal disclaimer,
|
||||
usually containing something along the lines of "The information in this
|
||||
email is confidential" and "distribution is strictly prohibited".
|
||||
</p>
|
||||
<p>
|
||||
These legal notices prevent us from being able to accept your patch,
|
||||
rendering the whole process pointless. Please make sure these are
|
||||
disabled before sending your patches. (Note that you may need to contact
|
||||
your email administrator for this.)
|
||||
</p>
|
||||
|
||||
<h3 id="merge-request">GitLab Merge Requests</h3>
|
||||
|
||||
<p>
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa">GitLab</a> Merge
|
||||
Requests (MR) can also be used to submit patches for Mesa.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the MR may have interest for most of the Mesa community, you can
|
||||
send an email to the mesa-dev email list including a link to the MR.
|
||||
Don't send the patch to mesa-dev, just the MR link.
|
||||
</p>
|
||||
<p>
|
||||
Add labels to your MR to help reviewers find it. For example:
|
||||
</p>
|
||||
@@ -214,22 +270,23 @@ Patches are submitted to the Mesa project via a
|
||||
<h2 id="reviewing">Reviewing Patches</h2>
|
||||
|
||||
<p>
|
||||
To participate in code review, you can monitor the GitLab Mesa
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests">Merge
|
||||
Requests</a> page, and/or register for notifications in your gitlab
|
||||
settings.
|
||||
To participate in code review, you should monitor the
|
||||
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">
|
||||
mesa-dev</a> email list and the GitLab
|
||||
Mesa <a href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests">Merge
|
||||
Requests</a> page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When you've reviewed a patch, please be unambiguous about your review.
|
||||
That is, state either
|
||||
When you've reviewed a patch on the mailing list, please be unambiguous
|
||||
about your review. That is, state either
|
||||
</p>
|
||||
<pre>
|
||||
Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
</pre>
|
||||
or
|
||||
<pre>
|
||||
Acked-by: Joe Hacker <jhacker@foo.com>
|
||||
Acked-by: Joe Hacker <jhacker@foo.com>
|
||||
</pre>
|
||||
<p>
|
||||
Rather than saying just "LGTM" or "Seems OK".
|
||||
@@ -239,7 +296,7 @@ Rather than saying just "LGTM" or "Seems OK".
|
||||
If small changes are suggested, it's OK to say something like:
|
||||
</p>
|
||||
<pre>
|
||||
With the above fixes, Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
With the above fixes, Reviewed-by: Joe Hacker <jhacker@foo.com>
|
||||
</pre>
|
||||
<p>
|
||||
which tells the patch author that the patch can be committed, as long
|
||||
@@ -256,7 +313,7 @@ When providing a Reviewed-by, Acked-by, or Tested-by tag in a gitlab MR,
|
||||
enclose the tag in backticks:
|
||||
</p>
|
||||
<pre>
|
||||
`Reviewed-by: Joe Hacker <jhacker@example.com>`</pre>
|
||||
`Reviewed-by: Joe Hacker <jhacker@example.com>`</pre>
|
||||
<p>
|
||||
This is the markdown format for literal, and will prevent gitlab from hiding
|
||||
the < and > symbols.
|
||||
@@ -405,23 +462,23 @@ within the commit summary.
|
||||
<li><code>git rebase -i ...</code> is your friend. Don't be afraid to use it.
|
||||
<li>Apply a fixup to commit FOO.
|
||||
<pre>
|
||||
git add ...
|
||||
git commit --fixup=FOO
|
||||
git rebase -i --autosquash ...
|
||||
git add ...
|
||||
git commit --fixup=FOO
|
||||
git rebase -i --autosquash ...
|
||||
</pre>
|
||||
<li>Test for build breakage between patches e.g last 8 commits.
|
||||
<pre>
|
||||
git rebase -i --exec="ninja -C build/" HEAD~8
|
||||
git rebase -i --exec="ninja -C build/" HEAD~8
|
||||
</pre>
|
||||
<li>Sets the default mailing address for your repo.
|
||||
<pre>
|
||||
git config --local sendemail.to mesa-dev@lists.freedesktop.org
|
||||
git config --local sendemail.to mesa-dev@lists.freedesktop.org
|
||||
</pre>
|
||||
<li> Add version to subject line of patch series in this case for the last 8
|
||||
commits before sending.
|
||||
<pre>
|
||||
git send-email --subject-prefix="PATCH v4" HEAD~8
|
||||
git send-email -v4 @~8 # shorter version, inherited from git format-patch
|
||||
git send-email --subject-prefix="PATCH v4" HEAD~8
|
||||
git send-email -v4 @~8 # shorter version, inherited from git format-patch
|
||||
</pre>
|
||||
</ul>
|
||||
|
||||
|
@@ -111,18 +111,18 @@ On the host, all you're doing is running VMware
|
||||
<li>Xserver version at least 1.7
|
||||
<li>Ubuntu: For ubuntu you need to install a number of build dependencies.
|
||||
<pre>
|
||||
sudo apt-get install git-core
|
||||
sudo apt-get install ninja-build meson libpthread-stubs0-dev
|
||||
sudo apt-get install xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev
|
||||
sudo apt-get install libxcb-glx0-dev libxrender-dev
|
||||
sudo apt-get build-dep libgl1-mesa-dri libxcb-glx0-dev
|
||||
sudo apt-get install git-core
|
||||
sudo apt-get install ninja-build meson libpthread-stubs0-dev
|
||||
sudo apt-get install xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev
|
||||
sudo apt-get install libxcb-glx0-dev libxrender-dev
|
||||
sudo apt-get build-dep libgl1-mesa-dri libxcb-glx0-dev
|
||||
</pre>
|
||||
<li>Fedora: For Fedora you also need to install a number of build dependencies.
|
||||
<pre>
|
||||
sudo yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
|
||||
sudo yum install libXrender-devel.i686
|
||||
sudo yum install ninja-build meson gcc expat-devel kernel-devel git-core
|
||||
sudo yum install makedepend flex bison
|
||||
sudo yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
|
||||
sudo yum install libXrender-devel.i686
|
||||
sudo yum install ninja-build meson gcc expat-devel kernel-devel git-core
|
||||
sudo yum install makedepend flex bison
|
||||
</pre>
|
||||
</ul>
|
||||
|
||||
@@ -137,27 +137,27 @@ Meson should tell you what's missing.
|
||||
|
||||
Begin by saving your current directory location:
|
||||
<pre>
|
||||
export TOP=$PWD
|
||||
export TOP=$PWD
|
||||
</pre>
|
||||
|
||||
<ul>
|
||||
<li>Mesa/Gallium master branch. This code is used to build libGL, and the direct rendering svga driver for libGL, vmwgfx_dri.so, and the X acceleration library libxatracker.so.x.x.x.
|
||||
<pre>
|
||||
git clone https://gitlab.freedesktop.org/mesa/mesa.git
|
||||
git clone https://gitlab.freedesktop.org/mesa/mesa.git
|
||||
</pre>
|
||||
<li>VMware Linux guest kernel module. Note that this repo contains the complete DRM and TTM code. The vmware-specific driver is really only the files prefixed with vmwgfx.
|
||||
<pre>
|
||||
git clone git://anongit.freedesktop.org/git/mesa/vmwgfx
|
||||
git clone git://anongit.freedesktop.org/git/mesa/vmwgfx
|
||||
</pre>
|
||||
<li>libdrm, a user-space library that interfaces with drm.
|
||||
Most distros ship with this but it's safest to install a newer version.
|
||||
To get the latest code from git:
|
||||
<pre>
|
||||
git clone https://gitlab.freedesktop.org/mesa/drm.git
|
||||
git clone https://gitlab.freedesktop.org/mesa/drm.git
|
||||
</pre>
|
||||
<li>xf86-video-vmware. The chainloading driver, vmware_drv.so, the legacy driver vmwlegacy_drv.so, and the vmwgfx driver vmwgfx_drv.so.
|
||||
<pre>
|
||||
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware
|
||||
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware
|
||||
</pre>
|
||||
</ul>
|
||||
|
||||
@@ -172,29 +172,29 @@ the LIBDIR environment variable accordingly.
|
||||
</p>
|
||||
For 32-bit Ubuntu systems:
|
||||
<pre>
|
||||
export LIBDIR=/usr/lib/i386-linux-gnu
|
||||
export LIBDIR=/usr/lib/i386-linux-gnu
|
||||
</pre>
|
||||
For 64-bit Ubuntu systems:
|
||||
<pre>
|
||||
export LIBDIR=/usr/lib/x86_64-linux-gnu
|
||||
export LIBDIR=/usr/lib/x86_64-linux-gnu
|
||||
</pre>
|
||||
For 32-bit Fedora systems:
|
||||
<pre>
|
||||
export LIBDIR=/usr/lib
|
||||
export LIBDIR=/usr/lib
|
||||
</pre>
|
||||
For 64-bit Fedora systems:
|
||||
<pre>
|
||||
export LIBDIR=/usr/lib64
|
||||
export LIBDIR=/usr/lib64
|
||||
</pre>
|
||||
|
||||
</li>
|
||||
|
||||
<li>Build libdrm:
|
||||
<pre>
|
||||
cd $TOP/drm
|
||||
meson builddir --prefix=/usr --libdir=${LIBDIR}
|
||||
ninja -C builddir
|
||||
sudo ninja -C builddir install
|
||||
cd $TOP/drm
|
||||
meson builddir --prefix=/usr --libdir=${LIBDIR}
|
||||
ninja -C builddir
|
||||
sudo ninja -C builddir install
|
||||
</pre>
|
||||
<li>
|
||||
<p>Build Mesa and the vmwgfx_dri.so driver, the vmwgfx_drv.so xorg driver, the X acceleration library libxatracker.
|
||||
@@ -206,10 +206,10 @@ copy and video acceleration:
|
||||
|
||||
The following configure options doesn't build the EGL system.
|
||||
<pre>
|
||||
cd $TOP/mesa
|
||||
meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Ddri-drivers=swrast -Dgallium-xa=true -Ddri3=false
|
||||
ninja -C builddir
|
||||
sudo ninja -C builddir install
|
||||
cd $TOP/mesa
|
||||
meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Ddri-drivers=swrast -Dgallium-xa=true -Ddri3=false
|
||||
ninja -C builddir
|
||||
sudo ninja -C builddir install
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
@@ -221,34 +221,34 @@ if they're not installed in your system. You should be told what's missing.
|
||||
building and replacing the current Xorg driver.
|
||||
First check if your system is 32- or 64-bit.
|
||||
<pre>
|
||||
cd $TOP/xf86-video-vmware
|
||||
./autogen.sh --prefix=/usr --libdir=${LIBDIR}
|
||||
make
|
||||
sudo make install
|
||||
cd $TOP/xf86-video-vmware
|
||||
./autogen.sh --prefix=/usr --libdir=${LIBDIR}
|
||||
make
|
||||
sudo make install
|
||||
</pre>
|
||||
|
||||
<li>vmwgfx kernel module. First make sure that any old version of this kernel module is removed from the system by issuing
|
||||
<pre>
|
||||
sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx.ko*
|
||||
sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx.ko*
|
||||
</pre>
|
||||
Build and install:
|
||||
<pre>
|
||||
cd $TOP/vmwgfx
|
||||
make
|
||||
sudo make install
|
||||
sudo depmod -a
|
||||
cd $TOP/vmwgfx
|
||||
make
|
||||
sudo make install
|
||||
sudo depmod -a
|
||||
</pre>
|
||||
If you're using a Ubuntu OS:
|
||||
<pre>
|
||||
sudo update-initramfs -u
|
||||
sudo update-initramfs -u
|
||||
</pre>
|
||||
If you're using a Fedora OS:
|
||||
<pre>
|
||||
sudo dracut --force
|
||||
sudo dracut --force
|
||||
</pre>
|
||||
Add 'vmwgfx' to the /etc/modules file:
|
||||
<pre>
|
||||
echo vmwgfx | sudo tee -a /etc/modules
|
||||
echo vmwgfx | sudo tee -a /etc/modules
|
||||
</pre>
|
||||
|
||||
Note: some distros put DRM kernel drivers in different directories.
|
||||
@@ -259,7 +259,7 @@ For example, sometimes vmwgfx.ko might be found in
|
||||
After installing vmwgfx.ko you might want to run the following command to
|
||||
check that the new kernel module is in the expected place:
|
||||
<pre>
|
||||
find /lib/modules -name vmwgfx.ko -exec ls -l '{}' \;
|
||||
find /lib/modules -name vmwgfx.ko -exec ls -l '{}' \;
|
||||
</pre>
|
||||
If you see the kernel module listed in more than one place, you may need to
|
||||
move things around.
|
||||
@@ -271,10 +271,10 @@ reinstall the vmwgfx.ko module again.
|
||||
|
||||
Now try to load the kernel module by issuing
|
||||
<pre>
|
||||
sudo modprobe vmwgfx</pre>
|
||||
sudo modprobe vmwgfx</pre>
|
||||
Then type
|
||||
<pre>
|
||||
dmesg</pre>
|
||||
dmesg</pre>
|
||||
to watch the debug output. It should contain a number of lines prefixed with "[vmwgfx]".
|
||||
|
||||
<p>
|
||||
@@ -301,7 +301,7 @@ OpenGL version string: 2.1 Mesa 8.0
|
||||
<p>
|
||||
If you don't see this, try setting this environment variable:
|
||||
<pre>
|
||||
export LIBGL_DEBUG=verbose</pre>
|
||||
export LIBGL_DEBUG=verbose</pre>
|
||||
<p>
|
||||
then rerun glxinfo and examine the output for error messages.
|
||||
</p>
|
||||
|
@@ -64,12 +64,12 @@ The format of accepted values is: <code>visual-class depth</code>
|
||||
Here are some examples:
|
||||
</p>
|
||||
<pre>
|
||||
using csh:
|
||||
using csh:
|
||||
% setenv MESA_RGB_VISUAL "TrueColor 8" // 8-bit TrueColor
|
||||
% setenv MESA_CI_VISUAL "PseudoColor 12" // 12-bit PseudoColor
|
||||
% setenv MESA_RGB_VISUAL "PseudoColor 8" // 8-bit PseudoColor
|
||||
|
||||
using bash:
|
||||
using bash:
|
||||
$ export MESA_RGB_VISUAL="TrueColor 8"
|
||||
$ export MESA_CI_VISUAL="PseudoColor 12"
|
||||
$ export MESA_RGB_VISUAL="PseudoColor 8"
|
||||
@@ -146,8 +146,8 @@ The defaults are all 1.0, effectively disabling gamma correction.
|
||||
Examples:
|
||||
</p>
|
||||
<pre>
|
||||
% export MESA_GAMMA="2.3 2.2 2.4" // separate R,G,B values
|
||||
% export MESA_GAMMA="2.0" // same gamma for R,G,B
|
||||
% export MESA_GAMMA="2.3 2.2 2.4" // separate R,G,B values
|
||||
% export MESA_GAMMA="2.0" // same gamma for R,G,B
|
||||
</pre>
|
||||
<p>
|
||||
The <code>demos/gamma.c</code> program in mesa/demos repository may help
|
||||
@@ -183,7 +183,7 @@ determine if your X server has overlay support you can test for the
|
||||
SERVER_OVERLAY_VISUALS property:
|
||||
</p>
|
||||
<pre>
|
||||
xprop -root | grep SERVER_OVERLAY_VISUALS
|
||||
xprop -root | grep SERVER_OVERLAY_VISUALS
|
||||
</pre>
|
||||
|
||||
|
||||
@@ -207,8 +207,8 @@ The following Mesa-specific extensions are implemented in the Xlib driver.
|
||||
This extension adds the GLX function:
|
||||
</p>
|
||||
<pre>
|
||||
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
|
||||
Pixmap pixmap, Colormap cmap )
|
||||
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
|
||||
Pixmap pixmap, Colormap cmap )
|
||||
</pre>
|
||||
<p>
|
||||
It is an alternative to the standard glXCreateGLXPixmap() function.
|
||||
@@ -243,10 +243,10 @@ deallocate the ancillary buffers by calling glxReleaseBuffersMESA()
|
||||
just before an X window is destroyed. For example:
|
||||
</p>
|
||||
<pre>
|
||||
#ifdef GLX_MESA_release_buffers
|
||||
glXReleaseBuffersMESA( dpy, window );
|
||||
#endif
|
||||
XDestroyWindow( dpy, window );
|
||||
#ifdef GLX_MESA_release_buffers
|
||||
glXReleaseBuffersMESA( dpy, window );
|
||||
#endif
|
||||
XDestroyWindow( dpy, window );
|
||||
</pre>
|
||||
<p>
|
||||
<a href="specs/MESA_release_buffers.spec">GLX_MESA_release_buffers specification</a>
|
||||
@@ -270,11 +270,11 @@ This extension was added in Mesa 2.6
|
||||
|
||||
<h2>Summary of X-related environment variables</h2>
|
||||
<pre>
|
||||
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
|
||||
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
|
||||
MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
|
||||
MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
|
||||
MESA_GAMMA - gamma correction coefficients (X only)
|
||||
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
|
||||
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
|
||||
MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
|
||||
MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
|
||||
MESA_GAMMA - gamma correction coefficients (X only)
|
||||
</pre>
|
||||
|
||||
</div>
|
||||
|
@@ -137,23 +137,19 @@ typedef struct _cl_image_desc {
|
||||
size_t image_slice_pitch;
|
||||
cl_uint num_mip_levels;
|
||||
cl_uint num_samples;
|
||||
#ifdef CL_VERSION_2_0
|
||||
#ifdef __GNUC__
|
||||
__extension__ /* Prevents warnings about anonymous union in -pedantic builds */
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( push )
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4201 ) /* Prevents warning about nameless struct/union in /W4 /Za builds */
|
||||
#endif
|
||||
union {
|
||||
#endif
|
||||
cl_mem buffer;
|
||||
#ifdef CL_VERSION_2_0
|
||||
cl_mem mem_object;
|
||||
};
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
} cl_image_desc;
|
||||
|
||||
@@ -360,10 +356,10 @@ typedef struct _cl_buffer_region {
|
||||
#define CL_DEVICE_REFERENCE_COUNT 0x1047
|
||||
#define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048
|
||||
#define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049
|
||||
#endif
|
||||
#ifdef CL_VERSION_2_0
|
||||
#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A
|
||||
#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B
|
||||
#endif
|
||||
#ifdef CL_VERSION_2_0
|
||||
#define CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS 0x104C
|
||||
#define CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE 0x104D
|
||||
#define CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES 0x104E
|
||||
|
@@ -2610,7 +2610,7 @@ public:
|
||||
error = platforms[i].getDevices(type, &devices);
|
||||
|
||||
#if defined(__CL_ENABLE_EXCEPTIONS)
|
||||
} catch (Error &) {}
|
||||
} catch (Error) {}
|
||||
// Catch if exceptions are enabled as we don't want to exit if first platform has no devices of type
|
||||
// We do error checking next anyway, and can throw there if needed
|
||||
#endif
|
||||
|
@@ -29,8 +29,7 @@
|
||||
/*! \file
|
||||
*
|
||||
* \brief C++ bindings for OpenCL 1.0 (rev 48), OpenCL 1.1 (rev 33),
|
||||
* OpenCL 1.2 (rev 15), OpenCL 2.0 (rev 29), OpenCL 2.1 (rev 17),
|
||||
* and OpenCL 2.2 (V2.2-11).
|
||||
* OpenCL 1.2 (rev 15) and OpenCL 2.0 (rev 29)
|
||||
* \author Lee Howes and Bruce Merry
|
||||
*
|
||||
* Derived from the OpenCL 1.x C++ bindings written by
|
||||
@@ -41,8 +40,9 @@
|
||||
* Bruce Merry, February 2013.
|
||||
* Tom Deakin and Simon McIntosh-Smith, July 2013
|
||||
* James Price, 2015-
|
||||
* \version 2.2.0
|
||||
* \date 2019-09-18
|
||||
*
|
||||
* \version 2.0.10
|
||||
* \date 2016-07-20
|
||||
*
|
||||
* Optional extension support
|
||||
*
|
||||
@@ -207,14 +207,6 @@
|
||||
* applies to use of cl::Program construction and other program
|
||||
* build variants.
|
||||
*
|
||||
* - CL_HPP_USE_CL_SUB_GROUPS_KHR
|
||||
*
|
||||
* Enable the cl_khr_subgroups extension.
|
||||
*
|
||||
* - CL_HPP_USE_IL_KHR
|
||||
*
|
||||
* Enable the cl_khr_il_program extension.
|
||||
*
|
||||
*
|
||||
* \section example Example
|
||||
*
|
||||
@@ -447,18 +439,13 @@
|
||||
|
||||
/* Detect which version to target */
|
||||
#if !defined(CL_HPP_TARGET_OPENCL_VERSION)
|
||||
# pragma message("cl2.hpp: CL_HPP_TARGET_OPENCL_VERSION is not defined. It will default to 220 (OpenCL 2.2)")
|
||||
# define CL_HPP_TARGET_OPENCL_VERSION 220
|
||||
# pragma message("cl2.hpp: CL_HPP_TARGET_OPENCL_VERSION is not defined. It will default to 200 (OpenCL 2.0)")
|
||||
# define CL_HPP_TARGET_OPENCL_VERSION 200
|
||||
#endif
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION != 100 && \
|
||||
CL_HPP_TARGET_OPENCL_VERSION != 110 && \
|
||||
CL_HPP_TARGET_OPENCL_VERSION != 120 && \
|
||||
CL_HPP_TARGET_OPENCL_VERSION != 200 && \
|
||||
CL_HPP_TARGET_OPENCL_VERSION != 210 && \
|
||||
CL_HPP_TARGET_OPENCL_VERSION != 220
|
||||
# pragma message("cl2.hpp: CL_HPP_TARGET_OPENCL_VERSION is not a valid value (100, 110, 120, 200, 210 or 220). It will be set to 220")
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION != 100 && CL_HPP_TARGET_OPENCL_VERSION != 110 && CL_HPP_TARGET_OPENCL_VERSION != 120 && CL_HPP_TARGET_OPENCL_VERSION != 200
|
||||
# pragma message("cl2.hpp: CL_HPP_TARGET_OPENCL_VERSION is not a valid value (100, 110, 120 or 200). It will be set to 200")
|
||||
# undef CL_HPP_TARGET_OPENCL_VERSION
|
||||
# define CL_HPP_TARGET_OPENCL_VERSION 220
|
||||
# define CL_HPP_TARGET_OPENCL_VERSION 200
|
||||
#endif
|
||||
|
||||
/* Forward target OpenCL version to C headers if necessary */
|
||||
@@ -475,13 +462,8 @@
|
||||
#if !defined(CL_HPP_MINIMUM_OPENCL_VERSION)
|
||||
# define CL_HPP_MINIMUM_OPENCL_VERSION 200
|
||||
#endif
|
||||
#if CL_HPP_MINIMUM_OPENCL_VERSION != 100 && \
|
||||
CL_HPP_MINIMUM_OPENCL_VERSION != 110 && \
|
||||
CL_HPP_MINIMUM_OPENCL_VERSION != 120 && \
|
||||
CL_HPP_MINIMUM_OPENCL_VERSION != 200 && \
|
||||
CL_HPP_MINIMUM_OPENCL_VERSION != 210 && \
|
||||
CL_HPP_MINIMUM_OPENCL_VERSION != 220
|
||||
# pragma message("cl2.hpp: CL_HPP_MINIMUM_OPENCL_VERSION is not a valid value (100, 110, 120, 200, 210 or 220). It will be set to 100")
|
||||
#if CL_HPP_MINIMUM_OPENCL_VERSION != 100 && CL_HPP_MINIMUM_OPENCL_VERSION != 110 && CL_HPP_MINIMUM_OPENCL_VERSION != 120 && CL_HPP_MINIMUM_OPENCL_VERSION != 200
|
||||
# pragma message("cl2.hpp: CL_HPP_MINIMUM_OPENCL_VERSION is not a valid value (100, 110, 120 or 200). It will be set to 100")
|
||||
# undef CL_HPP_MINIMUM_OPENCL_VERSION
|
||||
# define CL_HPP_MINIMUM_OPENCL_VERSION 100
|
||||
#endif
|
||||
@@ -501,12 +483,6 @@
|
||||
#if CL_HPP_MINIMUM_OPENCL_VERSION <= 200 && !defined(CL_USE_DEPRECATED_OPENCL_2_0_APIS)
|
||||
# define CL_USE_DEPRECATED_OPENCL_2_0_APIS
|
||||
#endif
|
||||
#if CL_HPP_MINIMUM_OPENCL_VERSION <= 210 && !defined(CL_USE_DEPRECATED_OPENCL_2_1_APIS)
|
||||
# define CL_USE_DEPRECATED_OPENCL_2_1_APIS
|
||||
#endif
|
||||
#if CL_HPP_MINIMUM_OPENCL_VERSION <= 220 && !defined(CL_USE_DEPRECATED_OPENCL_2_2_APIS)
|
||||
# define CL_USE_DEPRECATED_OPENCL_2_2_APIS
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
@@ -549,8 +525,6 @@
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define CL_HPP_DEFINE_STATIC_MEMBER_ __declspec(selectany)
|
||||
#elif defined(__MINGW32__)
|
||||
# define CL_HPP_DEFINE_STATIC_MEMBER_ __attribute__((selectany))
|
||||
#else
|
||||
# define CL_HPP_DEFINE_STATIC_MEMBER_ __attribute__((weak))
|
||||
#endif // !_MSC_VER
|
||||
@@ -829,9 +803,6 @@ static inline cl_int errHandler (cl_int err, const char * errStr = NULL)
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#define __GET_KERNEL_ARG_INFO_ERR CL_HPP_ERR_STR_(clGetKernelArgInfo)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#define __GET_KERNEL_SUB_GROUP_INFO_ERR CL_HPP_ERR_STR_(clGetKernelSubGroupInfo)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#define __GET_KERNEL_WORK_GROUP_INFO_ERR CL_HPP_ERR_STR_(clGetKernelWorkGroupInfo)
|
||||
#define __GET_PROGRAM_INFO_ERR CL_HPP_ERR_STR_(clGetProgramInfo)
|
||||
#define __GET_PROGRAM_BUILD_INFO_ERR CL_HPP_ERR_STR_(clGetProgramBuildInfo)
|
||||
@@ -862,13 +833,7 @@ static inline cl_int errHandler (cl_int err, const char * errStr = NULL)
|
||||
#define __CREATE_KERNEL_ERR CL_HPP_ERR_STR_(clCreateKernel)
|
||||
#define __SET_KERNEL_ARGS_ERR CL_HPP_ERR_STR_(clSetKernelArg)
|
||||
#define __CREATE_PROGRAM_WITH_SOURCE_ERR CL_HPP_ERR_STR_(clCreateProgramWithSource)
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#define __CREATE_PROGRAM_WITH_IL_ERR CL_HPP_ERR_STR_(clCreateProgramWithIL)
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#define __CREATE_PROGRAM_WITH_BINARY_ERR CL_HPP_ERR_STR_(clCreateProgramWithBinary)
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#define __CREATE_PROGRAM_WITH_IL_ERR CL_HPP_ERR_STR_(clCreateProgramWithIL)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#define __CREATE_PROGRAM_WITH_BUILT_IN_KERNELS_ERR CL_HPP_ERR_STR_(clCreateProgramWithBuiltInKernels)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
@@ -905,11 +870,6 @@ static inline cl_int errHandler (cl_int err, const char * errStr = NULL)
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#define __ENQUEUE_MIGRATE_MEM_OBJECTS_ERR CL_HPP_ERR_STR_(clEnqueueMigrateMemObjects)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#define __ENQUEUE_MIGRATE_SVM_ERR CL_HPP_ERR_STR_(clEnqueueSVMMigrateMem)
|
||||
#define __SET_DEFAULT_DEVICE_COMMAND_QUEUE_ERR CL_HPP_ERR_STR_(clSetDefaultDeviceCommandQueue)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
|
||||
#define __ENQUEUE_ACQUIRE_GL_ERR CL_HPP_ERR_STR_(clEnqueueAcquireGLObjects)
|
||||
#define __ENQUEUE_RELEASE_GL_ERR CL_HPP_ERR_STR_(clEnqueueReleaseGLObjects)
|
||||
@@ -924,16 +884,6 @@ static inline cl_int errHandler (cl_int err, const char * errStr = NULL)
|
||||
#define __FINISH_ERR CL_HPP_ERR_STR_(clFinish)
|
||||
#define __VECTOR_CAPACITY_ERR CL_HPP_ERR_STR_(Vector capacity error)
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#define __GET_HOST_TIMER_ERR CL_HPP_ERR_STR_(clGetHostTimer)
|
||||
#define __GET_DEVICE_AND_HOST_TIMER_ERR CL_HPP_ERR_STR_(clGetDeviceAndHostTimer)
|
||||
#endif
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
#define __SET_PROGRAM_RELEASE_CALLBACK_ERR CL_HPP_ERR_STR_(clSetProgramReleaseCallback)
|
||||
#define __SET_PROGRAM_SPECIALIZATION_CONSTANT_ERR CL_HPP_ERR_STR_(clSetProgramSpecializationConstant)
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* CL 1.2 version that uses device fission.
|
||||
*/
|
||||
@@ -974,10 +924,6 @@ static inline cl_int errHandler (cl_int err, const char * errStr = NULL)
|
||||
#define __ENQUEUE_BARRIER_WAIT_LIST_ERR CL_HPP_ERR_STR_(clEnqueueBarrierWithWaitList)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#define __CLONE_KERNEL_ERR CL_HPP_ERR_STR_(clCloneKernel)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
#endif // CL_HPP_USER_OVERRIDE_ERROR_STRINGS
|
||||
//! \endcond
|
||||
|
||||
@@ -1358,31 +1304,6 @@ inline cl_int getInfoHelper(Func f, cl_uint name, T* param, int, typename T::cl_
|
||||
F(cl_pipe_info, CL_PIPE_PACKET_SIZE, cl_uint) \
|
||||
F(cl_pipe_info, CL_PIPE_MAX_PACKETS, cl_uint)
|
||||
|
||||
#define CL_HPP_PARAM_NAME_INFO_SUBGROUP_KHR_(F) \
|
||||
F(cl_kernel_sub_group_info, CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR, size_type) \
|
||||
F(cl_kernel_sub_group_info, CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR, size_type)
|
||||
|
||||
#define CL_HPP_PARAM_NAME_INFO_IL_KHR_(F) \
|
||||
F(cl_device_info, CL_DEVICE_IL_VERSION_KHR, string) \
|
||||
F(cl_program_info, CL_PROGRAM_IL_KHR, cl::vector<unsigned char>)
|
||||
|
||||
#define CL_HPP_PARAM_NAME_INFO_2_1_(F) \
|
||||
F(cl_platform_info, CL_PLATFORM_HOST_TIMER_RESOLUTION, size_type) \
|
||||
F(cl_program_info, CL_PROGRAM_IL, cl::vector<unsigned char>) \
|
||||
F(cl_kernel_info, CL_KERNEL_MAX_NUM_SUB_GROUPS, size_type) \
|
||||
F(cl_kernel_info, CL_KERNEL_COMPILE_NUM_SUB_GROUPS, size_type) \
|
||||
F(cl_device_info, CL_DEVICE_MAX_NUM_SUB_GROUPS, cl_uint) \
|
||||
F(cl_device_info, CL_DEVICE_IL_VERSION, string) \
|
||||
F(cl_device_info, CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS, cl_bool) \
|
||||
F(cl_command_queue_info, CL_QUEUE_DEVICE_DEFAULT, cl::DeviceCommandQueue) \
|
||||
F(cl_kernel_sub_group_info, CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE, size_type) \
|
||||
F(cl_kernel_sub_group_info, CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE, size_type) \
|
||||
F(cl_kernel_sub_group_info, CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT, cl::detail::size_t_array)
|
||||
|
||||
#define CL_HPP_PARAM_NAME_INFO_2_2_(F) \
|
||||
F(cl_program_info, CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT, cl_bool) \
|
||||
F(cl_program_info, CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT, cl_bool)
|
||||
|
||||
#define CL_HPP_PARAM_NAME_DEVICE_FISSION_(F) \
|
||||
F(cl_device_info, CL_DEVICE_PARENT_DEVICE_EXT, cl_device_id) \
|
||||
F(cl_device_info, CL_DEVICE_PARTITION_TYPES_EXT, cl::vector<cl_device_partition_property_ext>) \
|
||||
@@ -1408,24 +1329,10 @@ CL_HPP_PARAM_NAME_INFO_1_1_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 110
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
CL_HPP_PARAM_NAME_INFO_1_2_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 110
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
CL_HPP_PARAM_NAME_INFO_2_0_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
CL_HPP_PARAM_NAME_INFO_2_1_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
CL_HPP_PARAM_NAME_INFO_2_2_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
|
||||
#if defined(CL_HPP_USE_CL_SUB_GROUPS_KHR) && CL_HPP_TARGET_OPENCL_VERSION < 210
|
||||
CL_HPP_PARAM_NAME_INFO_SUBGROUP_KHR_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // #if defined(CL_HPP_USE_CL_SUB_GROUPS_KHR) && CL_HPP_TARGET_OPENCL_VERSION < 210
|
||||
|
||||
#if defined(CL_HPP_USE_IL_KHR)
|
||||
CL_HPP_PARAM_NAME_INFO_IL_KHR_(CL_HPP_DECLARE_PARAM_TRAITS_)
|
||||
#endif // #if defined(CL_HPP_USE_IL_KHR)
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 110
|
||||
|
||||
|
||||
// Flags deprecated in OpenCL 2.0
|
||||
@@ -1493,13 +1400,6 @@ CL_HPP_DECLARE_PARAM_TRAITS_(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUT
|
||||
CL_HPP_DECLARE_PARAM_TRAITS_(cl_device_info, CL_DEVICE_LOCAL_MEM_BANKS_AMD, cl_uint)
|
||||
#endif
|
||||
|
||||
#ifdef CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM
|
||||
CL_HPP_DECLARE_PARAM_TRAITS_(cl_device_info, CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM, cl_ulong)
|
||||
#endif
|
||||
#ifdef CL_DEVICE_JOB_SLOTS_ARM
|
||||
CL_HPP_DECLARE_PARAM_TRAITS_(cl_device_info, CL_DEVICE_JOB_SLOTS_ARM, cl_uint)
|
||||
#endif
|
||||
|
||||
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
|
||||
CL_HPP_DECLARE_PARAM_TRAITS_(cl_device_info, CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV, cl_uint)
|
||||
#endif
|
||||
@@ -1810,7 +1710,10 @@ public:
|
||||
|
||||
cl_type& operator ()() { return object_; }
|
||||
|
||||
cl_type get() const { return object_; }
|
||||
const cl_type get() const { return object_; }
|
||||
|
||||
cl_type get() { return object_; }
|
||||
|
||||
|
||||
protected:
|
||||
template<typename Func, typename U>
|
||||
@@ -2200,53 +2103,6 @@ public:
|
||||
return param;
|
||||
}
|
||||
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
/**
|
||||
* Return the current value of the host clock as seen by the device.
|
||||
* The resolution of the device timer may be queried with the
|
||||
* CL_DEVICE_PROFILING_TIMER_RESOLUTION query.
|
||||
* @return The host timer value.
|
||||
*/
|
||||
cl_ulong getHostTimer(cl_int *error = nullptr)
|
||||
{
|
||||
cl_ulong retVal = 0;
|
||||
cl_int err =
|
||||
clGetHostTimer(this->get(), &retVal);
|
||||
detail::errHandler(
|
||||
err,
|
||||
__GET_HOST_TIMER_ERR);
|
||||
if (error) {
|
||||
*error = err;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a synchronized pair of host and device timestamps as seen by device.
|
||||
* Use to correlate the clocks and get the host timer only using getHostTimer
|
||||
* as a lower cost mechanism in between calls.
|
||||
* The resolution of the host timer may be queried with the
|
||||
* CL_PLATFORM_HOST_TIMER_RESOLUTION query.
|
||||
* The resolution of the device timer may be queried with the
|
||||
* CL_DEVICE_PROFILING_TIMER_RESOLUTION query.
|
||||
* @return A pair of (device timer, host timer) timer values.
|
||||
*/
|
||||
std::pair<cl_ulong, cl_ulong> getDeviceAndHostTimer(cl_int *error = nullptr)
|
||||
{
|
||||
std::pair<cl_ulong, cl_ulong> retVal;
|
||||
cl_int err =
|
||||
clGetDeviceAndHostTimer(this->get(), &(retVal.first), &(retVal.second));
|
||||
detail::errHandler(
|
||||
err,
|
||||
__GET_DEVICE_AND_HOST_TIMER_ERR);
|
||||
if (error) {
|
||||
*error = err;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
/**
|
||||
* CL 1.2 version
|
||||
*/
|
||||
@@ -3756,7 +3612,7 @@ cl::pointer<T, detail::Deleter<Alloc>> allocate_pointer(const Alloc &alloc_, Arg
|
||||
|
||||
return cl::pointer<T, detail::Deleter<Alloc>>(tmp, detail::Deleter<Alloc>{alloc, copies});
|
||||
}
|
||||
catch (std::bad_alloc& b)
|
||||
catch (std::bad_alloc b)
|
||||
{
|
||||
std::allocator_traits<Alloc>::deallocate(alloc, tmp, copies);
|
||||
throw;
|
||||
@@ -5947,26 +5803,17 @@ public:
|
||||
return param;
|
||||
}
|
||||
|
||||
#if (CL_HPP_TARGET_OPENCL_VERSION >= 200 && defined(CL_HPP_USE_CL_SUB_GROUPS_KHR)) || CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
#if defined(CL_HPP_USE_CL_SUB_GROUPS_KHR)
|
||||
cl_int getSubGroupInfo(const cl::Device &dev, cl_kernel_sub_group_info name, const cl::NDRange &range, size_type* param) const
|
||||
{
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
return detail::errHandler(
|
||||
clGetKernelSubGroupInfo(object_, dev(), name, range.size(), range.get(), sizeof(size_type), param, nullptr),
|
||||
__GET_KERNEL_SUB_GROUP_INFO_ERR);
|
||||
|
||||
#else // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
typedef clGetKernelSubGroupInfoKHR_fn PFN_clGetKernelSubGroupInfoKHR;
|
||||
static PFN_clGetKernelSubGroupInfoKHR pfn_clGetKernelSubGroupInfoKHR = NULL;
|
||||
CL_HPP_INIT_CL_EXT_FCN_PTR_(clGetKernelSubGroupInfoKHR);
|
||||
|
||||
return detail::errHandler(
|
||||
pfn_clGetKernelSubGroupInfoKHR(object_, dev(), name, range.size(), range.get(), sizeof(size_type), param, nullptr),
|
||||
__GET_KERNEL_SUB_GROUP_INFO_ERR);
|
||||
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
__GET_KERNEL_ARG_INFO_ERR);
|
||||
}
|
||||
|
||||
template <cl_int name>
|
||||
@@ -5979,6 +5826,7 @@ public:
|
||||
}
|
||||
return param;
|
||||
}
|
||||
#endif // #if defined(CL_HPP_USE_CL_SUB_GROUPS_KHR)
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
@@ -6133,22 +5981,6 @@ public:
|
||||
pointerList.data()));
|
||||
}
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 200
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
/**
|
||||
* Make a deep copy of the kernel object including its arguments.
|
||||
* @return A new kernel object with internal state entirely separate from that
|
||||
* of the original but with any arguments set on the original intact.
|
||||
*/
|
||||
Kernel clone()
|
||||
{
|
||||
cl_int error;
|
||||
Kernel retValue(clCloneKernel(this->get(), &error));
|
||||
|
||||
detail::errHandler(error, __CLONE_KERNEL_ERR);
|
||||
return retValue;
|
||||
}
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
};
|
||||
|
||||
/*! \class Program
|
||||
@@ -6311,116 +6143,6 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210 || (CL_HPP_TARGET_OPENCL_VERSION==200 && defined(CL_HPP_USE_IL_KHR))
|
||||
/**
|
||||
* Program constructor to allow construction of program from SPIR-V or another IL.
|
||||
* Valid for either OpenCL >= 2.1 or when CL_HPP_USE_IL_KHR is defined.
|
||||
*/
|
||||
Program(
|
||||
const vector<char>& IL,
|
||||
bool build = false,
|
||||
cl_int* err = NULL)
|
||||
{
|
||||
cl_int error;
|
||||
|
||||
Context context = Context::getDefault(err);
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
object_ = ::clCreateProgramWithIL(
|
||||
context(), static_cast<const void*>(IL.data()), IL.size(), &error);
|
||||
|
||||
#else // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
typedef clCreateProgramWithILKHR_fn PFN_clCreateProgramWithILKHR;
|
||||
static PFN_clCreateProgramWithILKHR pfn_clCreateProgramWithILKHR = NULL;
|
||||
CL_HPP_INIT_CL_EXT_FCN_PTR_(clCreateProgramWithILKHR);
|
||||
|
||||
return detail::errHandler(
|
||||
pfn_clCreateProgramWithILKHR(
|
||||
context(), static_cast<const void*>(IL.data()), IL.size(), &error);
|
||||
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
detail::errHandler(error, __CREATE_PROGRAM_WITH_IL_ERR);
|
||||
|
||||
if (error == CL_SUCCESS && build) {
|
||||
|
||||
error = ::clBuildProgram(
|
||||
object_,
|
||||
0,
|
||||
NULL,
|
||||
#if !defined(CL_HPP_CL_1_2_DEFAULT_BUILD)
|
||||
"-cl-std=CL2.0",
|
||||
#else
|
||||
"",
|
||||
#endif // #if !defined(CL_HPP_CL_1_2_DEFAULT_BUILD)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
detail::buildErrHandler(error, __BUILD_PROGRAM_ERR, getBuildInfo<CL_PROGRAM_BUILD_LOG>());
|
||||
}
|
||||
|
||||
if (err != NULL) {
|
||||
*err = error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Program constructor to allow construction of program from SPIR-V or another IL
|
||||
* for a specific context.
|
||||
* Valid for either OpenCL >= 2.1 or when CL_HPP_USE_IL_KHR is defined.
|
||||
*/
|
||||
Program(
|
||||
const Context& context,
|
||||
const vector<char>& IL,
|
||||
bool build = false,
|
||||
cl_int* err = NULL)
|
||||
{
|
||||
cl_int error;
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
object_ = ::clCreateProgramWithIL(
|
||||
context(), static_cast<const void*>(IL.data()), IL.size(), &error);
|
||||
|
||||
#else // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
typedef clCreateProgramWithILKHR_fn PFN_clCreateProgramWithILKHR;
|
||||
static PFN_clCreateProgramWithILKHR pfn_clCreateProgramWithILKHR = NULL;
|
||||
CL_HPP_INIT_CL_EXT_FCN_PTR_(clCreateProgramWithILKHR);
|
||||
|
||||
return detail::errHandler(
|
||||
pfn_clCreateProgramWithILKHR(
|
||||
context(), static_cast<const void*>(IL.data()), IL.size(), &error);
|
||||
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
detail::errHandler(error, __CREATE_PROGRAM_WITH_IL_ERR);
|
||||
|
||||
if (error == CL_SUCCESS && build) {
|
||||
error = ::clBuildProgram(
|
||||
object_,
|
||||
0,
|
||||
NULL,
|
||||
#if !defined(CL_HPP_CL_1_2_DEFAULT_BUILD)
|
||||
"-cl-std=CL2.0",
|
||||
#else
|
||||
"",
|
||||
#endif // #if !defined(CL_HPP_CL_1_2_DEFAULT_BUILD)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
detail::buildErrHandler(error, __BUILD_PROGRAM_ERR, getBuildInfo<CL_PROGRAM_BUILD_LOG>());
|
||||
}
|
||||
|
||||
if (err != NULL) {
|
||||
*err = error;
|
||||
}
|
||||
}
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
/**
|
||||
* Construct a program object from a list of devices and a per-device list of binaries.
|
||||
* \param context A valid OpenCL context in which to construct the program.
|
||||
@@ -6758,62 +6480,6 @@ public:
|
||||
}
|
||||
return CL_SUCCESS;
|
||||
}
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
/*! \brief Registers a callback function to be called when destructors for
|
||||
* program scope global variables are complete and before the
|
||||
* program is released.
|
||||
*
|
||||
* Wraps clSetProgramReleaseCallback().
|
||||
*
|
||||
* Each call to this function registers the specified user callback function
|
||||
* on a callback stack associated with program. The registered user callback
|
||||
* functions are called in the reverse order in which they were registered.
|
||||
*/
|
||||
cl_int setReleaseCallback(
|
||||
void (CL_CALLBACK * pfn_notify)(cl_program program, void * user_data),
|
||||
void * user_data = NULL)
|
||||
{
|
||||
return detail::errHandler(
|
||||
::clSetProgramReleaseCallback(
|
||||
object_,
|
||||
pfn_notify,
|
||||
user_data),
|
||||
__SET_PROGRAM_RELEASE_CALLBACK_ERR);
|
||||
}
|
||||
|
||||
/*! \brief Sets a SPIR-V specialization constant.
|
||||
*
|
||||
* Wraps clSetProgramSpecializationConstant().
|
||||
*/
|
||||
template <typename T>
|
||||
typename std::enable_if<!std::is_pointer<T>::value, cl_int>::type
|
||||
setSpecializationConstant(cl_uint index, const T &value)
|
||||
{
|
||||
return detail::errHandler(
|
||||
::clSetProgramSpecializationConstant(
|
||||
object_,
|
||||
index,
|
||||
sizeof(value),
|
||||
&value),
|
||||
__SET_PROGRAM_SPECIALIZATION_CONSTANT_ERR);
|
||||
}
|
||||
|
||||
/*! \brief Sets a SPIR-V specialization constant.
|
||||
*
|
||||
* Wraps clSetProgramSpecializationConstant().
|
||||
*/
|
||||
cl_int setSpecializationConstant(cl_uint index, size_type size, const void* value)
|
||||
{
|
||||
return detail::errHandler(
|
||||
::clSetProgramSpecializationConstant(
|
||||
object_,
|
||||
index,
|
||||
size,
|
||||
value),
|
||||
__SET_PROGRAM_SPECIALIZATION_CONSTANT_ERR);
|
||||
}
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
};
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
@@ -6935,22 +6601,6 @@ inline vector<vector<unsigned char>> cl::Program::getInfo<CL_PROGRAM_BINARIES>(c
|
||||
return binariesVectors;
|
||||
}
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
// Template specialization for clSetProgramSpecializationConstant
|
||||
template <>
|
||||
inline cl_int cl::Program::setSpecializationConstant(cl_uint index, const bool &value)
|
||||
{
|
||||
cl_uchar ucValue = value ? CL_UCHAR_MAX : 0;
|
||||
return detail::errHandler(
|
||||
::clSetProgramSpecializationConstant(
|
||||
object_,
|
||||
index,
|
||||
sizeof(ucValue),
|
||||
&ucValue),
|
||||
__SET_PROGRAM_SPECIALIZATION_CONSTANT_ERR);
|
||||
}
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 220
|
||||
|
||||
inline Kernel::Kernel(const Program& program, const char* name, cl_int* err)
|
||||
{
|
||||
cl_int error;
|
||||
@@ -8308,7 +7958,8 @@ public:
|
||||
for( int i = 0; i < (int)memObjects.size(); ++i ) {
|
||||
localMemObjects[i] = memObjects[i]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
cl_int err = detail::errHandler(
|
||||
::clEnqueueMigrateMemObjects(
|
||||
object_,
|
||||
@@ -8327,128 +7978,6 @@ public:
|
||||
}
|
||||
#endif // CL_HPP_TARGET_OPENCL_VERSION >= 120
|
||||
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate ranges within a set of
|
||||
* SVM allocations with a device.
|
||||
* @param sizes - The length from each pointer to migrate.
|
||||
*/
|
||||
template<typename T>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<T*> &svmRawPointers,
|
||||
const cl::vector<size_type> &sizes,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
cl_event tmp;
|
||||
cl_int err = detail::errHandler(::clEnqueueSVMMigrateMem(
|
||||
object_,
|
||||
svmRawPointers.size(), static_cast<void**>(svmRawPointers.data()),
|
||||
sizes.data(), // array of sizes not passed
|
||||
flags,
|
||||
(events != NULL) ? (cl_uint)events->size() : 0,
|
||||
(events != NULL && events->size() > 0) ? (cl_event*)&events->front() : NULL,
|
||||
(event != NULL) ? &tmp : NULL),
|
||||
__ENQUEUE_MIGRATE_SVM_ERR);
|
||||
|
||||
if (event != NULL && err == CL_SUCCESS)
|
||||
*event = tmp;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate a set of SVM allocations with
|
||||
* a device.
|
||||
*/
|
||||
template<typename T>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<T*> &svmRawPointers,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
return enqueueMigrateSVM(svmRawPointers, cl::vector<size_type>(svmRawPointers.size()), flags, events, event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate ranges within a set of
|
||||
* SVM allocations with a device.
|
||||
* @param sizes - The length from each pointer to migrate.
|
||||
*/
|
||||
template<typename T, class D>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<cl::pointer<T, D>> &svmPointers,
|
||||
const cl::vector<size_type> &sizes,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
cl::vector<void*> svmRawPointers;
|
||||
svmRawPointers.reserve(svmPointers.size());
|
||||
for (auto p : svmPointers) {
|
||||
svmRawPointers.push_back(static_cast<void*>(p.get()));
|
||||
}
|
||||
|
||||
return enqueueMigrateSVM(svmRawPointers, sizes, flags, events, event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate a set of SVM allocations with
|
||||
* a device.
|
||||
*/
|
||||
template<typename T, class D>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<cl::pointer<T, D>> &svmPointers,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
return enqueueMigrateSVM(svmPointers, cl::vector<size_type>(svmPointers.size()), flags, events, event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate ranges within a set of
|
||||
* SVM allocations with a device.
|
||||
* @param sizes - The length from the beginning of each container to migrate.
|
||||
*/
|
||||
template<typename T, class Alloc>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<cl::vector<T, Alloc>> &svmContainers,
|
||||
const cl::vector<size_type> &sizes,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
cl::vector<void*> svmRawPointers;
|
||||
svmRawPointers.reserve(svmContainers.size());
|
||||
for (auto p : svmContainers) {
|
||||
svmRawPointers.push_back(static_cast<void*>(p.data()));
|
||||
}
|
||||
|
||||
return enqueueMigrateSVM(svmRawPointers, sizes, flags, events, event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueues a command that will allow the host associate a set of SVM allocations with
|
||||
* a device.
|
||||
*/
|
||||
template<typename T, class Alloc>
|
||||
cl_int enqueueMigrateSVM(
|
||||
const cl::vector<cl::vector<T, Alloc>> &svmContainers,
|
||||
cl_mem_migration_flags flags = 0,
|
||||
const vector<Event>* events = NULL,
|
||||
Event* event = NULL) const
|
||||
{
|
||||
return enqueueMigrateSVM(svmContainers, cl::vector<size_type>(svmContainers.size()), flags, events, event);
|
||||
}
|
||||
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
|
||||
cl_int enqueueNDRangeKernel(
|
||||
const Kernel& kernel,
|
||||
const NDRange& offset,
|
||||
@@ -8878,11 +8407,11 @@ public:
|
||||
}
|
||||
|
||||
/*!
|
||||
* Create a new default device command queue for the default device,
|
||||
* in the default context and of the default size.
|
||||
* If there is already a default queue for the specified device this
|
||||
* function will return the pre-existing queue.
|
||||
*/
|
||||
* Create a new default device command queue for the default device,
|
||||
* in the default context and of the default size.
|
||||
* If there is already a default queue for the specified device this
|
||||
* function will return the pre-existing queue.
|
||||
*/
|
||||
static DeviceCommandQueue makeDefault(
|
||||
cl_int *err = nullptr)
|
||||
{
|
||||
@@ -8908,11 +8437,11 @@ public:
|
||||
}
|
||||
|
||||
/*!
|
||||
* Create a new default device command queue for the specified device
|
||||
* and of the default size.
|
||||
* If there is already a default queue for the specified device this
|
||||
* function will return the pre-existing queue.
|
||||
*/
|
||||
* Create a new default device command queue for the specified device
|
||||
* and of the default size.
|
||||
* If there is already a default queue for the specified device this
|
||||
* function will return the pre-existing queue.
|
||||
*/
|
||||
static DeviceCommandQueue makeDefault(
|
||||
const Context &context, const Device &device, cl_int *err = nullptr)
|
||||
{
|
||||
@@ -8963,37 +8492,6 @@ public:
|
||||
|
||||
return deviceQueue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
/*!
|
||||
* Modify the default device command queue to be used for subsequent kernels.
|
||||
* This can update the default command queue for a device repeatedly to account
|
||||
* for kernels that rely on the default.
|
||||
* @return updated default device command queue.
|
||||
*/
|
||||
static DeviceCommandQueue updateDefault(const Context &context, const Device &device, const DeviceCommandQueue &default_queue, cl_int *err = nullptr)
|
||||
{
|
||||
cl_int error;
|
||||
error = clSetDefaultDeviceCommandQueue(context.get(), device.get(), default_queue.get());
|
||||
|
||||
detail::errHandler(error, __SET_DEFAULT_DEVICE_COMMAND_QUEUE_ERR);
|
||||
if (err != NULL) {
|
||||
*err = error;
|
||||
}
|
||||
return default_queue;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Return the current default command queue for the specified command queue
|
||||
*/
|
||||
static DeviceCommandQueue getDefault(const CommandQueue &queue, cl_int * err = NULL)
|
||||
{
|
||||
return queue.getInfo<CL_QUEUE_DEVICE_DEFAULT>(err);
|
||||
}
|
||||
|
||||
#endif // #if CL_HPP_TARGET_OPENCL_VERSION >= 210
|
||||
}; // DeviceCommandQueue
|
||||
|
||||
namespace detail
|
||||
@@ -10106,101 +9604,73 @@ namespace compatibility {
|
||||
|
||||
#undef CL_HPP_ERR_STR_
|
||||
#if !defined(CL_HPP_USER_OVERRIDE_ERROR_STRINGS)
|
||||
#undef __GET_DEVICE_INFO_ERR
|
||||
#undef __GET_PLATFORM_INFO_ERR
|
||||
#undef __GET_DEVICE_IDS_ERR
|
||||
#undef __GET_PLATFORM_IDS_ERR
|
||||
#undef __GET_CONTEXT_INFO_ERR
|
||||
#undef __GET_EVENT_INFO_ERR
|
||||
#undef __GET_EVENT_PROFILE_INFO_ERR
|
||||
#undef __GET_MEM_OBJECT_INFO_ERR
|
||||
#undef __GET_IMAGE_INFO_ERR
|
||||
#undef __GET_SAMPLER_INFO_ERR
|
||||
#undef __GET_KERNEL_INFO_ERR
|
||||
#undef __GET_KERNEL_ARG_INFO_ERR
|
||||
#undef __GET_KERNEL_SUB_GROUP_INFO_ERR
|
||||
#undef __GET_KERNEL_WORK_GROUP_INFO_ERR
|
||||
#undef __GET_PROGRAM_INFO_ERR
|
||||
#undef __GET_PROGRAM_BUILD_INFO_ERR
|
||||
#undef __GET_COMMAND_QUEUE_INFO_ERR
|
||||
#undef __CREATE_CONTEXT_ERR
|
||||
#undef __CREATE_CONTEXT_FROM_TYPE_ERR
|
||||
#undef __GET_SUPPORTED_IMAGE_FORMATS_ERR
|
||||
#undef __CREATE_BUFFER_ERR
|
||||
#undef __COPY_ERR
|
||||
#undef __CREATE_SUBBUFFER_ERR
|
||||
#undef __CREATE_GL_BUFFER_ERR
|
||||
#undef __CREATE_GL_RENDER_BUFFER_ERR
|
||||
#undef __GET_GL_OBJECT_INFO_ERR
|
||||
#undef __CREATE_IMAGE_ERR
|
||||
#undef __CREATE_GL_TEXTURE_ERR
|
||||
#undef __IMAGE_DIMENSION_ERR
|
||||
#undef __SET_MEM_OBJECT_DESTRUCTOR_CALLBACK_ERR
|
||||
#undef __CREATE_USER_EVENT_ERR
|
||||
#undef __SET_USER_EVENT_STATUS_ERR
|
||||
#undef __SET_EVENT_CALLBACK_ERR
|
||||
#undef __WAIT_FOR_EVENTS_ERR
|
||||
#undef __CREATE_KERNEL_ERR
|
||||
#undef __SET_KERNEL_ARGS_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_SOURCE_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_IL_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_BINARY_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_IL_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_BUILT_IN_KERNELS_ERR
|
||||
#undef __BUILD_PROGRAM_ERR
|
||||
#undef __COMPILE_PROGRAM_ERR
|
||||
#undef __LINK_PROGRAM_ERR
|
||||
#undef __CREATE_KERNELS_IN_PROGRAM_ERR
|
||||
#undef __CREATE_COMMAND_QUEUE_WITH_PROPERTIES_ERR
|
||||
#undef __CREATE_SAMPLER_WITH_PROPERTIES_ERR
|
||||
#undef __SET_COMMAND_QUEUE_PROPERTY_ERR
|
||||
#undef __ENQUEUE_READ_BUFFER_ERR
|
||||
#undef __ENQUEUE_READ_BUFFER_RECT_ERR
|
||||
#undef __ENQUEUE_WRITE_BUFFER_ERR
|
||||
#undef __ENQUEUE_WRITE_BUFFER_RECT_ERR
|
||||
#undef __ENQEUE_COPY_BUFFER_ERR
|
||||
#undef __ENQEUE_COPY_BUFFER_RECT_ERR
|
||||
#undef __ENQUEUE_FILL_BUFFER_ERR
|
||||
#undef __ENQUEUE_READ_IMAGE_ERR
|
||||
#undef __ENQUEUE_WRITE_IMAGE_ERR
|
||||
#undef __ENQUEUE_COPY_IMAGE_ERR
|
||||
#undef __ENQUEUE_FILL_IMAGE_ERR
|
||||
#undef __ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR
|
||||
#undef __ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR
|
||||
#undef __ENQUEUE_MAP_BUFFER_ERR
|
||||
#undef __ENQUEUE_MAP_IMAGE_ERR
|
||||
#undef __ENQUEUE_UNMAP_MEM_OBJECT_ERR
|
||||
#undef __ENQUEUE_NDRANGE_KERNEL_ERR
|
||||
#undef __ENQUEUE_NATIVE_KERNEL
|
||||
#undef __ENQUEUE_MIGRATE_MEM_OBJECTS_ERR
|
||||
#undef __ENQUEUE_MIGRATE_SVM_ERR
|
||||
#undef __ENQUEUE_ACQUIRE_GL_ERR
|
||||
#undef __ENQUEUE_RELEASE_GL_ERR
|
||||
#undef __CREATE_PIPE_ERR
|
||||
#undef __GET_PIPE_INFO_ERR
|
||||
#undef __RETAIN_ERR
|
||||
#undef __RELEASE_ERR
|
||||
#undef __FLUSH_ERR
|
||||
#undef __FINISH_ERR
|
||||
#undef __VECTOR_CAPACITY_ERR
|
||||
#undef __CREATE_SUB_DEVICES_ERR
|
||||
#undef __CREATE_SUB_DEVICES_ERR
|
||||
#undef __ENQUEUE_MARKER_ERR
|
||||
#undef __ENQUEUE_WAIT_FOR_EVENTS_ERR
|
||||
#undef __ENQUEUE_BARRIER_ERR
|
||||
#undef __UNLOAD_COMPILER_ERR
|
||||
#undef __CREATE_GL_TEXTURE_2D_ERR
|
||||
#undef __CREATE_GL_TEXTURE_3D_ERR
|
||||
#undef __CREATE_IMAGE2D_ERR
|
||||
#undef __CREATE_IMAGE3D_ERR
|
||||
#undef __CREATE_COMMAND_QUEUE_ERR
|
||||
#undef __ENQUEUE_TASK_ERR
|
||||
#undef __CREATE_SAMPLER_ERR
|
||||
#undef __ENQUEUE_MARKER_WAIT_LIST_ERR
|
||||
#undef __ENQUEUE_BARRIER_WAIT_LIST_ERR
|
||||
#undef __CLONE_KERNEL_ERR
|
||||
#undef __GET_HOST_TIMER_ERR
|
||||
#undef __GET_DEVICE_AND_HOST_TIMER_ERR
|
||||
#undef __GET_DEVICE_INFO_ERR
|
||||
#undef __GET_PLATFORM_INFO_ERR
|
||||
#undef __GET_DEVICE_IDS_ERR
|
||||
#undef __GET_CONTEXT_INFO_ERR
|
||||
#undef __GET_EVENT_INFO_ERR
|
||||
#undef __GET_EVENT_PROFILE_INFO_ERR
|
||||
#undef __GET_MEM_OBJECT_INFO_ERR
|
||||
#undef __GET_IMAGE_INFO_ERR
|
||||
#undef __GET_SAMPLER_INFO_ERR
|
||||
#undef __GET_KERNEL_INFO_ERR
|
||||
#undef __GET_KERNEL_ARG_INFO_ERR
|
||||
#undef __GET_KERNEL_WORK_GROUP_INFO_ERR
|
||||
#undef __GET_PROGRAM_INFO_ERR
|
||||
#undef __GET_PROGRAM_BUILD_INFO_ERR
|
||||
#undef __GET_COMMAND_QUEUE_INFO_ERR
|
||||
|
||||
#undef __CREATE_CONTEXT_ERR
|
||||
#undef __CREATE_CONTEXT_FROM_TYPE_ERR
|
||||
#undef __GET_SUPPORTED_IMAGE_FORMATS_ERR
|
||||
|
||||
#undef __CREATE_BUFFER_ERR
|
||||
#undef __CREATE_SUBBUFFER_ERR
|
||||
#undef __CREATE_IMAGE2D_ERR
|
||||
#undef __CREATE_IMAGE3D_ERR
|
||||
#undef __CREATE_SAMPLER_ERR
|
||||
#undef __SET_MEM_OBJECT_DESTRUCTOR_CALLBACK_ERR
|
||||
|
||||
#undef __CREATE_USER_EVENT_ERR
|
||||
#undef __SET_USER_EVENT_STATUS_ERR
|
||||
#undef __SET_EVENT_CALLBACK_ERR
|
||||
#undef __SET_PRINTF_CALLBACK_ERR
|
||||
|
||||
#undef __WAIT_FOR_EVENTS_ERR
|
||||
|
||||
#undef __CREATE_KERNEL_ERR
|
||||
#undef __SET_KERNEL_ARGS_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_SOURCE_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_BINARY_ERR
|
||||
#undef __CREATE_PROGRAM_WITH_BUILT_IN_KERNELS_ERR
|
||||
#undef __BUILD_PROGRAM_ERR
|
||||
#undef __CREATE_KERNELS_IN_PROGRAM_ERR
|
||||
|
||||
#undef __CREATE_COMMAND_QUEUE_ERR
|
||||
#undef __SET_COMMAND_QUEUE_PROPERTY_ERR
|
||||
#undef __ENQUEUE_READ_BUFFER_ERR
|
||||
#undef __ENQUEUE_WRITE_BUFFER_ERR
|
||||
#undef __ENQUEUE_READ_BUFFER_RECT_ERR
|
||||
#undef __ENQUEUE_WRITE_BUFFER_RECT_ERR
|
||||
#undef __ENQEUE_COPY_BUFFER_ERR
|
||||
#undef __ENQEUE_COPY_BUFFER_RECT_ERR
|
||||
#undef __ENQUEUE_READ_IMAGE_ERR
|
||||
#undef __ENQUEUE_WRITE_IMAGE_ERR
|
||||
#undef __ENQUEUE_COPY_IMAGE_ERR
|
||||
#undef __ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR
|
||||
#undef __ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR
|
||||
#undef __ENQUEUE_MAP_BUFFER_ERR
|
||||
#undef __ENQUEUE_MAP_IMAGE_ERR
|
||||
#undef __ENQUEUE_UNMAP_MEM_OBJECT_ERR
|
||||
#undef __ENQUEUE_NDRANGE_KERNEL_ERR
|
||||
#undef __ENQUEUE_TASK_ERR
|
||||
#undef __ENQUEUE_NATIVE_KERNEL
|
||||
|
||||
#undef __UNLOAD_COMPILER_ERR
|
||||
#undef __CREATE_SUB_DEVICES_ERR
|
||||
|
||||
#undef __CREATE_PIPE_ERR
|
||||
#undef __GET_PIPE_INFO_ERR
|
||||
|
||||
#endif //CL_HPP_USER_OVERRIDE_ERROR_STRINGS
|
||||
|
||||
|
@@ -147,29 +147,21 @@ typedef CL_API_ENTRY cl_program
|
||||
size_t length,
|
||||
cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_2;
|
||||
|
||||
/* Extension: cl_khr_image2d_from_buffer
|
||||
/* Extension: cl_khr_image2D_buffer
|
||||
*
|
||||
* This extension allows a 2D image to be created from a cl_mem buffer without
|
||||
* a copy. The type associated with a 2D image created from a buffer in an
|
||||
* OpenCL program is image2d_t. Both the sampler and sampler-less read_image
|
||||
* built-in functions are supported for 2D images and 2D images created from
|
||||
* a buffer. Similarly, the write_image built-ins are also supported for 2D
|
||||
* images created from a buffer.
|
||||
* This extension allows a 2D image to be created from a cl_mem buffer without a copy.
|
||||
* The type associated with a 2D image created from a buffer in an OpenCL program is image2d_t.
|
||||
* Both the sampler and sampler-less read_image built-in functions are supported for 2D images
|
||||
* and 2D images created from a buffer. Similarly, the write_image built-ins are also supported
|
||||
* for 2D images created from a buffer.
|
||||
*
|
||||
* When the 2D image from buffer is created, the client must specify the
|
||||
* width, height, image format (i.e. channel order and channel data type)
|
||||
* and optionally the row pitch.
|
||||
* When the 2D image from buffer is created, the client must specify the width,
|
||||
* height, image format (i.e. channel order and channel data type) and optionally the row pitch
|
||||
*
|
||||
* The pitch specified must be a multiple of
|
||||
* CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR pixels.
|
||||
* The base address of the buffer must be aligned to
|
||||
* CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR pixels.
|
||||
* The pitch specified must be a multiple of CL_DEVICE_IMAGE_PITCH_ALIGNMENT pixels.
|
||||
* The base address of the buffer must be aligned to CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT pixels.
|
||||
*/
|
||||
|
||||
#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR 0x104A
|
||||
#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR 0x104B
|
||||
|
||||
|
||||
/**************************************
|
||||
* cl_khr_initialize_memory extension *
|
||||
**************************************/
|
||||
@@ -578,49 +570,6 @@ typedef cl_uint cl_queue_throttle_khr;
|
||||
#define CL_DEVICE_MAX_NAMED_BARRIER_COUNT_KHR 0x2035
|
||||
|
||||
|
||||
/*********************************
|
||||
* cl_khr_extended_versioning
|
||||
*********************************/
|
||||
|
||||
#define CL_VERSION_MAJOR_BITS_KHR (10)
|
||||
#define CL_VERSION_MINOR_BITS_KHR (10)
|
||||
#define CL_VERSION_PATCH_BITS_KHR (12)
|
||||
|
||||
#define CL_VERSION_MAJOR_MASK_KHR ((1 << CL_VERSION_MAJOR_BITS_KHR) - 1)
|
||||
#define CL_VERSION_MINOR_MASK_KHR ((1 << CL_VERSION_MINOR_BITS_KHR) - 1)
|
||||
#define CL_VERSION_PATCH_MASK_KHR ((1 << CL_VERSION_PATCH_BITS_KHR) - 1)
|
||||
|
||||
#define CL_VERSION_MAJOR_KHR(version) ((version) >> (CL_VERSION_MINOR_BITS_KHR + CL_VERSION_PATCH_BITS_KHR))
|
||||
#define CL_VERSION_MINOR_KHR(version) (((version) >> CL_VERSION_PATCH_BITS_KHR) & CL_VERSION_MINOR_MASK_KHR)
|
||||
#define CL_VERSION_PATCH_KHR(version) ((version) & CL_VERSION_PATCH_MASK_KHR)
|
||||
|
||||
#define CL_MAKE_VERSION_KHR(major, minor, patch) \
|
||||
((((major) & CL_VERSION_MAJOR_MASK_KHR) << (CL_VERSION_MINOR_BITS_KHR + CL_VERSION_PATCH_BITS_KHR)) | \
|
||||
(((minor) & CL_VERSION_MINOR_MASK_KHR) << CL_VERSION_PATCH_BITS_KHR) | \
|
||||
((patch) & CL_VERSION_PATCH_MASK_KHR))
|
||||
|
||||
typedef cl_uint cl_version_khr;
|
||||
|
||||
#define CL_NAME_VERSION_MAX_NAME_SIZE_KHR 64
|
||||
|
||||
typedef struct _cl_name_version_khr
|
||||
{
|
||||
cl_version_khr version;
|
||||
char name[CL_NAME_VERSION_MAX_NAME_SIZE_KHR];
|
||||
} cl_name_version_khr;
|
||||
|
||||
/* cl_platform_info */
|
||||
#define CL_PLATFORM_NUMERIC_VERSION_KHR 0x0906
|
||||
#define CL_PLATFORM_EXTENSIONS_WITH_VERSION_KHR 0x0907
|
||||
|
||||
/* cl_device_info */
|
||||
#define CL_DEVICE_NUMERIC_VERSION_KHR 0x105E
|
||||
#define CL_DEVICE_OPENCL_C_NUMERIC_VERSION_KHR 0x105F
|
||||
#define CL_DEVICE_EXTENSIONS_WITH_VERSION_KHR 0x1060
|
||||
#define CL_DEVICE_ILS_WITH_VERSION_KHR 0x1061
|
||||
#define CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION_KHR 0x1062
|
||||
|
||||
|
||||
/**********************************
|
||||
* cl_arm_import_memory extension *
|
||||
**********************************/
|
||||
@@ -640,12 +589,6 @@ typedef intptr_t cl_import_properties_arm;
|
||||
/* Protected DMA BUF memory type value for CL_IMPORT_TYPE_ARM property */
|
||||
#define CL_IMPORT_TYPE_PROTECTED_ARM 0x40B5
|
||||
|
||||
/* Android hardware buffer type value for CL_IMPORT_TYPE_ARM property */
|
||||
#define CL_IMPORT_TYPE_ANDROID_HARDWARE_BUFFER_ARM 0x41E2
|
||||
|
||||
/* Import memory size value to indicate a size for the whole buffer */
|
||||
#define CL_IMPORT_MEMORY_WHOLE_ALLOCATION_ARM SIZE_MAX
|
||||
|
||||
/* This extension adds a new function that allows for direct memory import into
|
||||
* OpenCL via the clImportMemoryARM function.
|
||||
*
|
||||
@@ -791,18 +734,6 @@ clSetKernelExecInfoARM(cl_kernel kernel,
|
||||
|
||||
#endif /* CL_VERSION_1_2 */
|
||||
|
||||
/*********************************
|
||||
* cl_arm_job_slot_selection
|
||||
*********************************/
|
||||
|
||||
#define cl_arm_job_slot_selection 1
|
||||
|
||||
/* cl_device_info */
|
||||
#define CL_DEVICE_JOB_SLOTS_ARM 0x41E0
|
||||
|
||||
/* cl_command_queue_properties */
|
||||
#define CL_QUEUE_JOB_SLOT_ARM 0x41E1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
1269
include/CL/cl_icd.h
1269
include/CL/cl_icd.h
File diff suppressed because it is too large
Load Diff
@@ -67,56 +67,101 @@ extern "C" {
|
||||
#define CL_API_SUFFIX__VERSION_2_2
|
||||
#define CL_EXT_SUFFIX__VERSION_2_2
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define CL_EXT_SUFFIX_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX_DEPRECATED
|
||||
#elif defined(_WIN32)
|
||||
#define CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX_DEPRECATED __declspec(deprecated)
|
||||
#else
|
||||
#define CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_0_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED __attribute__((deprecated))
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED
|
||||
#endif
|
||||
#elif defined(_WIN32)
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_0_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED __declspec(deprecated)
|
||||
#endif
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_0_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_0_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_0_DEPRECATED CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
|
||||
#ifdef CL_USE_DEPRECATED_OPENCL_2_1_APIS
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED
|
||||
#else
|
||||
#define CL_EXT_SUFFIX__VERSION_2_1_DEPRECATED CL_EXT_SUFFIX_DEPRECATED
|
||||
#define CL_EXT_PREFIX__VERSION_2_1_DEPRECATED CL_EXT_PREFIX_DEPRECATED
|
||||
#endif
|
||||
|
||||
#if (defined (_WIN32) && defined(_MSC_VER))
|
||||
@@ -226,16 +271,16 @@ typedef double cl_double;
|
||||
/* scalar types */
|
||||
typedef int8_t cl_char;
|
||||
typedef uint8_t cl_uchar;
|
||||
typedef int16_t cl_short;
|
||||
typedef uint16_t cl_ushort;
|
||||
typedef int32_t cl_int;
|
||||
typedef uint32_t cl_uint;
|
||||
typedef int64_t cl_long;
|
||||
typedef uint64_t cl_ulong;
|
||||
typedef int16_t cl_short __attribute__((aligned(2)));
|
||||
typedef uint16_t cl_ushort __attribute__((aligned(2)));
|
||||
typedef int32_t cl_int __attribute__((aligned(4)));
|
||||
typedef uint32_t cl_uint __attribute__((aligned(4)));
|
||||
typedef int64_t cl_long __attribute__((aligned(8)));
|
||||
typedef uint64_t cl_ulong __attribute__((aligned(8)));
|
||||
|
||||
typedef uint16_t cl_half;
|
||||
typedef float cl_float;
|
||||
typedef double cl_double;
|
||||
typedef uint16_t cl_half __attribute__((aligned(2)));
|
||||
typedef float cl_float __attribute__((aligned(4)));
|
||||
typedef double cl_double __attribute__((aligned(8)));
|
||||
|
||||
/* Macro names and corresponding values defined by OpenCL */
|
||||
#define CL_CHAR_BIT 8
|
||||
|
@@ -1362,6 +1362,20 @@ EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
|
||||
#define EGL_NATIVE_SURFACE_TIZEN 0x32A1
|
||||
#endif /* EGL_TIZEN_image_native_surface */
|
||||
|
||||
#ifndef EGL_EXT_image_flush_external
|
||||
#define EGL_EXT_image_flush_external 1
|
||||
#define EGL_IMAGE_EXTERNAL_FLUSH_EXT 0x32A2
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEFLUSHEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEINVALIDATEEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglImageFlushExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglImageInvalidateExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
#endif
|
||||
#endif /* EGL_EXT_image_flush_external */
|
||||
|
||||
#include <EGL/eglmesaext.h>
|
||||
#include <EGL/eglextchromium.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -53,17 +53,6 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCVALUESCHROMIUMPROC)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef EGL_EXT_image_flush_external
|
||||
#define EGL_EXT_image_flush_external 1
|
||||
#define EGL_IMAGE_EXTERNAL_FLUSH_EXT 0x32A2
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEFLUSHEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEINVALIDATEEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglImageFlushExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglImageInvalidateExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
|
||||
#endif
|
||||
#endif /* EGL_EXT_image_flush_external */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user