From: Eric Anholt Date: Thu, 27 Aug 2020 00:02:41 +0000 (-0700) Subject: ci: Use the same VK-GL-CTS tree for GL/GLES as VK. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef807a52f132d789063ba3d5b8b090c6816c4915;p=mesa.git ci: Use the same VK-GL-CTS tree for GL/GLES as VK. There's no need to have separate build scripts here, just choose what the DEQP_TARGET is for the particular container being built. This brings in a tremendous number of GLES test fixes that haven't made it into a tagged gles CTS release. Closes: #2056 Reviewed-by: Rob Clark Part-of: --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c9d53ff9c4..fbfcc26ccbd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -296,7 +296,7 @@ x86_test-base: x86_test-gl: extends: .use-x86_test-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-08-24-gold" + FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-08-31-deqp-version" # Debian 10 based x86 test image for VK x86_test-vk: @@ -324,7 +324,7 @@ arm_build: - .fdo.container-build@debian@arm64v8 - .container variables: - FDO_DISTRIBUTION_TAG: &arm_build "2020-08-13-gold" + FDO_DISTRIBUTION_TAG: &arm_build "2020-08-31-deqp-version" .use-arm_build: variables: diff --git a/.gitlab-ci/build-deqp-gl.sh b/.gitlab-ci/build-deqp-gl.sh deleted file mode 100644 index ef47274ce5c..00000000000 --- a/.gitlab-ci/build-deqp-gl.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -git config --global user.email "mesa@example.com" -git config --global user.name "Mesa CI" -git clone \ - --depth 1 \ - https://github.com/KhronosGroup/VK-GL-CTS.git \ - -b opengl-es-cts-3.2.6.1 \ - /VK-GL-CTS -pushd /VK-GL-CTS - -# 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.6.x/$gles-master.txt \ - /deqp/mustpass/$gles-master.txt -done -cp \ - /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \ - /deqp/mustpass/. - - - -# 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 - -ls /deqp/external | grep -v openglcts | xargs rm -rf -rm -rf /deqp/modules/internal -rm -rf /deqp/execserver -rm -rf /deqp/modules/egl -rm -rf /deqp/framework -rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass -rm -rf /deqp/external/openglcts/modules/cts-runner -rm -rf /deqp/external/vulkancts/modules/vulkan/vk-build-programs -find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf -${STRIP_CMD:-strip} modules/*/deqp-* external/openglcts/modules/glcts -du -sh * -rm -rf /VK-GL-CTS -popd diff --git a/.gitlab-ci/build-deqp-vk.sh b/.gitlab-ci/build-deqp-vk.sh deleted file mode 100644 index a8163c20ab5..00000000000 --- a/.gitlab-ci/build-deqp-vk.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -set -ex - -git config --global user.email "mesa@example.com" -git config --global user.name "Mesa CI" -git clone \ - https://github.com/KhronosGroup/VK-GL-CTS.git \ - -b vulkan-cts-1.2.3.2 \ - --depth 1 \ - /VK-GL-CTS -pushd /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 - -# Save the testlog stylesheets: -cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp -popd - -pushd /deqp -cmake -G Ninja \ - -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \ - -DCMAKE_BUILD_TYPE=Release \ - $EXTRA_CMAKE_ARGS \ - /VK-GL-CTS -ninja - -# Copy out the mustpass lists we want. -mkdir /deqp/mustpass -cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \ - /deqp/mustpass/vk-master.txt - -cp \ - /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/*.txt \ - /deqp/mustpass/. -cp \ - /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \ - /deqp/mustpass/. - -# 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/openglcts/modules/gl_cts/data/mustpass -rm -rf /deqp/external/openglcts/modules/cts-runner -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} external/vulkancts/modules/vulkan/deqp-vk -${STRIP_CMD:-strip} external/openglcts/modules/glcts -${STRIP_CMD:-strip} modules/*/deqp-* -du -sh * -rm -rf /VK-GL-CTS -popd diff --git a/.gitlab-ci/build-deqp.sh b/.gitlab-ci/build-deqp.sh new file mode 100644 index 00000000000..a8163c20ab5 --- /dev/null +++ b/.gitlab-ci/build-deqp.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +set -ex + +git config --global user.email "mesa@example.com" +git config --global user.name "Mesa CI" +git clone \ + https://github.com/KhronosGroup/VK-GL-CTS.git \ + -b vulkan-cts-1.2.3.2 \ + --depth 1 \ + /VK-GL-CTS +pushd /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 + +# Save the testlog stylesheets: +cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp +popd + +pushd /deqp +cmake -G Ninja \ + -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \ + -DCMAKE_BUILD_TYPE=Release \ + $EXTRA_CMAKE_ARGS \ + /VK-GL-CTS +ninja + +# Copy out the mustpass lists we want. +mkdir /deqp/mustpass +cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \ + /deqp/mustpass/vk-master.txt + +cp \ + /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/*.txt \ + /deqp/mustpass/. +cp \ + /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \ + /deqp/mustpass/. + +# 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/openglcts/modules/gl_cts/data/mustpass +rm -rf /deqp/external/openglcts/modules/cts-runner +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} external/vulkancts/modules/vulkan/deqp-vk +${STRIP_CMD:-strip} external/openglcts/modules/glcts +${STRIP_CMD:-strip} modules/*/deqp-* +du -sh * +rm -rf /VK-GL-CTS +popd diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh index 4e945d4bcf8..5462fedff3d 100755 --- a/.gitlab-ci/container/lava_build.sh +++ b/.gitlab-ci/container/lava_build.sh @@ -94,11 +94,7 @@ mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/. ############### Build dEQP STRIP_CMD="${GCC_ARCH}-strip" -if [ -n "$INCLUDE_VK_CTS" ]; then - DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp-vk.sh -else - . .gitlab-ci/build-deqp-gl.sh -fi +DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp.sh mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/. diff --git a/.gitlab-ci/container/x86_test-gl.sh b/.gitlab-ci/container/x86_test-gl.sh index aaed8ec1459..2edef883a40 100644 --- a/.gitlab-ci/container/x86_test-gl.sh +++ b/.gitlab-ci/container/x86_test-gl.sh @@ -53,7 +53,7 @@ apt-get install -y --no-remove \ ############### Build dEQP GL -. .gitlab-ci/build-deqp-gl.sh +DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp.sh ############### Build apitrace diff --git a/.gitlab-ci/container/x86_test-vk.sh b/.gitlab-ci/container/x86_test-vk.sh index c3228071015..c99b915e07e 100644 --- a/.gitlab-ci/container/x86_test-vk.sh +++ b/.gitlab-ci/container/x86_test-vk.sh @@ -117,7 +117,7 @@ wine \ ############### Build dEQP VK -. .gitlab-ci/build-deqp-vk.sh +. .gitlab-ci/build-deqp.sh ############### Build gfxreconstruct diff --git a/.gitlab-ci/deqp-softpipe-fails.txt b/.gitlab-ci/deqp-softpipe-fails.txt index b3e044962aa..0136e522d9e 100644 --- a/.gitlab-ci/deqp-softpipe-fails.txt +++ b/.gitlab-ci/deqp-softpipe-fails.txt @@ -14,7 +14,6 @@ dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide dEQP-GLES2.functional.rasterization.limits.points -dEQP-GLES2.functional.rasterization.primitives.points dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner dEQP-GLES3.functional.clipping.point.wide_point_clip @@ -87,16 +86,13 @@ dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines_wide dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide -dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.primitives.points dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide -dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide -dEQP-GLES3.functional.rasterization.primitives.points dEQP-GLES3.functional.rasterizer_discard.basic.write_depth_points dEQP-GLES3.functional.rasterizer_discard.basic.write_stencil_points dEQP-GLES3.functional.rasterizer_discard.fbo.write_depth_points @@ -845,14 +841,9 @@ KHR-GL33.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue KHR-GL33.clip_distance.functional KHR-GL33.cull_distance.functional KHR-GL33.pipeline_statistics_query_tests_ARB.functional_compute_shader_invocations -KHR-GL33.pipeline_statistics_query_tests_ARB.functional_default_qo_values KHR-GL33.pipeline_statistics_query_tests_ARB.functional_fragment_shader_invocations -KHR-GL33.pipeline_statistics_query_tests_ARB.functional_geometry_shader_queries -KHR-GL33.pipeline_statistics_query_tests_ARB.functional_non_rendering_commands_do_not_affect_queries KHR-GL33.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives -KHR-GL33.pipeline_statistics_query_tests_ARB.functional_vertex_shader_invocations KHR-GL33.texture_size_promotion.functional -KHR-GL33.transform_feedback.api_errors_test KHR-GL33.transform_feedback.capture_geometry_interleaved_test KHR-GL33.transform_feedback.capture_geometry_separate_test KHR-GL33.transform_feedback.capture_vertex_interleaved_test