summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml115
-rw-r--r--.gitlab-ci/all-skips.txt (renamed from .gitlab-ci/deqp-all-skips.txt)10
-rwxr-xr-x.gitlab-ci/bare-metal/arm64_a630_egl.sh2
-rwxr-xr-x.gitlab-ci/bare-metal/cros_servo_run.py15
-rwxr-xr-x.gitlab-ci/bare-metal/fastboot_run.py4
-rw-r--r--.gitlab-ci/bare-metal/rootfs-setup.sh7
-rwxr-xr-x.gitlab-ci/bare-metal/serial_buffer.py12
-rwxr-xr-x.gitlab-ci/common/generate-env.sh22
-rwxr-xr-x.gitlab-ci/common/init-stage2.sh2
-rw-r--r--.gitlab-ci/container/arm64.config15
-rw-r--r--.gitlab-ci/container/build-crosvm.sh42
-rw-r--r--.gitlab-ci/container/build-deqp-runner.sh2
-rw-r--r--.gitlab-ci/container/build-deqp.sh2
-rw-r--r--.gitlab-ci/container/build-libdrm.sh2
-rw-r--r--.gitlab-ci/container/build-piglit.sh2
-rw-r--r--.gitlab-ci/container/build-va-tools.sh17
-rw-r--r--.gitlab-ci/container/build-virglrenderer.sh20
-rw-r--r--.gitlab-ci/container/build-wayland.sh22
-rw-r--r--.gitlab-ci/container/create-android-cross-file.sh2
-rw-r--r--.gitlab-ci/container/create-rootfs.sh4
-rw-r--r--.gitlab-ci/container/debian/android_build.sh50
-rw-r--r--.gitlab-ci/container/debian/arm_build.sh2
-rw-r--r--.gitlab-ci/container/debian/x86_build-base.sh3
-rw-r--r--.gitlab-ci/container/debian/x86_build.sh8
-rw-r--r--.gitlab-ci/container/debian/x86_test-base.sh2
-rw-r--r--.gitlab-ci/container/debian/x86_test-gl.sh33
-rw-r--r--.gitlab-ci/container/debian/x86_test-vk.sh6
-rw-r--r--.gitlab-ci/container/fedora/x86_build.sh11
-rwxr-xr-x.gitlab-ci/container/lava_build.sh15
-rw-r--r--.gitlab-ci/container/x86_64.config7
-rw-r--r--.gitlab-ci/cross-xfail-s390x1
-rwxr-xr-x.gitlab-ci/crosvm-init.sh26
-rwxr-xr-x.gitlab-ci/crosvm-runner.sh51
-rwxr-xr-x.gitlab-ci/deqp-runner.sh196
-rw-r--r--.gitlab-ci/gtest-runner.sh70
-rwxr-xr-x.gitlab-ci/lava/lava-gitlab-ci.yml2
-rwxr-xr-x.gitlab-ci/lava/lava-submit.sh5
-rwxr-xr-x.gitlab-ci/lava/lava_job_submitter.py63
-rw-r--r--.gitlab-ci/piglit/piglit-all-skips.txt6
-rwxr-xr-x.gitlab-ci/piglit/piglit-runner.sh64
-rwxr-xr-x.gitlab-ci/piglit/run.sh3
-rwxr-xr-x.gitlab-ci/prepare-artifacts.sh7
-rw-r--r--.gitlab-ci/test-source-dep.yml26
-rw-r--r--.gitlab-ci/windows/mesa_build.ps18
-rw-r--r--.gitlab-ci/windows/mesa_deps.ps19
-rw-r--r--.gitlab-ci/windows/piglit_run.ps12
-rw-r--r--.gitlab-ci/windows/spirv2dxil_check.ps153
-rw-r--r--.gitlab-ci/windows/spirv2dxil_run.ps116
-rw-r--r--.mailmap2
-rw-r--r--CODEOWNERS138
-rw-r--r--REVIEWERS114
-rw-r--r--VERSION2
-rw-r--r--android/Android.mk9
-rw-r--r--android/mesa3d_cross.mk7
-rwxr-xr-xbin/khronos-update.py7
-rwxr-xr-xbin/update-android-headers.sh23
-rw-r--r--docs/drivers/freedreno/isaspec.rst5
-rw-r--r--docs/drivers/lima.rst2
-rw-r--r--docs/drivers/panfrost.rst11
-rw-r--r--docs/envvars.rst116
-rw-r--r--docs/features.txt91
-rw-r--r--docs/gallium/screen.rst28
-rw-r--r--docs/perfetto.rst40
-rw-r--r--docs/release-calendar.csv23
-rw-r--r--docs/releasing.rst36
-rw-r--r--docs/relnotes.rst14
-rw-r--r--docs/relnotes/21.2.2.rst293
-rw-r--r--docs/relnotes/21.2.3.rst139
-rw-r--r--docs/relnotes/21.2.4.rst147
-rw-r--r--docs/relnotes/21.2.5.rst138
-rw-r--r--docs/relnotes/21.2.6.rst161
-rw-r--r--docs/relnotes/21.3.0.rst4398
-rw-r--r--docs/relnotes/21.3.1.rst132
-rw-r--r--docs/relnotes/new_features.txt19
-rw-r--r--docs/submittingpatches.rst14
-rw-r--r--include/EGL/eglext.h18
-rw-r--r--include/GL/internal/dri_interface.h138
-rw-r--r--include/android_stub/android/hardware_buffer.h7
-rw-r--r--include/android_stub/android/log.h2
-rw-r--r--include/android_stub/android/native_window.h12
-rw-r--r--include/android_stub/apex/window.h210
-rw-r--r--include/android_stub/cutils/compiler.h44
-rw-r--r--include/android_stub/cutils/trace.h238
-rw-r--r--include/android_stub/log/log_main.h10
-rw-r--r--include/android_stub/ndk/sync.h4
-rw-r--r--include/android_stub/vndk/hardware_buffer.h14
-rw-r--r--include/c11/threads.h2
-rw-r--r--include/c11/threads_posix.h6
-rw-r--r--include/c11/threads_win32.h4
-rw-r--r--include/drm-uapi/virtgpu_drm.h27
-rw-r--r--include/pci_ids/iris_pci_ids.h2
-rw-r--r--include/vk_video/vulkan_video_codec_h264std.h312
-rw-r--r--include/vk_video/vulkan_video_codec_h264std_decode.h96
-rw-r--r--include/vk_video/vulkan_video_codec_h264std_encode.h94
-rw-r--r--include/vk_video/vulkan_video_codec_h265std.h371
-rw-r--r--include/vk_video/vulkan_video_codec_h265std_decode.h64
-rw-r--r--include/vk_video/vulkan_video_codec_h265std_encode.h122
-rw-r--r--include/vk_video/vulkan_video_codecs_common.h21
-rw-r--r--include/vulkan/vk_icd.h2
-rw-r--r--include/vulkan/vulkan_android.h15
-rw-r--r--include/vulkan/vulkan_beta.h137
-rw-r--r--include/vulkan/vulkan_core.h416
-rw-r--r--include/vulkan/vulkan_fuchsia.h137
-rw-r--r--meson.build445
-rw-r--r--meson_options.txt8
-rw-r--r--src/amd/addrlib/inc/addrinterface.h51
-rw-r--r--src/amd/addrlib/inc/addrtypes.h51
-rw-r--r--src/amd/addrlib/meson.build11
-rw-r--r--src/amd/addrlib/src/addrinterface.cpp51
-rw-r--r--src/amd/addrlib/src/amdgpu_asic_addr.h51
-rw-r--r--src/amd/addrlib/src/chip/r800/si_gb_reg.h51
-rw-r--r--src/amd/addrlib/src/core/addrcommon.h59
-rw-r--r--src/amd/addrlib/src/core/addrelemlib.cpp51
-rw-r--r--src/amd/addrlib/src/core/addrelemlib.h52
-rw-r--r--src/amd/addrlib/src/core/addrlib.cpp51
-rw-r--r--src/amd/addrlib/src/core/addrlib.h51
-rw-r--r--src/amd/addrlib/src/core/addrlib1.cpp51
-rw-r--r--src/amd/addrlib/src/core/addrlib1.h52
-rw-r--r--src/amd/addrlib/src/core/addrlib2.cpp52
-rw-r--r--src/amd/addrlib/src/core/addrlib2.h52
-rw-r--r--src/amd/addrlib/src/core/addrobject.cpp52
-rw-r--r--src/amd/addrlib/src/core/addrobject.h52
-rw-r--r--src/amd/addrlib/src/core/coord.cpp51
-rw-r--r--src/amd/addrlib/src/core/coord.h51
-rw-r--r--src/amd/addrlib/src/gfx10/gfx10SwizzlePattern.h53
-rw-r--r--src/amd/addrlib/src/gfx10/gfx10addrlib.cpp139
-rw-r--r--src/amd/addrlib/src/gfx10/gfx10addrlib.h52
-rw-r--r--src/amd/addrlib/src/gfx9/gfx9addrlib.cpp131
-rw-r--r--src/amd/addrlib/src/gfx9/gfx9addrlib.h51
-rw-r--r--src/amd/addrlib/src/r800/ciaddrlib.cpp51
-rw-r--r--src/amd/addrlib/src/r800/ciaddrlib.h51
-rw-r--r--src/amd/addrlib/src/r800/egbaddrlib.cpp51
-rw-r--r--src/amd/addrlib/src/r800/egbaddrlib.h51
-rw-r--r--src/amd/addrlib/src/r800/siaddrlib.cpp51
-rw-r--r--src/amd/addrlib/src/r800/siaddrlib.h51
-rw-r--r--src/amd/ci/gitlab-ci.yml14
-rw-r--r--src/amd/ci/radv-bonaire-aco-fails.txt (renamed from src/amd/ci/deqp-radv-bonaire-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-bonaire-aco-skips.txt (renamed from src/amd/ci/deqp-radv-bonaire-aco-skips.txt)0
-rw-r--r--src/amd/ci/radv-fiji-aco-fails.txt (renamed from src/amd/ci/deqp-radv-fiji-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-hawaii-aco-fails.txt (renamed from src/amd/ci/deqp-radv-hawaii-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-hawaii-aco-skips.txt (renamed from src/amd/ci/deqp-radv-hawaii-aco-skips.txt)0
-rw-r--r--src/amd/ci/radv-navi10-aco-fails.txt (renamed from src/amd/ci/deqp-radv-navi10-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-navi14-aco-fails.txt (renamed from src/amd/ci/deqp-radv-navi14-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-oland-aco-fails.txt (renamed from src/amd/ci/deqp-radv-oland-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-pitcairn-aco-fails.txt (renamed from src/amd/ci/deqp-radv-pitcairn-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-polaris10-aco-fails.txt (renamed from src/amd/ci/deqp-radv-polaris10-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-raven-aco-fails.txt (renamed from src/amd/ci/deqp-radv-raven-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-raven-aco-flakes.txt2
-rw-r--r--src/amd/ci/radv-raven-aco-skips.txt (renamed from src/amd/ci/deqp-radv-raven-aco-skips.txt)0
-rw-r--r--src/amd/ci/radv-renoir-aco-fails.txt (renamed from src/amd/ci/deqp-radv-renoir-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-renoir-aco-flakes.txt2
-rw-r--r--src/amd/ci/radv-sienna_cichlid-aco-fails.txt (renamed from src/amd/ci/deqp-radv-sienna_cichlid-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-skips.txt (renamed from src/amd/ci/deqp-radv-skips.txt)0
-rw-r--r--src/amd/ci/radv-stoney-aco-fails.txt (renamed from src/amd/ci/deqp-radv-stoney-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-stoney-aco-flakes.txt (renamed from src/amd/ci/deqp-radv-stoney-aco-flakes.txt)0
-rw-r--r--src/amd/ci/radv-stoney-aco-skips.txt (renamed from src/amd/ci/deqp-radv-stoney-aco-skips.txt)0
-rw-r--r--src/amd/ci/radv-vangogh-aco-fails.txt (renamed from src/amd/ci/deqp-radv-vangogh-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-vega10-aco-fails.txt (renamed from src/amd/ci/deqp-radv-vega10-aco-fails.txt)0
-rw-r--r--src/amd/ci/radv-vega10-aco-flakes.txt2
-rw-r--r--src/amd/common/ac_gpu_info.c27
-rw-r--r--src/amd/common/ac_gpu_info.h1
-rw-r--r--src/amd/common/ac_nir.h18
-rw-r--r--src/amd/common/ac_nir_cull.c9
-rw-r--r--src/amd/common/ac_nir_lower_esgs_io_to_mem.c2
-rw-r--r--src/amd/common/ac_nir_lower_ngg.c141
-rw-r--r--src/amd/common/ac_nir_lower_tess_io_to_mem.c8
-rw-r--r--src/amd/common/ac_perfcounter.c12
-rw-r--r--src/amd/common/ac_perfcounter.h3
-rw-r--r--src/amd/common/ac_rgp.c291
-rw-r--r--src/amd/common/ac_rgp.h85
-rw-r--r--src/amd/common/ac_shader_args.h1
-rw-r--r--src/amd/common/ac_spm.c368
-rw-r--r--src/amd/common/ac_spm.h125
-rw-r--r--src/amd/common/ac_sqtt.h5
-rw-r--r--src/amd/common/ac_surface.c180
-rw-r--r--src/amd/common/ac_surface.h5
-rw-r--r--src/amd/common/ac_surface_modifier_test.c2
-rw-r--r--src/amd/common/amd_family.c70
-rw-r--r--src/amd/common/meson.build3
-rw-r--r--src/amd/compiler/README-ISA.md10
-rw-r--r--src/amd/compiler/aco_builder_h.py2
-rw-r--r--src/amd/compiler/aco_insert_NOPs.cpp4
-rw-r--r--src/amd/compiler/aco_insert_waitcnt.cpp9
-rw-r--r--src/amd/compiler/aco_instruction_selection.cpp936
-rw-r--r--src/amd/compiler/aco_instruction_selection.h6
-rw-r--r--src/amd/compiler/aco_instruction_selection_setup.cpp204
-rw-r--r--src/amd/compiler/aco_interface.cpp117
-rw-r--r--src/amd/compiler/aco_interface.h13
-rw-r--r--src/amd/compiler/aco_ir.cpp30
-rw-r--r--src/amd/compiler/aco_ir.h31
-rw-r--r--src/amd/compiler/aco_live_var_analysis.cpp3
-rw-r--r--src/amd/compiler/aco_lower_to_cssa.cpp3
-rw-r--r--src/amd/compiler/aco_lower_to_hw_instr.cpp12
-rw-r--r--src/amd/compiler/aco_optimizer.cpp92
-rw-r--r--src/amd/compiler/aco_optimizer_postRA.cpp7
-rw-r--r--src/amd/compiler/aco_print_asm.cpp130
-rw-r--r--src/amd/compiler/aco_register_allocation.cpp523
-rw-r--r--src/amd/compiler/aco_scheduler.cpp35
-rw-r--r--src/amd/compiler/aco_spill.cpp343
-rw-r--r--src/amd/compiler/aco_statistics.cpp9
-rw-r--r--src/amd/compiler/aco_validate.cpp146
-rw-r--r--src/amd/compiler/tests/helpers.cpp37
-rw-r--r--src/amd/compiler/tests/meson.build2
-rw-r--r--src/amd/compiler/tests/test_optimizer.cpp20
-rw-r--r--src/amd/llvm/ac_llvm_build.c35
-rw-r--r--src/amd/llvm/ac_llvm_build.h1
-rw-r--r--src/amd/llvm/ac_llvm_cull.c166
-rw-r--r--src/amd/llvm/ac_llvm_cull.h12
-rw-r--r--src/amd/llvm/ac_nir_to_llvm.c58
-rw-r--r--src/amd/meson.build6
-rw-r--r--src/amd/vulkan/layers/radv_metro_exodus.c38
-rw-r--r--src/amd/vulkan/layers/radv_sqtt_layer.c164
-rw-r--r--src/amd/vulkan/meson.build59
-rw-r--r--src/amd/vulkan/radv_acceleration_structure.c758
-rw-r--r--src/amd/vulkan/radv_acceleration_structure.h15
-rw-r--r--src/amd/vulkan/radv_android.c122
-rw-r--r--src/amd/vulkan/radv_cmd_buffer.c1379
-rw-r--r--src/amd/vulkan/radv_constants.h7
-rw-r--r--src/amd/vulkan/radv_debug.c67
-rw-r--r--src/amd/vulkan/radv_debug.h37
-rw-r--r--src/amd/vulkan/radv_descriptor_set.c160
-rw-r--r--src/amd/vulkan/radv_descriptor_set.h2
-rw-r--r--src/amd/vulkan/radv_device.c1223
-rw-r--r--src/amd/vulkan/radv_formats.c337
-rw-r--r--src/amd/vulkan/radv_image.c177
-rw-r--r--src/amd/vulkan/radv_llvm_helper.cpp2
-rw-r--r--src/amd/vulkan/radv_llvm_helper.h (renamed from src/amd/vulkan/radv_shader_helper.h)0
-rw-r--r--src/amd/vulkan/radv_meta.c42
-rw-r--r--src/amd/vulkan/radv_meta.h16
-rw-r--r--src/amd/vulkan/radv_meta_blit.c5
-rw-r--r--src/amd/vulkan/radv_meta_blit2d.c11
-rw-r--r--src/amd/vulkan/radv_meta_buffer.c80
-rw-r--r--src/amd/vulkan/radv_meta_bufimage.c135
-rw-r--r--src/amd/vulkan/radv_meta_clear.c228
-rw-r--r--src/amd/vulkan/radv_meta_copy.c12
-rw-r--r--src/amd/vulkan/radv_meta_copy_vrs_htile.c21
-rw-r--r--src/amd/vulkan/radv_meta_dcc_retile.c62
-rw-r--r--src/amd/vulkan/radv_meta_decompress.c12
-rw-r--r--src/amd/vulkan/radv_meta_fast_clear.c32
-rw-r--r--src/amd/vulkan/radv_meta_fmask_copy.c366
-rw-r--r--src/amd/vulkan/radv_meta_fmask_expand.c22
-rw-r--r--src/amd/vulkan/radv_meta_resolve.c54
-rw-r--r--src/amd/vulkan/radv_meta_resolve_cs.c62
-rw-r--r--src/amd/vulkan/radv_meta_resolve_fs.c30
-rw-r--r--src/amd/vulkan/radv_nir_to_llvm.c395
-rw-r--r--src/amd/vulkan/radv_pass.c121
-rw-r--r--src/amd/vulkan/radv_pipeline.c1225
-rw-r--r--src/amd/vulkan/radv_pipeline_cache.c158
-rw-r--r--src/amd/vulkan/radv_pipeline_rt.c339
-rw-r--r--src/amd/vulkan/radv_private.h392
-rw-r--r--src/amd/vulkan/radv_query.c173
-rw-r--r--src/amd/vulkan/radv_shader.c962
-rw-r--r--src/amd/vulkan/radv_shader.h297
-rw-r--r--src/amd/vulkan/radv_shader_args.c441
-rw-r--r--src/amd/vulkan/radv_shader_args.h18
-rw-r--r--src/amd/vulkan/radv_shader_info.c242
-rw-r--r--src/amd/vulkan/radv_sqtt.c83
-rw-r--r--src/amd/vulkan/radv_util.c45
-rw-r--r--src/amd/vulkan/radv_wsi.c181
-rw-r--r--src/amd/vulkan/radv_wsi_display.c187
-rw-r--r--src/amd/vulkan/radv_wsi_wayland.c53
-rw-r--r--src/amd/vulkan/radv_wsi_x11.c91
-rw-r--r--src/amd/vulkan/si_cmd_buffer.c26
-rw-r--r--src/amd/vulkan/vk_format.h69
-rw-r--r--src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c42
-rw-r--r--src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h2
-rw-r--r--src/amd/vulkan/winsys/null/radv_null_winsys.c7
-rw-r--r--src/android_stub/cutils_stub.cpp24
-rw-r--r--src/asahi/lib/agx_device.c4
-rw-r--r--src/asahi/lib/cmdbuf.xml20
-rw-r--r--src/asahi/lib/decode.c55
-rw-r--r--src/asahi/lib/io.h3
-rw-r--r--src/broadcom/ci/deqp-v3d-rpi4-fails.txt4
-rw-r--r--src/broadcom/ci/deqp-v3d-rpi4-flakes.txt3
-rw-r--r--src/broadcom/ci/deqp-v3d-rpi4-gles.toml2
-rw-r--r--src/broadcom/ci/deqp-v3dv-rpi4-fails.txt32
-rw-r--r--src/broadcom/ci/deqp-vc4-rpi3-fails.txt420
-rw-r--r--src/broadcom/ci/deqp-vc4-rpi3-gles.toml2
-rw-r--r--src/broadcom/ci/gitlab-ci.yml12
-rw-r--r--src/broadcom/ci/piglit-vc4-rpi3-flakes.txt8
-rw-r--r--src/broadcom/ci/piglit-vc4-rpi3-skips.txt19
-rw-r--r--src/broadcom/ci/v3d-rpi4-fails.txt (renamed from src/broadcom/ci/piglit-v3d-rpi4-fails.txt)10
-rw-r--r--src/broadcom/ci/v3d-rpi4-flakes.txt (renamed from src/broadcom/ci/piglit-v3d-rpi4-flakes.txt)4
-rw-r--r--src/broadcom/ci/v3d-rpi4-skips.txt (renamed from src/broadcom/ci/piglit-v3d-rpi4-skips.txt)20
-rw-r--r--src/broadcom/ci/v3dv-rpi4-flakes.txt (renamed from src/broadcom/ci/deqp-v3dv-rpi4-flakes.txt)0
-rw-r--r--src/broadcom/ci/v3dv-rpi4-skips.txt (renamed from src/broadcom/ci/deqp-v3dv-rpi4-skips.txt)1
-rw-r--r--src/broadcom/ci/vc4-rpi3-fails.txt (renamed from src/broadcom/ci/piglit-vc4-rpi3-fails.txt)437
-rw-r--r--src/broadcom/ci/vc4-rpi3-flakes.txt (renamed from src/broadcom/ci/deqp-vc4-rpi3-flakes.txt)9
-rw-r--r--src/broadcom/ci/vc4-rpi3-skips.txt (renamed from src/broadcom/ci/deqp-vc4-rpi3-skips.txt)21
-rw-r--r--src/broadcom/clif/clif_dump.c18
-rw-r--r--src/broadcom/clif/clif_private.h1
-rw-r--r--src/broadcom/clif/v3dx_dump.c19
-rw-r--r--src/broadcom/common/v3d_debug.h5
-rw-r--r--src/broadcom/common/v3d_tfu.h51
-rw-r--r--src/broadcom/common/v3d_util.c32
-rw-r--r--src/broadcom/common/v3d_util.h5
-rw-r--r--src/broadcom/compiler/nir_to_vir.c116
-rw-r--r--src/broadcom/compiler/qpu_schedule.c193
-rw-r--r--src/broadcom/compiler/v3d_compiler.h32
-rw-r--r--src/broadcom/compiler/vir.c14
-rw-r--r--src/broadcom/compiler/vir_opt_constant_alu.c1
-rw-r--r--src/broadcom/compiler/vir_opt_copy_propagate.c2
-rw-r--r--src/broadcom/compiler/vir_opt_dead_code.c11
-rw-r--r--src/broadcom/compiler/vir_opt_redundant_flags.c1
-rw-r--r--src/broadcom/compiler/vir_register_allocate.c2
-rw-r--r--src/broadcom/compiler/vir_to_qpu.c15
-rw-r--r--src/broadcom/qpu/qpu_disasm.c8
-rw-r--r--src/broadcom/qpu/qpu_instr.c2
-rw-r--r--src/broadcom/qpu/qpu_instr.h1
-rw-r--r--src/broadcom/qpu/qpu_pack.c9
-rw-r--r--src/broadcom/qpu/tests/qpu_disasm.c82
-rw-r--r--src/broadcom/vulkan/meson.build22
-rw-r--r--src/broadcom/vulkan/v3dv_cmd_buffer.c102
-rw-r--r--src/broadcom/vulkan/v3dv_descriptor_set.c16
-rw-r--r--src/broadcom/vulkan/v3dv_device.c95
-rw-r--r--src/broadcom/vulkan/v3dv_formats.c1
-rw-r--r--src/broadcom/vulkan/v3dv_image.c40
-rw-r--r--src/broadcom/vulkan/v3dv_meta_clear.c18
-rw-r--r--src/broadcom/vulkan/v3dv_meta_common.h24
-rw-r--r--src/broadcom/vulkan/v3dv_meta_copy.c153
-rw-r--r--src/broadcom/vulkan/v3dv_pass.c74
-rw-r--r--src/broadcom/vulkan/v3dv_pipeline.c71
-rw-r--r--src/broadcom/vulkan/v3dv_pipeline_cache.c2
-rw-r--r--src/broadcom/vulkan/v3dv_private.h138
-rw-r--r--src/broadcom/vulkan/v3dv_query.c52
-rw-r--r--src/broadcom/vulkan/v3dv_queue.c93
-rw-r--r--src/broadcom/vulkan/v3dv_uniforms.c1
-rw-r--r--src/broadcom/vulkan/v3dv_util.c65
-rw-r--r--src/broadcom/vulkan/v3dv_wsi.c216
-rw-r--r--src/broadcom/vulkan/v3dv_wsi_display.c195
-rw-r--r--src/broadcom/vulkan/v3dv_wsi_wayland.c57
-rw-r--r--src/broadcom/vulkan/v3dv_wsi_x11.c103
-rw-r--r--src/broadcom/vulkan/v3dvx_cmd_buffer.c2
-rw-r--r--src/broadcom/vulkan/v3dvx_device.c1
-rw-r--r--src/broadcom/vulkan/v3dvx_formats.c4
-rw-r--r--src/broadcom/vulkan/v3dvx_image.c2
-rw-r--r--src/broadcom/vulkan/v3dvx_meta_common.c87
-rw-r--r--src/broadcom/vulkan/v3dvx_pipeline.c4
-rw-r--r--src/broadcom/vulkan/v3dvx_private.h16
-rw-r--r--src/broadcom/vulkan/vk_format_info.h106
-rw-r--r--src/compiler/builtin_type_macros.h44
-rw-r--r--src/compiler/clc/clc.c314
-rw-r--r--src/compiler/clc/clc.h247
-rw-r--r--src/compiler/clc/clc_helpers.cpp (renamed from src/microsoft/clc/clc_helpers.cpp)520
-rw-r--r--src/compiler/clc/clc_helpers.h (renamed from src/microsoft/clc/clc_helpers.h)59
-rw-r--r--src/compiler/clc/meson.build66
-rw-r--r--src/compiler/glsl/ast_to_hir.cpp4
-rw-r--r--src/compiler/glsl/builtin_variables.cpp3
-rw-r--r--src/compiler/glsl/gl_nir_link_uniform_blocks.c7
-rw-r--r--src/compiler/glsl/gl_nir_link_uniform_initializers.c1
-rw-r--r--src/compiler/glsl/gl_nir_link_uniforms.c37
-rw-r--r--src/compiler/glsl/gl_nir_link_xfb.c3
-rw-r--r--src/compiler/glsl/gl_nir_linker.c21
-rw-r--r--src/compiler/glsl/gl_nir_linker.h3
-rw-r--r--src/compiler/glsl/gl_nir_lower_buffers.c6
-rw-r--r--src/compiler/glsl/gl_nir_lower_images.c2
-rw-r--r--src/compiler/glsl/gl_nir_lower_samplers_as_deref.c15
-rw-r--r--src/compiler/glsl/glsl_parser_extras.cpp62
-rw-r--r--src/compiler/glsl/glsl_to_nir.cpp23
-rw-r--r--src/compiler/glsl/ir_clone.cpp1
-rw-r--r--src/compiler/glsl/ir_uniform.h14
-rw-r--r--src/compiler/glsl/link_uniform_blocks.cpp12
-rw-r--r--src/compiler/glsl/link_uniform_initializers.cpp1
-rw-r--r--src/compiler/glsl/link_uniforms.cpp23
-rw-r--r--src/compiler/glsl/link_varyings.cpp25
-rw-r--r--src/compiler/glsl/linker.cpp76
-rw-r--r--src/compiler/glsl/linker_util.cpp4
-rw-r--r--src/compiler/glsl/lower_ubo_reference.cpp2
-rw-r--r--src/compiler/glsl/serialize.cpp51
-rw-r--r--src/compiler/glsl/shader_cache.cpp4
-rw-r--r--src/compiler/glsl/tests/meson.build4
-rw-r--r--src/compiler/glsl/tests/set_uniform_initializer_tests.cpp6
-rw-r--r--src/compiler/glsl/tests/uniform_initializer_utils.cpp3
-rw-r--r--src/compiler/glsl_types.cpp136
-rw-r--r--src/compiler/glsl_types.h16
l---------src/compiler/isaspec/README.rst (renamed from src/freedreno/isa/README.rst)0
-rw-r--r--src/compiler/isaspec/decode.c (renamed from src/freedreno/isa/decode.c)220
-rw-r--r--src/compiler/isaspec/decode.h (renamed from src/freedreno/isa/decode.h)10
-rwxr-xr-x[-rw-r--r--]src/compiler/isaspec/decode.py (renamed from src/freedreno/isa/decode.py)128
-rwxr-xr-x[-rw-r--r--]src/compiler/isaspec/encode.py (renamed from src/freedreno/isa/encode.py)250
-rw-r--r--src/compiler/isaspec/isa.py (renamed from src/freedreno/isa/isa.py)73
-rw-r--r--src/compiler/isaspec/meson.build (renamed from src/util/tests/vector/meson.build)16
-rw-r--r--src/compiler/meson.build28
-rw-r--r--src/compiler/nir/meson.build147
-rw-r--r--src/compiler/nir/nir.c489
-rw-r--r--src/compiler/nir/nir.h563
-rw-r--r--src/compiler/nir/nir_builder.c421
-rw-r--r--src/compiler/nir/nir_builder.h366
-rw-r--r--src/compiler/nir/nir_builder_opcodes_h.py7
-rw-r--r--src/compiler/nir/nir_control_flow.c3
-rw-r--r--src/compiler/nir/nir_deref.c15
-rw-r--r--src/compiler/nir/nir_divergence_analysis.c1
-rw-r--r--src/compiler/nir/nir_from_ssa.c27
-rw-r--r--src/compiler/nir/nir_gather_info.c30
-rw-r--r--src/compiler/nir/nir_group_loads.c484
-rw-r--r--src/compiler/nir/nir_intrinsics.py7
-rw-r--r--src/compiler/nir/nir_linking_helpers.c198
-rw-r--r--src/compiler/nir/nir_lower_amul.c9
-rw-r--r--src/compiler/nir/nir_lower_blend.c36
-rw-r--r--src/compiler/nir/nir_lower_clip.c56
-rw-r--r--src/compiler/nir/nir_lower_clip_cull_distance_arrays.c3
-rw-r--r--src/compiler/nir/nir_lower_discard_or_demote.c11
-rw-r--r--src/compiler/nir/nir_lower_flrp.c2
-rw-r--r--src/compiler/nir/nir_lower_input_attachments.c4
-rw-r--r--src/compiler/nir/nir_lower_int_to_float.c2
-rw-r--r--src/compiler/nir/nir_lower_io.c72
-rw-r--r--src/compiler/nir/nir_lower_io_to_scalar.c100
-rw-r--r--src/compiler/nir/nir_lower_io_to_vector.c21
-rw-r--r--src/compiler/nir/nir_lower_mediump.c4
-rw-r--r--src/compiler/nir/nir_lower_pntc_ytransform.c6
-rw-r--r--src/compiler/nir/nir_lower_readonly_images_to_tex.c16
-rw-r--r--src/compiler/nir/nir_lower_subgroups.c2
-rw-r--r--src/compiler/nir/nir_lower_system_values.c18
-rw-r--r--src/compiler/nir/nir_lower_sysvals_to_varyings.c72
-rw-r--r--src/compiler/nir/nir_lower_tex.c85
-rw-r--r--src/compiler/nir/nir_lower_ubo_vec4.c2
-rw-r--r--src/compiler/nir/nir_opcodes.py6
-rw-r--r--src/compiler/nir/nir_opt_access.c12
-rw-r--r--src/compiler/nir/nir_opt_algebraic.py57
-rw-r--r--src/compiler/nir/nir_opt_comparison_pre.c4
-rw-r--r--src/compiler/nir/nir_opt_copy_propagate.c2
-rw-r--r--src/compiler/nir/nir_opt_dce.c11
-rw-r--r--src/compiler/nir/nir_opt_if.c107
-rw-r--r--src/compiler/nir/nir_opt_loop_unroll.c22
-rw-r--r--src/compiler/nir/nir_opt_memcpy.c2
-rw-r--r--src/compiler/nir/nir_opt_peephole_select.c1
-rw-r--r--src/compiler/nir/nir_opt_uniform_atomics.c3
-rw-r--r--src/compiler/nir/nir_opt_vectorize.c5
-rw-r--r--src/compiler/nir/nir_print.c37
-rw-r--r--src/compiler/nir/nir_propagate_invariant.c2
-rw-r--r--src/compiler/nir/nir_schedule.c16
-rw-r--r--src/compiler/nir/nir_serialize.c78
-rw-r--r--src/compiler/nir/nir_split_vars.c15
-rw-r--r--src/compiler/nir/nir_validate.c40
-rw-r--r--src/compiler/nir/nir_worklist.h3
-rw-r--r--src/compiler/nir/tests/dce_tests.cpp105
-rw-r--r--src/compiler/nir_types.cpp116
-rw-r--r--src/compiler/nir_types.h15
-rw-r--r--src/compiler/shader_info.h11
-rw-r--r--src/compiler/spirv/nir_spirv.h5
-rw-r--r--src/compiler/spirv/spirv_to_nir.c197
-rw-r--r--src/compiler/spirv/vtn_alu.c69
-rw-r--r--src/compiler/spirv/vtn_cfg.c2
-rw-r--r--src/compiler/spirv/vtn_private.h55
-rw-r--r--src/compiler/spirv/vtn_variables.c107
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c2
-rw-r--r--src/egl/drivers/dri2/egl_dri2.h207
-rw-r--r--src/egl/drivers/dri2/platform_device.c15
-rw-r--r--src/egl/drivers/dri2/platform_wayland.c858
-rw-r--r--src/egl/drivers/dri2/platform_x11_dri3.c1
-rw-r--r--src/egl/generate/egl.xml24
-rw-r--r--src/egl/generate/eglFunctionList.py25
-rw-r--r--src/egl/generate/egl_other.xml27
-rw-r--r--src/egl/main/eglapi.c1
-rw-r--r--src/egl/main/eglcurrent.c8
-rw-r--r--src/egl/main/egldispatchstubs.c27
-rw-r--r--src/egl/main/egldispatchstubs.h27
-rw-r--r--src/egl/main/egldisplay.h1
-rw-r--r--src/egl/main/eglglvnd.c27
-rw-r--r--src/egl/main/eglsurface.c21
-rw-r--r--src/egl/main/eglsurface.h2
-rw-r--r--src/etnaviv/ci/deqp-etnaviv-gc2000-fails.txt153
-rw-r--r--src/etnaviv/ci/deqp-etnaviv-gc2000-flakes.txt39
-rw-r--r--src/etnaviv/ci/etnaviv-gc2000-fails.txt1772
-rw-r--r--src/etnaviv/ci/etnaviv-gc2000-flakes.txt61
-rw-r--r--src/etnaviv/ci/etnaviv-gc2000-skips.txt (renamed from src/gallium/drivers/iris/ci/piglit-iris-amly-skips.txt)4
-rw-r--r--src/etnaviv/ci/gitlab-ci.yml17
-rw-r--r--src/etnaviv/drm/etnaviv_device.c25
-rw-r--r--src/etnaviv/drm/etnaviv_drmif.h3
-rw-r--r--src/etnaviv/drm/etnaviv_priv.h1
-rw-r--r--src/freedreno/.gitlab-ci/README.rst33
-rwxr-xr-xsrc/freedreno/.gitlab-ci/genoutput.sh58
-rw-r--r--src/freedreno/.gitlab-ci/reference/afuc_test.asm1
-rw-r--r--src/freedreno/.gitlab-ci/reference/crash.log28
-rw-r--r--src/freedreno/.gitlab-ci/reference/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log1
-rw-r--r--src/freedreno/.gitlab-ci/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log11
-rw-r--r--src/freedreno/.gitlab-ci/reference/es2gears-a320.log1
-rw-r--r--src/freedreno/.gitlab-ci/reference/fd-clouds.log23
-rw-r--r--src/freedreno/.gitlab-ci/reference/glxgears-a420.log1
-rw-r--r--src/freedreno/.gitlab-ci/reference/shadow.log2
-rwxr-xr-xsrc/freedreno/.gitlab-ci/run-fdtools.sh16
-rw-r--r--src/freedreno/afuc/disasm.c13
-rw-r--r--src/freedreno/afuc/meson.build87
-rw-r--r--src/freedreno/ci/deqp-freedreno-a307-fails.txt297
-rw-r--r--src/freedreno/ci/deqp-freedreno-a307.toml2
-rw-r--r--src/freedreno/ci/deqp-freedreno-a530-fails.txt200
-rw-r--r--src/freedreno/ci/deqp-freedreno-a530-skips.txt23
-rw-r--r--src/freedreno/ci/deqp-freedreno-a530.toml2
-rw-r--r--src/freedreno/ci/deqp-freedreno-a618-vk-full.toml33
-rw-r--r--src/freedreno/ci/deqp-freedreno-a618-vk.toml32
-rw-r--r--src/freedreno/ci/deqp-freedreno-a630-fails.txt83
-rw-r--r--src/freedreno/ci/deqp-freedreno-a630-vk-full.toml1
-rw-r--r--src/freedreno/ci/deqp-freedreno-a630-vk.toml7
-rw-r--r--src/freedreno/ci/deqp-freedreno-a630.toml28
-rw-r--r--src/freedreno/ci/freedreno-a307-fails.txt875
-rw-r--r--src/freedreno/ci/freedreno-a307-flakes.txt (renamed from src/freedreno/ci/deqp-freedreno-a307-flakes.txt)5
-rw-r--r--src/freedreno/ci/freedreno-a307-skips.txt54
-rw-r--r--src/freedreno/ci/freedreno-a530-fails.txt (renamed from src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-fails.txt)244
-rw-r--r--src/freedreno/ci/freedreno-a530-flakes.txt (renamed from src/freedreno/ci/deqp-freedreno-a530-flakes.txt)49
-rw-r--r--src/freedreno/ci/freedreno-a530-skips.txt (renamed from src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-skips.txt)24
-rw-r--r--src/freedreno/ci/freedreno-a618-fails.txt3
-rw-r--r--src/freedreno/ci/freedreno-a618-flakes.txt16
-rw-r--r--src/freedreno/ci/freedreno-a618-premerge-skips.txt (renamed from src/freedreno/ci/deqp-freedreno-a630-premerge-skips.txt)0
-rw-r--r--src/freedreno/ci/freedreno-a618-skips.txt (renamed from src/freedreno/ci/deqp-freedreno-a630-skips.txt)15
-rw-r--r--src/freedreno/ci/freedreno-a630-asan-fails.txt (renamed from src/freedreno/ci/deqp-freedreno-a630-asan-fails.txt)0
-rw-r--r--src/freedreno/ci/freedreno-a630-bypass-flakes.txt (renamed from src/freedreno/ci/deqp-freedreno-a630-bypass-flakes.txt)0
-rw-r--r--src/freedreno/ci/freedreno-a630-fails.txt (renamed from src/gallium/drivers/freedreno/ci/piglit-freedreno-a630-fails.txt)199
-rw-r--r--src/freedreno/ci/freedreno-a630-flakes.txt (renamed from src/freedreno/ci/deqp-freedreno-a630-flakes.txt)56
-rw-r--r--src/freedreno/ci/freedreno-a630-premerge-skips.txt9
-rw-r--r--src/freedreno/ci/freedreno-a630-skips.txt62
-rw-r--r--src/freedreno/ci/gitlab-ci.yml78
-rw-r--r--src/freedreno/ci/traces-freedreno.yml24
-rw-r--r--src/freedreno/common/freedreno_dev_info.h1
-rw-r--r--src/freedreno/common/freedreno_devices.py18
-rw-r--r--src/freedreno/computerator/a4xx.c4
-rw-r--r--src/freedreno/computerator/a6xx.c16
-rw-r--r--src/freedreno/computerator/ir3_asm.c2
-rw-r--r--src/freedreno/decode/cffdec.h5
-rw-r--r--src/freedreno/decode/cffdump.c5
-rw-r--r--src/freedreno/decode/crashdec-hfi.c523
-rw-r--r--src/freedreno/decode/crashdec-mempool.c313
-rw-r--r--src/freedreno/decode/crashdec.c424
-rw-r--r--src/freedreno/decode/crashdec.h98
-rw-r--r--src/freedreno/decode/meson.build56
-rw-r--r--src/freedreno/decode/pgmdump2.c4
-rw-r--r--src/freedreno/decode/redump.h8
-rw-r--r--src/freedreno/decode/rnnutil.c2
-rw-r--r--src/freedreno/decode/rnnutil.h7
-rw-r--r--src/freedreno/decode/script.c9
-rw-r--r--src/freedreno/decode/scripts/parse-submits.lua4
-rw-r--r--src/freedreno/decode/scripts/texturator-to-unit-test.lua71
-rw-r--r--src/freedreno/decode/util.h23
-rw-r--r--src/freedreno/drm/freedreno_bo.c18
-rw-r--r--src/freedreno/drm/freedreno_bo_cache.c4
-rw-r--r--src/freedreno/drm/freedreno_device.c4
-rw-r--r--src/freedreno/drm/freedreno_drmif.h1
-rw-r--r--src/freedreno/drm/freedreno_priv.h17
-rw-r--r--src/freedreno/drm/freedreno_ringbuffer.h7
-rw-r--r--src/freedreno/drm/msm_pipe.c3
-rw-r--r--src/freedreno/drm/msm_priv.h4
-rw-r--r--src/freedreno/drm/msm_ringbuffer_sp.c25
-rw-r--r--src/freedreno/ds/fd_pps_driver.cc12
-rw-r--r--src/freedreno/ds/fd_pps_driver.h2
-rw-r--r--src/freedreno/ds/meson.build1
-rw-r--r--src/freedreno/fdl/fd5_layout.c26
-rw-r--r--src/freedreno/fdl/fd6_format_table.c479
-rw-r--r--src/freedreno/fdl/fd6_format_table.h51
-rw-r--r--src/freedreno/fdl/fd6_layout.c55
-rw-r--r--src/freedreno/fdl/fd6_layout_test.c237
-rw-r--r--src/freedreno/fdl/fd6_view.c400
-rw-r--r--src/freedreno/fdl/fd_layout_test.c18
-rw-r--r--src/freedreno/fdl/fd_layout_test.h2
-rw-r--r--src/freedreno/fdl/freedreno_layout.h70
-rw-r--r--src/freedreno/fdl/meson.build3
-rw-r--r--src/freedreno/ir3/disasm-a3xx.c52
-rw-r--r--src/freedreno/ir3/instr-a3xx.h148
-rw-r--r--src/freedreno/ir3/ir3.c63
-rw-r--r--src/freedreno/ir3/ir3.h248
-rw-r--r--src/freedreno/ir3/ir3_a4xx.c65
-rw-r--r--src/freedreno/ir3/ir3_a6xx.c173
-rw-r--r--src/freedreno/ir3/ir3_assembler.c3
-rw-r--r--src/freedreno/ir3/ir3_compiler.c2
-rw-r--r--src/freedreno/ir3/ir3_compiler.h4
-rw-r--r--src/freedreno/ir3/ir3_compiler_nir.c289
-rw-r--r--src/freedreno/ir3/ir3_context.c24
-rw-r--r--src/freedreno/ir3/ir3_context.h20
-rw-r--r--src/freedreno/ir3/ir3_cp.c16
-rw-r--r--src/freedreno/ir3/ir3_cp_postsched.c3
-rw-r--r--src/freedreno/ir3/ir3_cse.c45
-rw-r--r--src/freedreno/ir3/ir3_delay.c202
-rw-r--r--src/freedreno/ir3/ir3_image.c31
-rw-r--r--src/freedreno/ir3/ir3_legalize.c22
-rw-r--r--src/freedreno/ir3/ir3_lexer.l24
-rw-r--r--src/freedreno/ir3/ir3_lower_parallelcopy.c22
-rw-r--r--src/freedreno/ir3/ir3_lower_spill.c86
-rw-r--r--src/freedreno/ir3/ir3_lower_subgroups.c228
-rw-r--r--src/freedreno/ir3/ir3_nir.c47
-rw-r--r--src/freedreno/ir3/ir3_nir.h42
-rw-r--r--src/freedreno/ir3/ir3_nir_lower_64b.c325
-rw-r--r--src/freedreno/ir3/ir3_nir_lower_tess.c34
-rw-r--r--src/freedreno/ir3/ir3_nir_lower_wide_load_store.c118
-rw-r--r--src/freedreno/ir3/ir3_parser.y86
-rw-r--r--src/freedreno/ir3/ir3_postsched.c190
-rw-r--r--src/freedreno/ir3/ir3_print.c20
-rw-r--r--src/freedreno/ir3/ir3_ra.c90
-rw-r--r--src/freedreno/ir3/ir3_sched.c59
-rw-r--r--src/freedreno/ir3/ir3_shader.c11
-rw-r--r--src/freedreno/ir3/ir3_shader.h52
-rw-r--r--src/freedreno/ir3/ir3_spill.c110
-rw-r--r--src/freedreno/ir3/ir3_validate.c11
-rw-r--r--src/freedreno/ir3/meson.build3
-rw-r--r--src/freedreno/ir3/regmask.h131
-rw-r--r--src/freedreno/ir3/tests/delay.c7
-rw-r--r--src/freedreno/ir3/tests/disasm.c358
-rw-r--r--src/freedreno/isa/encode.c41
-rw-r--r--src/freedreno/isa/ir3-cat1.xml2
-rw-r--r--src/freedreno/isa/ir3-cat2.xml30
-rw-r--r--src/freedreno/isa/ir3-cat3.xml2
-rw-r--r--src/freedreno/isa/ir3-cat5.xml37
-rw-r--r--src/freedreno/isa/ir3-cat6.xml234
-rw-r--r--src/freedreno/isa/ir3-common.xml12
-rw-r--r--src/freedreno/isa/ir3-disasm.c4
-rw-r--r--src/freedreno/isa/isa.h2
-rw-r--r--src/freedreno/isa/meson.build21
-rw-r--r--src/freedreno/meson.build14
-rw-r--r--src/freedreno/registers/adreno/a4xx.xml13
-rw-r--r--src/freedreno/registers/adreno/a5xx.xml65
-rw-r--r--src/freedreno/registers/adreno/a6xx.xml38
-rw-r--r--src/freedreno/registers/adreno/adreno_common.xml9
-rw-r--r--src/freedreno/rnn/meson.build10
-rw-r--r--src/freedreno/rnn/rnndec.c7
-rw-r--r--src/freedreno/vulkan/meson.build18
-rw-r--r--src/freedreno/vulkan/tu_android.c10
-rw-r--r--src/freedreno/vulkan/tu_clear_blit.c587
-rw-r--r--src/freedreno/vulkan/tu_cmd_buffer.c344
-rw-r--r--src/freedreno/vulkan/tu_descriptor_set.c29
-rw-r--r--src/freedreno/vulkan/tu_device.c769
-rw-r--r--src/freedreno/vulkan/tu_drm.c47
-rw-r--r--src/freedreno/vulkan/tu_formats.c466
-rw-r--r--src/freedreno/vulkan/tu_image.c456
-rw-r--r--src/freedreno/vulkan/tu_kgsl.c12
-rw-r--r--src/freedreno/vulkan/tu_pass.c71
-rw-r--r--src/freedreno/vulkan/tu_pipeline.c108
-rw-r--r--src/freedreno/vulkan/tu_pipeline_cache.c12
-rw-r--r--src/freedreno/vulkan/tu_private.h235
-rw-r--r--src/freedreno/vulkan/tu_query.c4
-rw-r--r--src/freedreno/vulkan/tu_shader.c14
-rw-r--r--src/freedreno/vulkan/tu_util.c14
-rw-r--r--src/freedreno/vulkan/tu_util.h14
-rw-r--r--src/freedreno/vulkan/tu_wsi.c202
-rw-r--r--src/freedreno/vulkan/tu_wsi_display.c239
-rw-r--r--src/freedreno/vulkan/tu_wsi_wayland.c59
-rw-r--r--src/freedreno/vulkan/tu_wsi_x11.c104
-rw-r--r--src/freedreno/vulkan/vk_format.h82
-rw-r--r--src/gallium/auxiliary/cso_cache/cso_context.c10
-rw-r--r--src/gallium/auxiliary/cso_cache/cso_context.h2
-rw-r--r--src/gallium/auxiliary/driver_noop/noop_pipe.c39
-rw-r--r--src/gallium/auxiliary/driver_noop/noop_state.c10
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_context.c93
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_context.h3
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_dump_state.c53
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_dump_state.h4
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_screen.c63
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_arit.c22
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_format_soa.c16
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_nir.c21
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c39
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi.h2
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c5
-rw-r--r--src/gallium/auxiliary/hud/hud_context.c8
-rw-r--r--src/gallium/auxiliary/meson.build32
-rw-r--r--src/gallium/auxiliary/nir/nir_to_tgsi.c222
-rw-r--r--src/gallium/auxiliary/nir/nir_to_tgsi_info.c11
-rw-r--r--src/gallium/auxiliary/nir/tgsi_to_nir.c2
-rw-r--r--src/gallium/auxiliary/pipe-loader/driinfo_gallium.h8
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_cache.c20
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_cache.h3
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_slab.c69
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_slab.h6
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_ureg.c15
-rw-r--r--src/gallium/auxiliary/util/u_async_debug.h8
-rw-r--r--src/gallium/auxiliary/util/u_blitter.c156
-rw-r--r--src/gallium/auxiliary/util/u_blitter.h4
-rw-r--r--src/gallium/auxiliary/util/u_draw_quad.c4
-rw-r--r--src/gallium/auxiliary/util/u_driconf.c5
-rw-r--r--src/gallium/auxiliary/util/u_helpers.c22
-rw-r--r--src/gallium/auxiliary/util/u_helpers.h9
-rw-r--r--src/gallium/auxiliary/util/u_inlines.h24
-rw-r--r--src/gallium/auxiliary/util/u_live_shader_cache.h8
-rw-r--r--src/gallium/auxiliary/util/u_prim.c3
-rw-r--r--src/gallium/auxiliary/util/u_prim_restart.c2
-rw-r--r--src/gallium/auxiliary/util/u_screen.c10
-rw-r--r--src/gallium/auxiliary/util/u_simple_shaders.c42
-rw-r--r--src/gallium/auxiliary/util/u_simple_shaders.h12
-rw-r--r--src/gallium/auxiliary/util/u_surface.c14
-rw-r--r--src/gallium/auxiliary/util/u_surface.h10
-rw-r--r--src/gallium/auxiliary/util/u_tests.c4
-rw-r--r--src/gallium/auxiliary/util/u_threaded_context.c335
-rw-r--r--src/gallium/auxiliary/util/u_threaded_context.h64
-rw-r--r--src/gallium/auxiliary/util/u_threaded_context_calls.h2
-rw-r--r--src/gallium/auxiliary/util/u_vbuf.c76
-rw-r--r--src/gallium/auxiliary/util/u_vbuf.h1
-rw-r--r--src/gallium/auxiliary/util/u_vertex_state_cache.c134
-rw-r--r--src/gallium/auxiliary/util/u_vertex_state_cache.h67
-rw-r--r--src/gallium/drivers/asahi/agx_blit.c2
-rw-r--r--src/gallium/drivers/asahi/agx_pipe.c16
-rw-r--r--src/gallium/drivers/asahi/agx_state.c18
-rw-r--r--src/gallium/drivers/asahi/magic.c20
-rw-r--r--src/gallium/drivers/crocus/crocus_batch.c19
-rw-r--r--src/gallium/drivers/crocus/crocus_blit.c33
-rw-r--r--src/gallium/drivers/crocus/crocus_blorp.c12
-rw-r--r--src/gallium/drivers/crocus/crocus_blt.c6
-rw-r--r--src/gallium/drivers/crocus/crocus_bufmgr.h1
-rw-r--r--src/gallium/drivers/crocus/crocus_clear.c7
-rw-r--r--src/gallium/drivers/crocus/crocus_context.c2
-rw-r--r--src/gallium/drivers/crocus/crocus_context.h2
-rw-r--r--src/gallium/drivers/crocus/crocus_disk_cache.c2
-rw-r--r--src/gallium/drivers/crocus/crocus_draw.c6
-rw-r--r--src/gallium/drivers/crocus/crocus_pipe_control.c2
-rw-r--r--src/gallium/drivers/crocus/crocus_program.c2
-rw-r--r--src/gallium/drivers/crocus/crocus_program_cache.c3
-rw-r--r--src/gallium/drivers/crocus/crocus_query.c6
-rw-r--r--src/gallium/drivers/crocus/crocus_resource.c10
-rw-r--r--src/gallium/drivers/crocus/crocus_screen.c54
-rw-r--r--src/gallium/drivers/crocus/crocus_screen.h1
-rw-r--r--src/gallium/drivers/crocus/crocus_state.c157
-rw-r--r--src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt (renamed from .gitlab-ci/windows/quick_gl.txt)273
-rw-r--r--src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt13101
-rw-r--r--src/gallium/drivers/d3d12/ci/gitlab-ci.yml40
-rw-r--r--src/gallium/drivers/d3d12/d3d12_batch.cpp40
-rw-r--r--src/gallium/drivers/d3d12/d3d12_batch.h9
-rw-r--r--src/gallium/drivers/d3d12/d3d12_blit.cpp99
-rw-r--r--src/gallium/drivers/d3d12/d3d12_compiler.cpp18
-rw-r--r--src/gallium/drivers/d3d12/d3d12_context.cpp158
-rw-r--r--src/gallium/drivers/d3d12/d3d12_context.h7
-rw-r--r--src/gallium/drivers/d3d12/d3d12_draw.cpp25
-rw-r--r--src/gallium/drivers/d3d12/d3d12_fence.cpp10
-rw-r--r--src/gallium/drivers/d3d12/d3d12_format.c288
-rw-r--r--src/gallium/drivers/d3d12/d3d12_format.h10
-rw-r--r--src/gallium/drivers/d3d12/d3d12_nir_passes.c48
-rw-r--r--src/gallium/drivers/d3d12/d3d12_nir_passes.h3
-rw-r--r--src/gallium/drivers/d3d12/d3d12_query.cpp17
-rw-r--r--src/gallium/drivers/d3d12/d3d12_resource.cpp424
-rw-r--r--src/gallium/drivers/d3d12/d3d12_resource.h9
-rw-r--r--src/gallium/drivers/d3d12/d3d12_screen.cpp20
-rw-r--r--src/gallium/drivers/d3d12/d3d12_surface.cpp18
-rw-r--r--src/gallium/drivers/d3d12/d3d12_surface.h6
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_clear_blit.c4
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_compiler.c2
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c2
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_debug.h2
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_disk_cache.c2
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_screen.c43
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_shader.c4
-rw-r--r--src/gallium/drivers/etnaviv/meson.build1
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_context.c17
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_draw.c16
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_emit.c8
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_gmem.c20
-rw-r--r--src/gallium/drivers/freedreno/a2xx/fd2_rasterizer.c2
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_context.c1
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_draw.c2
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_emit.c20
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_format.c19
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_gmem.c38
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_rasterizer.c2
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_texture.c4
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_zsa.c2
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_context.c1
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_draw.c2
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_emit.c37
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_format.c13
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_gmem.c24
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_program.c23
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_rasterizer.c2
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_texture.c15
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_zsa.c2
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_blitter.c33
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_context.c1
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_context.h3
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_draw.c11
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_emit.c27
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_format.c13
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_gmem.c96
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_image.c2
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_program.c43
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_rasterizer.c2
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_screen.c5
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_texture.c46
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_texture.h2
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_zsa.c2
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_blitter.c131
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_blitter.h4
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_compute.c2
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_const.c20
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_context.c5
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_draw.c64
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_emit.c57
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_format.c385
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_format.h17
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_gmem.c181
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_image.c322
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_image.h4
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_program.c130
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_rasterizer.c4
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_resource.c3
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_screen.c18
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_texture.c138
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_texture.h28
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_zsa.c2
-rw-r--r--src/gallium/drivers/freedreno/ci/piglit-freedreno-a530-flakes.txt48
-rw-r--r--src/gallium/drivers/freedreno/ci/piglit-freedreno-a630-flakes.txt47
-rw-r--r--src/gallium/drivers/freedreno/ci/piglit-freedreno-a630-skips.txt37
-rw-r--r--src/gallium/drivers/freedreno/freedreno_autotune.c4
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch.c248
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch.h73
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch_cache.c285
-rw-r--r--src/gallium/drivers/freedreno/freedreno_batch_cache.h36
-rw-r--r--src/gallium/drivers/freedreno/freedreno_blitter.c2
-rw-r--r--src/gallium/drivers/freedreno/freedreno_context.c26
-rw-r--r--src/gallium/drivers/freedreno/freedreno_context.h12
-rw-r--r--src/gallium/drivers/freedreno/freedreno_draw.c29
-rw-r--r--src/gallium/drivers/freedreno/freedreno_gmem.c5
-rw-r--r--src/gallium/drivers/freedreno/freedreno_program.c6
-rw-r--r--src/gallium/drivers/freedreno/freedreno_query_acc.c2
-rw-r--r--src/gallium/drivers/freedreno/freedreno_query_hw.c2
-rw-r--r--src/gallium/drivers/freedreno/freedreno_resource.c153
-rw-r--r--src/gallium/drivers/freedreno/freedreno_resource.h138
-rw-r--r--src/gallium/drivers/freedreno/freedreno_screen.c45
-rw-r--r--src/gallium/drivers/freedreno/freedreno_screen.h9
-rw-r--r--src/gallium/drivers/freedreno/freedreno_state.c48
-rw-r--r--src/gallium/drivers/freedreno/freedreno_texture.c28
-rw-r--r--src/gallium/drivers/freedreno/freedreno_util.h12
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_cmdline.c6
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_const.h18
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_gallium.c20
-rw-r--r--src/gallium/drivers/i915/ci/deqp-i915-g33-fails.txt203
-rw-r--r--src/gallium/drivers/i915/ci/deqp-i915g.toml2
-rw-r--r--src/gallium/drivers/i915/ci/gitlab-ci.yml2
-rw-r--r--src/gallium/drivers/i915/ci/i915-g33-fails.txt (renamed from src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt)247
-rw-r--r--src/gallium/drivers/i915/ci/i915-g33-skips.txt (renamed from src/gallium/drivers/i915/ci/deqp-i915-g33-skips.txt)7
-rw-r--r--src/gallium/drivers/i915/ci/piglit-i915-g33-skips.txt6
-rw-r--r--src/gallium/drivers/i915/ci/traces-i915.yml8
-rw-r--r--src/gallium/drivers/i915/i915_context.c5
-rw-r--r--src/gallium/drivers/i915/i915_context.h1
-rw-r--r--src/gallium/drivers/i915/i915_debug.c1
-rw-r--r--src/gallium/drivers/i915/i915_debug.h1
-rw-r--r--src/gallium/drivers/i915/i915_fpc.h4
-rw-r--r--src/gallium/drivers/i915/i915_fpc_emit.c33
-rw-r--r--src/gallium/drivers/i915/i915_fpc_optimize.c33
-rw-r--r--src/gallium/drivers/i915/i915_fpc_translate.c37
-rw-r--r--src/gallium/drivers/i915/i915_prim_vbuf.c61
-rw-r--r--src/gallium/drivers/i915/i915_resource_texture.c7
-rw-r--r--src/gallium/drivers/i915/i915_screen.c16
-rw-r--r--src/gallium/drivers/i915/i915_surface.c2
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-amly.toml18
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-apl.toml18
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-cml.toml18
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-glk.toml18
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-kbl-fails.txt46
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-kbl.toml18
-rw-r--r--src/gallium/drivers/iris/ci/deqp-iris-whl.toml18
-rw-r--r--src/gallium/drivers/iris/ci/gitlab-ci.yml12
-rw-r--r--src/gallium/drivers/iris/ci/iris-amly-fails.txt (renamed from src/gallium/drivers/iris/ci/piglit-iris-amly-fails.txt)54
-rw-r--r--src/gallium/drivers/iris/ci/iris-amly-flakes.txt (renamed from src/gallium/drivers/iris/ci/piglit-iris-amly-flakes.txt)8
-rw-r--r--src/gallium/drivers/iris/ci/iris-amly-skips.txt12
-rw-r--r--src/gallium/drivers/iris/ci/iris-apl-fails.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-apl-fails.txt)0
-rw-r--r--src/gallium/drivers/iris/ci/iris-cml-fails.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-amly-fails.txt)0
-rw-r--r--src/gallium/drivers/iris/ci/iris-glk-fails.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-glk-fails.txt)3
-rw-r--r--src/gallium/drivers/iris/ci/iris-glk-flakes.txt2
-rw-r--r--src/gallium/drivers/iris/ci/iris-kbl-fails.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-cml-fails.txt)0
-rw-r--r--src/gallium/drivers/iris/ci/iris-skips.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-skips.txt)0
-rw-r--r--src/gallium/drivers/iris/ci/iris-whl-fails.txt (renamed from src/gallium/drivers/iris/ci/deqp-iris-whl-fails.txt)0
-rw-r--r--src/gallium/drivers/iris/ci/traces-iris.yml50
-rw-r--r--src/gallium/drivers/iris/iris_batch.c347
-rw-r--r--src/gallium/drivers/iris/iris_batch.h11
-rw-r--r--src/gallium/drivers/iris/iris_blit.c36
-rw-r--r--src/gallium/drivers/iris/iris_blorp.c12
-rw-r--r--src/gallium/drivers/iris/iris_bufmgr.c589
-rw-r--r--src/gallium/drivers/iris/iris_bufmgr.h128
-rw-r--r--src/gallium/drivers/iris/iris_clear.c29
-rw-r--r--src/gallium/drivers/iris/iris_context.c13
-rw-r--r--src/gallium/drivers/iris/iris_context.h4
-rw-r--r--src/gallium/drivers/iris/iris_disk_cache.c2
-rw-r--r--src/gallium/drivers/iris/iris_draw.c10
-rw-r--r--src/gallium/drivers/iris/iris_fence.c8
-rw-r--r--src/gallium/drivers/iris/iris_monitor.c2
-rw-r--r--src/gallium/drivers/iris/iris_performance_query.c2
-rw-r--r--src/gallium/drivers/iris/iris_pipe_control.c3
-rw-r--r--src/gallium/drivers/iris/iris_program.c7
-rw-r--r--src/gallium/drivers/iris/iris_resolve.c8
-rw-r--r--src/gallium/drivers/iris/iris_resource.c246
-rw-r--r--src/gallium/drivers/iris/iris_screen.c45
-rw-r--r--src/gallium/drivers/iris/iris_state.c151
-rw-r--r--src/gallium/drivers/lima/ci/gitlab-ci.yml4
-rw-r--r--src/gallium/drivers/lima/ci/lima-fails.txt (renamed from src/gallium/drivers/lima/ci/deqp-lima-fails.txt)6
-rw-r--r--src/gallium/drivers/lima/ci/lima-skips.txt (renamed from src/gallium/drivers/lima/ci/deqp-lima-skips.txt)0
-rw-r--r--src/gallium/drivers/lima/ir/gp/codegen.c2
-rw-r--r--src/gallium/drivers/lima/ir/gp/codegen.h2
-rw-r--r--src/gallium/drivers/lima/ir/gp/disasm.c332
-rw-r--r--src/gallium/drivers/lima/ir/lima_ir.h2
-rw-r--r--src/gallium/drivers/lima/ir/lima_nir_lower_txp.c172
-rw-r--r--src/gallium/drivers/lima/ir/lima_nir_split_load_input.c156
-rw-r--r--src/gallium/drivers/lima/ir/pp/codegen.c42
-rw-r--r--src/gallium/drivers/lima/ir/pp/codegen.h6
-rw-r--r--src/gallium/drivers/lima/ir/pp/disasm.c360
-rw-r--r--src/gallium/drivers/lima/ir/pp/instr.c2
-rw-r--r--src/gallium/drivers/lima/ir/pp/liveness.c17
-rw-r--r--src/gallium/drivers/lima/ir/pp/nir.c68
-rw-r--r--src/gallium/drivers/lima/ir/pp/node.c6
-rw-r--r--src/gallium/drivers/lima/ir/pp/node_to_instr.c14
-rw-r--r--src/gallium/drivers/lima/ir/pp/ppir.h52
-rw-r--r--src/gallium/drivers/lima/ir/pp/regalloc.c31
-rw-r--r--src/gallium/drivers/lima/lima_context.h5
-rw-r--r--src/gallium/drivers/lima/lima_draw.c212
-rw-r--r--src/gallium/drivers/lima/lima_job.c8
-rw-r--r--src/gallium/drivers/lima/lima_parser.c103
-rw-r--r--src/gallium/drivers/lima/lima_parser.h28
-rw-r--r--src/gallium/drivers/lima/lima_program.c10
-rw-r--r--src/gallium/drivers/lima/lima_resource.c2
-rw-r--r--src/gallium/drivers/lima/lima_screen.c28
-rw-r--r--src/gallium/drivers/lima/lima_state.c21
-rw-r--r--src/gallium/drivers/lima/lima_texture.c101
-rw-r--r--src/gallium/drivers/lima/lima_texture.h40
-rw-r--r--src/gallium/drivers/lima/lima_util.c7
-rw-r--r--src/gallium/drivers/lima/lima_util.h1
-rw-r--r--src/gallium/drivers/lima/meson.build1
-rw-r--r--src/gallium/drivers/lima/standalone/lima_disasm.c10
-rw-r--r--src/gallium/drivers/llvmpipe/ci/deqp-llvmpipe-asan.toml11
-rw-r--r--src/gallium/drivers/llvmpipe/ci/deqp-llvmpipe.toml2
-rw-r--r--src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml4
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt (renamed from src/gallium/drivers/llvmpipe/ci/deqp-llvmpipe-fails.txt)0
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-flakes.txt (renamed from src/gallium/drivers/llvmpipe/ci/deqp-llvmpipe-flakes.txt)0
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-glslparser.txt7
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt3
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_shader.txt24
-rw-r--r--src/gallium/drivers/llvmpipe/ci/llvmpipe-skips.txt (renamed from src/gallium/drivers/llvmpipe/ci/deqp-llvmpipe-skips.txt)0
-rw-r--r--src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml82
-rw-r--r--src/gallium/drivers/llvmpipe/lp_cs_tpool.c6
-rw-r--r--src/gallium/drivers/llvmpipe/lp_linear.c5
-rw-r--r--src/gallium/drivers/llvmpipe/lp_linear_fastpath.c10
-rw-r--r--src/gallium/drivers/llvmpipe/lp_screen.c30
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.c12
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_rect.c6
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_cs.c18
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_cs.h15
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs.c188
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs.h23
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs_linear.c10
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_sampler.c12
-rw-r--r--src/gallium/drivers/llvmpipe/lp_surface.c4
-rw-r--r--src/gallium/drivers/llvmpipe/lp_test_arit.c1
-rw-r--r--src/gallium/drivers/llvmpipe/lp_texture.c166
-rw-r--r--src/gallium/drivers/llvmpipe/lp_texture.h16
-rw-r--r--src/gallium/drivers/llvmpipe/meson.build4
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp12
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_miptree.c4
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_screen.c15
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_formats.c2
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_screen.c15
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_screen.c16
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_tex.c2
-rw-r--r--src/gallium/drivers/panfrost/ci/deqp-panfrost-t720-fails.txt20
-rw-r--r--src/gallium/drivers/panfrost/ci/deqp-panfrost-t820-fails.txt0
-rw-r--r--src/gallium/drivers/panfrost/pan_blend_cso.h2
-rw-r--r--src/gallium/drivers/panfrost/pan_blit.c2
-rw-r--r--src/gallium/drivers/panfrost/pan_cmdstream.c157
-rw-r--r--src/gallium/drivers/panfrost/pan_context.c5
-rw-r--r--src/gallium/drivers/panfrost/pan_job.c3
-rw-r--r--src/gallium/drivers/panfrost/pan_resource.c59
-rw-r--r--src/gallium/drivers/panfrost/pan_resource.h5
-rw-r--r--src/gallium/drivers/panfrost/pan_screen.c39
-rw-r--r--src/gallium/drivers/panfrost/pan_screen.h2
-rw-r--r--src/gallium/drivers/r300/compiler/r3xx_fragprog.c1
-rw-r--r--src/gallium/drivers/r300/compiler/r3xx_vertprog.c8
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_compiler.c18
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_program_alu.c27
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_program_alu.h5
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_program_tex.c2
-rw-r--r--src/gallium/drivers/r300/r300_blit.c4
-rw-r--r--src/gallium/drivers/r300/r300_context.c4
-rw-r--r--src/gallium/drivers/r300/r300_emit.c57
-rw-r--r--src/gallium/drivers/r300/r300_reg.h14
-rw-r--r--src/gallium/drivers/r300/r300_render.c2
-rw-r--r--src/gallium/drivers/r300/r300_screen.c16
-rw-r--r--src/gallium/drivers/r300/r300_state.c4
-rw-r--r--src/gallium/drivers/r300/r300_state_derived.c10
-rw-r--r--src/gallium/drivers/r300/r300_texture.c2
-rw-r--r--src/gallium/drivers/r300/r300_tgsi_to_rc.c27
-rw-r--r--src/gallium/drivers/r300/r300_vs.c2
-rw-r--r--src/gallium/drivers/r600/evergreen_compute.c4
-rw-r--r--src/gallium/drivers/r600/evergreen_hw_context.c6
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c53
-rw-r--r--src/gallium/drivers/r600/r600_blit.c6
-rw-r--r--src/gallium/drivers/r600/r600_buffer_common.c6
-rw-r--r--src/gallium/drivers/r600/r600_cs.h17
-rw-r--r--src/gallium/drivers/r600/r600_hw_context.c14
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c4
-rw-r--r--src/gallium/drivers/r600/r600_pipe_common.c24
-rw-r--r--src/gallium/drivers/r600/r600_pipe_common.h4
-rw-r--r--src/gallium/drivers/r600/r600_query.c8
-rw-r--r--src/gallium/drivers/r600/r600_state.c44
-rw-r--r--src/gallium/drivers/r600/r600_state_common.c12
-rw-r--r--src/gallium/drivers/r600/r600_streamout.c8
-rw-r--r--src/gallium/drivers/r600/r600_texture.c4
-rw-r--r--src/gallium/drivers/r600/radeon_uvd.c4
-rw-r--r--src/gallium/drivers/r600/radeon_vce.c4
-rw-r--r--src/gallium/drivers/r600/radeon_vce.h2
-rw-r--r--src/gallium/drivers/radeon/radeon_uvd.c4
-rw-r--r--src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c4
-rw-r--r--src/gallium/drivers/radeon/radeon_vce.c4
-rw-r--r--src/gallium/drivers/radeon/radeon_vce.h2
-rw-r--r--src/gallium/drivers/radeon/radeon_vce_52.c2
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_dec.c6
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_dec_jpeg.c16
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_enc.c4
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_enc.h4
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c96
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_enc_2_0.c18
-rw-r--r--src/gallium/drivers/radeon/radeon_winsys.h113
-rw-r--r--src/gallium/drivers/radeonsi/ci/deqp-radeonsi-stoney-fails.txt0
-rw-r--r--src/gallium/drivers/radeonsi/ci/deqp-radeonsi-stoney.toml31
-rw-r--r--src/gallium/drivers/radeonsi/ci/gitlab-ci.yml55
-rw-r--r--src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv6
-rwxr-xr-xsrc/gallium/drivers/radeonsi/ci/radeonsi-run-tests.py98
-rw-r--r--src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt (renamed from src/gallium/drivers/radeonsi/ci/piglit-radeonsi-stoney-fails.txt)31
-rw-r--r--src/gallium/drivers/radeonsi/ci/radeonsi-stoney-skips.txt (renamed from src/gallium/drivers/radeonsi/ci/piglit-radeonsi-stoney-skips.txt)35
-rw-r--r--src/gallium/drivers/radeonsi/ci/raven-deqp-fail.csv (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-fails.txt)0
-rw-r--r--src/gallium/drivers/radeonsi/ci/raven-glcts-fail.csv28
-rw-r--r--src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv269
-rw-r--r--src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv6
-rw-r--r--src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml4
-rw-r--r--src/gallium/drivers/radeonsi/driinfo_radeonsi.h1
-rw-r--r--src/gallium/drivers/radeonsi/gfx10_shader_ngg.c463
-rw-r--r--src/gallium/drivers/radeonsi/meson.build3
-rw-r--r--src/gallium/drivers/radeonsi/si_blit.c45
-rw-r--r--src/gallium/drivers/radeonsi/si_buffer.c45
-rw-r--r--src/gallium/drivers/radeonsi/si_build_pm4.h158
-rw-r--r--src/gallium/drivers/radeonsi/si_clear.c76
-rw-r--r--src/gallium/drivers/radeonsi/si_compute.c181
-rw-r--r--src/gallium/drivers/radeonsi/si_compute_blit.c76
-rw-r--r--src/gallium/drivers/radeonsi/si_cp_dma.c86
-rw-r--r--src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c6
-rw-r--r--src/gallium/drivers/radeonsi/si_debug.c73
-rw-r--r--src/gallium/drivers/radeonsi/si_debug_options.h5
-rw-r--r--src/gallium/drivers/radeonsi/si_descriptors.c266
-rw-r--r--src/gallium/drivers/radeonsi/si_fence.c76
-rw-r--r--src/gallium/drivers/radeonsi/si_get.c37
-rw-r--r--src/gallium/drivers/radeonsi/si_gfx_cs.c182
-rw-r--r--src/gallium/drivers/radeonsi/si_perfcounter.c65
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.c90
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.h176
-rw-r--r--src/gallium/drivers/radeonsi/si_pm4.c4
-rw-r--r--src/gallium/drivers/radeonsi/si_query.c64
-rw-r--r--src/gallium/drivers/radeonsi/si_sdma_copy_image.c480
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c486
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h145
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_internal.h10
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_llvm.c164
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_llvm_gs.c137
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_llvm_ps.c48
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_llvm_tess.c30
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_llvm_vs.c137
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c19
-rw-r--r--src/gallium/drivers/radeonsi/si_shaderlib_tgsi.c10
-rw-r--r--src/gallium/drivers/radeonsi/si_sqtt.c211
-rw-r--r--src/gallium/drivers/radeonsi/si_state.c550
-rw-r--r--src/gallium/drivers/radeonsi/si_state.h44
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.cpp866
-rw-r--r--src/gallium/drivers/radeonsi/si_state_msaa.c30
-rw-r--r--src/gallium/drivers/radeonsi/si_state_shaders.cpp (renamed from src/gallium/drivers/radeonsi/si_state_shaders.c)738
-rw-r--r--src/gallium/drivers/radeonsi/si_state_streamout.c122
-rw-r--r--src/gallium/drivers/radeonsi/si_state_viewport.c110
-rw-r--r--src/gallium/drivers/radeonsi/si_texture.c45
-rw-r--r--src/gallium/drivers/softpipe/ci/deqp-softpipe.toml2
-rw-r--r--src/gallium/drivers/softpipe/ci/gitlab-ci.yml3
-rw-r--r--src/gallium/drivers/softpipe/ci/softpipe-asan-fails.txt (renamed from src/gallium/drivers/softpipe/ci/deqp-softpipe-asan-fails.txt)0
-rw-r--r--src/gallium/drivers/softpipe/ci/softpipe-fails.txt (renamed from src/gallium/drivers/softpipe/ci/deqp-softpipe-fails.txt)0
-rw-r--r--src/gallium/drivers/softpipe/ci/softpipe-flakes.txt (renamed from src/gallium/drivers/softpipe/ci/deqp-softpipe-flakes.txt)0
-rw-r--r--src/gallium/drivers/softpipe/ci/softpipe-quick.txt2
-rw-r--r--src/gallium/drivers/softpipe/ci/softpipe-skips.txt (renamed from src/gallium/drivers/softpipe/ci/deqp-softpipe-skips.txt)0
-rw-r--r--src/gallium/drivers/softpipe/sp_screen.c14
-rw-r--r--src/gallium/drivers/softpipe/sp_surface.c2
-rw-r--r--src/gallium/drivers/svga/svga_pipe_blit.c8
-rw-r--r--src/gallium/drivers/svga/svga_pipe_clear.c2
-rw-r--r--src/gallium/drivers/svga/svga_screen.c14
-rw-r--r--src/gallium/drivers/svga/svga_surface.c29
-rw-r--r--src/gallium/drivers/svga/svga_tgsi_vgpu10.c2
-rw-r--r--src/gallium/drivers/swr/swr_context.cpp4
-rw-r--r--src/gallium/drivers/swr/swr_screen.cpp14
-rw-r--r--src/gallium/drivers/v3d/v3d_blit.c47
-rw-r--r--src/gallium/drivers/v3d/v3d_context.c40
-rw-r--r--src/gallium/drivers/v3d/v3d_context.h12
-rw-r--r--src/gallium/drivers/v3d/v3d_job.c30
-rw-r--r--src/gallium/drivers/v3d/v3d_program.c15
-rw-r--r--src/gallium/drivers/v3d/v3d_query_pipe.c2
-rw-r--r--src/gallium/drivers/v3d/v3d_resource.c2
-rw-r--r--src/gallium/drivers/v3d/v3d_screen.c18
-rw-r--r--src/gallium/drivers/v3d/v3d_uniforms.c1
-rw-r--r--src/gallium/drivers/v3d/v3dx_draw.c16
-rw-r--r--src/gallium/drivers/v3d/v3dx_format_table.c1
-rw-r--r--src/gallium/drivers/v3d/v3dx_job.c2
-rw-r--r--src/gallium/drivers/v3d/v3dx_state.c10
-rw-r--r--src/gallium/drivers/vc4/vc4_blit.c6
-rw-r--r--src/gallium/drivers/vc4/vc4_qir_schedule.c2
-rw-r--r--src/gallium/drivers/vc4/vc4_qpu_schedule.c2
-rw-r--r--src/gallium/drivers/vc4/vc4_screen.c14
-rw-r--r--src/gallium/drivers/virgl/ci/deqp-virgl-gl-flakes.txt6
-rw-r--r--src/gallium/drivers/virgl/ci/deqp-virgl-gl-skips.txt2
-rw-r--r--src/gallium/drivers/virgl/ci/deqp-virgl-gl.toml20
-rw-r--r--src/gallium/drivers/virgl/ci/deqp-virgl-gles-fails.txt181
-rw-r--r--src/gallium/drivers/virgl/ci/deqp-virgl-gles.toml33
-rw-r--r--src/gallium/drivers/virgl/ci/gitlab-ci.yml24
-rw-r--r--src/gallium/drivers/virgl/ci/traces-virgl.yml61
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gl-fails.txt (renamed from src/gallium/drivers/virgl/ci/deqp-virgl-gl-fails.txt)6
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gl-flakes.txt17
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gl-skips.txt6
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gles-fails.txt78
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gles-flakes.txt17
-rw-r--r--src/gallium/drivers/virgl/ci/virgl-gles-skips.txt8
-rw-r--r--src/gallium/drivers/virgl/meson.build2
-rw-r--r--src/gallium/drivers/virgl/tests/meson.build1
-rw-r--r--src/gallium/drivers/virgl/virgl_context.c71
-rw-r--r--src/gallium/drivers/virgl/virgl_context.h5
-rw-r--r--src/gallium/drivers/virgl/virgl_driinfo.h.in1
-rw-r--r--src/gallium/drivers/virgl/virgl_encode.c12
-rw-r--r--src/gallium/drivers/virgl/virgl_encode.h2
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c64
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.h5
-rw-r--r--src/gallium/drivers/virgl/virgl_winsys.h1
-rw-r--r--src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt49
-rw-r--r--src/gallium/drivers/zink/ci/deqp-zink-lvp-flakes.txt1
-rw-r--r--src/gallium/drivers/zink/ci/deqp-zink-lvp-skips.txt1
-rw-r--r--src/gallium/drivers/zink/ci/deqp-zink-lvp.toml3
-rw-r--r--src/gallium/drivers/zink/ci/deqp-zink-radv.toml35
-rw-r--r--src/gallium/drivers/zink/ci/gitlab-ci.yml10
-rw-r--r--src/gallium/drivers/zink/ci/piglit-zink-lvp-flakes.txt1
-rw-r--r--src/gallium/drivers/zink/ci/zink-lvp-fails.txt (renamed from src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt)94
-rw-r--r--src/gallium/drivers/zink/ci/zink-lvp-flakes.txt4
-rw-r--r--src/gallium/drivers/zink/ci/zink-lvp-skips.txt (renamed from src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt)12
-rw-r--r--src/gallium/drivers/zink/ci/zink-radv-fails.txt3151
-rw-r--r--src/gallium/drivers/zink/ci/zink-radv-flakes.txt6
-rw-r--r--src/gallium/drivers/zink/ci/zink-radv-skips.txt13
-rw-r--r--src/gallium/drivers/zink/meson.build7
-rw-r--r--src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c520
-rw-r--r--src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c27
-rw-r--r--src/gallium/drivers/zink/zink_batch.c143
-rw-r--r--src/gallium/drivers/zink/zink_batch.h2
-rw-r--r--src/gallium/drivers/zink/zink_blit.c14
-rw-r--r--src/gallium/drivers/zink/zink_bo.c145
-rw-r--r--src/gallium/drivers/zink/zink_bo.h5
-rw-r--r--src/gallium/drivers/zink/zink_clear.c11
-rw-r--r--src/gallium/drivers/zink/zink_compiler.c824
-rw-r--r--src/gallium/drivers/zink/zink_compiler.h2
-rw-r--r--src/gallium/drivers/zink/zink_context.c859
-rw-r--r--src/gallium/drivers/zink/zink_context.h58
-rw-r--r--src/gallium/drivers/zink/zink_descriptors.c403
-rw-r--r--src/gallium/drivers/zink/zink_descriptors.h42
-rw-r--r--src/gallium/drivers/zink/zink_descriptors_lazy.c237
-rw-r--r--src/gallium/drivers/zink/zink_device_info.py24
-rw-r--r--src/gallium/drivers/zink/zink_draw.cpp329
-rw-r--r--src/gallium/drivers/zink/zink_framebuffer.c68
-rw-r--r--src/gallium/drivers/zink/zink_inlines.h2
-rw-r--r--src/gallium/drivers/zink/zink_pipeline.c14
-rw-r--r--src/gallium/drivers/zink/zink_pipeline.h7
-rw-r--r--src/gallium/drivers/zink/zink_program.c160
-rw-r--r--src/gallium/drivers/zink/zink_program.h32
-rw-r--r--src/gallium/drivers/zink/zink_query.c2
-rw-r--r--src/gallium/drivers/zink/zink_render_pass.c163
-rw-r--r--src/gallium/drivers/zink/zink_render_pass.h20
-rw-r--r--src/gallium/drivers/zink/zink_resource.c202
-rw-r--r--src/gallium/drivers/zink/zink_resource.h13
-rw-r--r--src/gallium/drivers/zink/zink_screen.c204
-rw-r--r--src/gallium/drivers/zink/zink_screen.h8
-rw-r--r--src/gallium/drivers/zink/zink_state.c93
-rw-r--r--src/gallium/drivers/zink/zink_state.h40
-rw-r--r--src/gallium/drivers/zink/zink_surface.c76
-rw-r--r--src/gallium/drivers/zink/zink_surface.h18
-rw-r--r--src/gallium/frontends/clover/api/event.cpp4
-rw-r--r--src/gallium/frontends/clover/api/kernel.cpp18
-rw-r--r--src/gallium/frontends/clover/api/memory.cpp96
-rw-r--r--src/gallium/frontends/clover/api/platform.cpp2
-rw-r--r--src/gallium/frontends/clover/api/program.cpp22
-rw-r--r--src/gallium/frontends/clover/api/transfer.cpp20
-rw-r--r--src/gallium/frontends/clover/core/binary.cpp (renamed from src/gallium/frontends/clover/core/module.cpp)42
-rw-r--r--src/gallium/frontends/clover/core/binary.hpp (renamed from src/gallium/frontends/clover/core/module.hpp)10
-rw-r--r--src/gallium/frontends/clover/core/compiler.hpp12
-rw-r--r--src/gallium/frontends/clover/core/device.cpp6
-rw-r--r--src/gallium/frontends/clover/core/device.hpp4
-rw-r--r--src/gallium/frontends/clover/core/format.cpp162
-rw-r--r--src/gallium/frontends/clover/core/format.hpp3
-rw-r--r--src/gallium/frontends/clover/core/kernel.cpp165
-rw-r--r--src/gallium/frontends/clover/core/kernel.hpp26
-rw-r--r--src/gallium/frontends/clover/core/memory.cpp70
-rw-r--r--src/gallium/frontends/clover/core/memory.hpp61
-rw-r--r--src/gallium/frontends/clover/core/printf.cpp8
-rw-r--r--src/gallium/frontends/clover/core/printf.hpp6
-rw-r--r--src/gallium/frontends/clover/core/program.cpp32
-rw-r--r--src/gallium/frontends/clover/core/program.hpp12
-rw-r--r--src/gallium/frontends/clover/core/resource.cpp7
-rw-r--r--src/gallium/frontends/clover/llvm/codegen.hpp14
-rw-r--r--src/gallium/frontends/clover/llvm/codegen/bitcode.cpp16
-rw-r--r--src/gallium/frontends/clover/llvm/codegen/common.cpp76
-rw-r--r--src/gallium/frontends/clover/llvm/codegen/native.cpp7
-rw-r--r--src/gallium/frontends/clover/llvm/compat.hpp6
-rw-r--r--src/gallium/frontends/clover/llvm/invocation.cpp28
-rw-r--r--src/gallium/frontends/clover/llvm/invocation.hpp8
-rw-r--r--src/gallium/frontends/clover/meson.build5
-rw-r--r--src/gallium/frontends/clover/nir/invocation.cpp117
-rw-r--r--src/gallium/frontends/clover/nir/invocation.hpp6
-rw-r--r--src/gallium/frontends/clover/spirv/invocation.cpp124
-rw-r--r--src/gallium/frontends/clover/spirv/invocation.hpp10
-rw-r--r--src/gallium/frontends/clover/util/adaptor.hpp5
-rw-r--r--src/gallium/frontends/clover/util/compat.hpp43
-rw-r--r--src/gallium/frontends/d3d10umd/D3DKMT.cpp4
-rw-r--r--src/gallium/frontends/d3d10umd/Device.cpp8
-rw-r--r--src/gallium/frontends/d3d10umd/DriverIncludes.h13
-rw-r--r--src/gallium/frontends/d3d10umd/DxgiFns.cpp (renamed from src/gallium/frontends/d3d10umd/Dxgi.cpp)16
-rw-r--r--src/gallium/frontends/d3d10umd/DxgiFns.h (renamed from src/gallium/frontends/d3d10umd/Dxgi.h)4
-rw-r--r--src/gallium/frontends/d3d10umd/Resource.cpp131
-rw-r--r--src/gallium/frontends/d3d10umd/Shader.cpp2
-rw-r--r--src/gallium/frontends/d3d10umd/ShaderParse.c2
-rw-r--r--src/gallium/frontends/d3d10umd/ShaderParse.h3
-rw-r--r--src/gallium/frontends/d3d10umd/State.h1
-rw-r--r--src/gallium/frontends/d3d10umd/meson.build2
-rw-r--r--src/gallium/frontends/dri/dri2.c70
-rw-r--r--src/gallium/frontends/dri/dri_query_renderer.c5
-rw-r--r--src/gallium/frontends/dri/dri_screen.c4
-rw-r--r--src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-skips.txt5
-rw-r--r--src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt117
-rw-r--r--src/gallium/frontends/lavapipe/ci/gitlab-ci.yml2
-rw-r--r--src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt (renamed from src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-fails.txt)0
-rw-r--r--src/gallium/frontends/lavapipe/ci/lvp-asan-skips.txt11
-rw-r--r--src/gallium/frontends/lavapipe/ci/lvp-fails.txt1
-rw-r--r--src/gallium/frontends/lavapipe/ci/lvp-flakes.txt (renamed from src/gallium/frontends/lavapipe/ci/deqp-lvp-flakes.txt)0
-rw-r--r--src/gallium/frontends/lavapipe/ci/lvp-skips.txt (renamed from src/gallium/frontends/lavapipe/ci/deqp-lvp-skips.txt)1
-rw-r--r--src/gallium/frontends/lavapipe/lvp_cmd_buffer.c111
-rw-r--r--src/gallium/frontends/lavapipe/lvp_descriptor_set.c12
-rw-r--r--src/gallium/frontends/lavapipe/lvp_device.c631
-rw-r--r--src/gallium/frontends/lavapipe/lvp_execute.c442
-rw-r--r--src/gallium/frontends/lavapipe/lvp_formats.c16
-rw-r--r--src/gallium/frontends/lavapipe/lvp_image.c67
-rw-r--r--src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c5
-rw-r--r--src/gallium/frontends/lavapipe/lvp_pass.c202
-rw-r--r--src/gallium/frontends/lavapipe/lvp_pipeline.c28
-rw-r--r--src/gallium/frontends/lavapipe/lvp_pipeline_cache.c2
-rw-r--r--src/gallium/frontends/lavapipe/lvp_private.h94
-rw-r--r--src/gallium/frontends/lavapipe/lvp_query.c2
-rw-r--r--src/gallium/frontends/lavapipe/lvp_util.c21
-rw-r--r--src/gallium/frontends/lavapipe/lvp_wsi.c246
-rw-r--r--src/gallium/frontends/lavapipe/lvp_wsi_wayland.c55
-rw-r--r--src/gallium/frontends/lavapipe/lvp_wsi_win32.c54
-rw-r--r--src/gallium/frontends/lavapipe/lvp_wsi_x11.c93
-rw-r--r--src/gallium/frontends/lavapipe/meson.build18
-rw-r--r--src/gallium/frontends/nine/adapter9.c3
-rw-r--r--src/gallium/frontends/omx/bellagio/vid_dec.c2
-rw-r--r--src/gallium/frontends/omx/bellagio/vid_dec_h264.c2
-rw-r--r--src/gallium/frontends/omx/bellagio/vid_dec_h265.c2
-rw-r--r--src/gallium/frontends/omx/bellagio/vid_dec_mpeg12.c2
-rw-r--r--src/gallium/frontends/omx/vid_dec_common.h2
-rw-r--r--src/gallium/frontends/va/context.c2
-rw-r--r--src/gallium/frontends/va/display.c2
-rw-r--r--src/gallium/frontends/va/picture.c29
-rw-r--r--src/gallium/frontends/va/picture_av1.c6
-rw-r--r--src/gallium/frontends/va/picture_hevc_enc.c3
-rw-r--r--src/gallium/frontends/va/picture_vp9.c2
-rw-r--r--src/gallium/frontends/vdpau/decode.c2
-rw-r--r--src/gallium/frontends/wgl/stw_device.c1
-rw-r--r--src/gallium/include/frontend/api.h5
-rw-r--r--src/gallium/include/frontend/winsys_handle.h10
-rw-r--r--src/gallium/include/pipe/p_compiler.h17
-rw-r--r--src/gallium/include/pipe/p_context.h58
-rw-r--r--src/gallium/include/pipe/p_defines.h28
-rw-r--r--src/gallium/include/pipe/p_format.h9
-rw-r--r--src/gallium/include/pipe/p_screen.h55
-rw-r--r--src/gallium/include/pipe/p_state.h59
-rw-r--r--src/gallium/targets/libgl-gdi/meson.build9
-rw-r--r--src/gallium/targets/libgl-gdi/opengl32.mingw.def357
-rw-r--r--src/gallium/targets/opencl/meson.build8
-rw-r--r--src/gallium/targets/osmesa/meson.build3
-rw-r--r--src/gallium/targets/wgl/gallium_wgl.mingw.def26
-rw-r--r--src/gallium/targets/wgl/meson.build8
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_bo.c11
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_cs.c212
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_cs.h19
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c6
-rw-r--r--src/gallium/winsys/crocus/drm/meson.build1
-rw-r--r--src/gallium/winsys/d3d12/wgl/d3d12_wgl_framebuffer.cpp1
-rw-r--r--src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c55
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_bo.c5
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_cs.c21
-rw-r--r--src/gallium/winsys/virgl/drm/virgl_drm_winsys.c50
-rw-r--r--src/gallium/winsys/virgl/drm/virgl_drm_winsys.h7
-rw-r--r--src/gbm/backends/dri/gbm_dri.c10
-rw-r--r--src/gbm/gbm-symbols.txt2
-rw-r--r--src/gbm/main/gbm.c60
-rw-r--r--src/gbm/main/gbm.h25
-rw-r--r--src/gbm/main/gbm_abi_check.c9
-rw-r--r--src/gbm/main/gbm_backend_abi.h10
-rw-r--r--src/glx/clientattrib.c17
-rw-r--r--src/glx/create_context.c9
-rw-r--r--src/glx/dri2_glx.c15
-rw-r--r--src/glx/dri3_glx.c27
-rw-r--r--src/glx/dri3_priv.h1
-rw-r--r--src/glx/glx_pbuffer.c19
-rw-r--r--src/glx/glxclient.h18
-rw-r--r--src/glx/glxcmds.c8
-rw-r--r--src/glx/glxext.c11
-rw-r--r--src/glx/indirect_glx.c17
-rw-r--r--src/glx/tests/fake_glx_screen.h2
-rw-r--r--src/glx/tests/meson.build1
-rw-r--r--src/gtest/include/mesa-gtest-extras.h89
-rw-r--r--src/intel/blorp/blorp.c97
-rw-r--r--src/intel/blorp/blorp.h32
-rw-r--r--src/intel/blorp/blorp_blit.c384
-rw-r--r--src/intel/blorp/blorp_clear.c187
-rw-r--r--src/intel/blorp/blorp_genX_exec.h361
-rw-r--r--src/intel/blorp/blorp_nir_builder.h21
-rw-r--r--src/intel/blorp/blorp_priv.h111
-rw-r--r--src/intel/common/intel_batch_decoder.c34
-rw-r--r--src/intel/common/intel_decoder.c3
-rw-r--r--src/intel/common/intel_decoder.h1
-rw-r--r--src/intel/common/intel_gem.c99
-rw-r--r--src/intel/common/intel_gem.h6
-rw-r--r--src/intel/common/intel_l3_config.c11
-rw-r--r--src/intel/common/intel_urb_config.c3
-rw-r--r--src/intel/common/tests/mi_builder_test.cpp3
-rw-r--r--src/intel/compiler/brw_clip_util.c2
-rw-r--r--src/intel/compiler/brw_compile_clip.c2
-rw-r--r--src/intel/compiler/brw_compile_ff_gs.c2
-rw-r--r--src/intel/compiler/brw_compile_sf.c2
-rw-r--r--src/intel/compiler/brw_compiler.c7
-rw-r--r--src/intel/compiler/brw_compiler.h6
-rw-r--r--src/intel/compiler/brw_disasm.c17
-rw-r--r--src/intel/compiler/brw_disasm_info.c2
-rw-r--r--src/intel/compiler/brw_eu.cpp2
-rw-r--r--src/intel/compiler/brw_eu.h42
-rw-r--r--src/intel/compiler/brw_eu_compact.c25
-rw-r--r--src/intel/compiler/brw_eu_defines.h8
-rw-r--r--src/intel/compiler/brw_eu_emit.c25
-rw-r--r--src/intel/compiler/brw_eu_validate.c16
-rw-r--r--src/intel/compiler/brw_fs.cpp642
-rw-r--r--src/intel/compiler/brw_fs_builder.h5
-rw-r--r--src/intel/compiler/brw_fs_cmod_propagation.cpp5
-rw-r--r--src/intel/compiler/brw_fs_copy_propagation.cpp2
-rw-r--r--src/intel/compiler/brw_fs_generator.cpp22
-rw-r--r--src/intel/compiler/brw_fs_lower_regioning.cpp3
-rw-r--r--src/intel/compiler/brw_fs_nir.cpp251
-rw-r--r--src/intel/compiler/brw_fs_visitor.cpp4
-rw-r--r--src/intel/compiler/brw_inst.h9
-rw-r--r--src/intel/compiler/brw_ir_fs.h3
-rw-r--r--src/intel/compiler/brw_ir_performance.cpp49
-rw-r--r--src/intel/compiler/brw_nir.c6
-rw-r--r--src/intel/compiler/brw_nir.h8
-rw-r--r--src/intel/compiler/brw_nir_clamp_image_1d_2d_array_sizes.c210
-rw-r--r--src/intel/compiler/brw_nir_lower_conversions.c47
-rw-r--r--src/intel/compiler/brw_nir_lower_cs_intrinsics.c6
-rw-r--r--src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c81
-rw-r--r--src/intel/compiler/brw_nir_lower_scoped_barriers.c53
-rw-r--r--src/intel/compiler/brw_nir_lower_shader_calls.c241
-rw-r--r--src/intel/compiler/brw_nir_lower_storage_image.c113
-rw-r--r--src/intel/compiler/brw_nir_opt_peephole_ffma.c181
-rw-r--r--src/intel/compiler/brw_nir_tcs_workarounds.c2
-rw-r--r--src/intel/compiler/brw_private.h58
-rw-r--r--src/intel/compiler/brw_schedule_instructions.cpp2
-rw-r--r--src/intel/compiler/brw_shader.cpp12
-rw-r--r--src/intel/compiler/brw_simd_selection.c208
-rw-r--r--src/intel/compiler/brw_vec4.cpp8
-rw-r--r--src/intel/compiler/brw_vec4_generator.cpp16
-rw-r--r--src/intel/compiler/brw_vec4_gs_visitor.cpp6
-rw-r--r--src/intel/compiler/brw_vec4_nir.cpp2
-rw-r--r--src/intel/compiler/brw_vec4_surface_builder.cpp4
-rw-r--r--src/intel/compiler/brw_vec4_tcs.cpp6
-rw-r--r--src/intel/compiler/brw_vec4_tes.cpp2
-rw-r--r--src/intel/compiler/brw_vec4_visitor.cpp7
-rw-r--r--src/intel/compiler/brw_vec4_vs_visitor.cpp2
-rw-r--r--src/intel/compiler/meson.build48
-rw-r--r--src/intel/compiler/test_eu_compact.cpp193
-rw-r--r--src/intel/compiler/test_eu_validate.cpp25
-rw-r--r--src/intel/compiler/test_fs_cmod_propagation.cpp32
-rw-r--r--src/intel/compiler/test_simd_selection.cpp369
-rw-r--r--src/intel/compiler/test_vec4_cmod_propagation.cpp52
-rw-r--r--src/intel/compiler/test_vec4_copy_propagation.cpp12
-rw-r--r--src/intel/compiler/test_vec4_dead_code_eliminate.cpp8
-rw-r--r--src/intel/compiler/test_vec4_register_coalesce.cpp18
-rw-r--r--src/intel/dev/intel_debug.h11
-rw-r--r--src/intel/dev/intel_dev_info.c11
-rw-r--r--src/intel/dev/intel_device_info.c278
-rw-r--r--src/intel/dev/intel_device_info.h108
-rw-r--r--src/intel/dev/intel_device_info_test.c43
-rw-r--r--src/intel/ds/intel_pps_driver.cc220
-rw-r--r--src/intel/ds/intel_pps_driver.h51
-rw-r--r--src/intel/ds/intel_pps_perf.cc50
-rw-r--r--src/intel/ds/intel_pps_perf.h16
-rw-r--r--src/intel/ds/meson.build6
-rw-r--r--src/intel/genxml/gen11.xml86
-rw-r--r--src/intel/genxml/gen12.xml121
-rw-r--r--src/intel/genxml/gen125.xml603
-rw-r--r--src/intel/genxml/gen4.xml4
-rw-r--r--src/intel/genxml/gen6.xml6
-rw-r--r--src/intel/genxml/gen7.xml44
-rw-r--r--src/intel/genxml/gen75.xml100
-rw-r--r--src/intel/genxml/gen8.xml74
-rw-r--r--src/intel/genxml/gen9.xml84
-rw-r--r--src/intel/genxml/gen_pack_header.py99
-rw-r--r--src/intel/genxml/meson.build2
-rw-r--r--src/intel/isl/isl.c171
-rw-r--r--src/intel/isl/isl.h14
-rw-r--r--src/intel/isl/isl_drm.c2
-rw-r--r--src/intel/isl/isl_emit_depth_stencil.c18
-rw-r--r--src/intel/isl/isl_format.c58
-rw-r--r--src/intel/isl/isl_genX_priv.h2
-rw-r--r--src/intel/isl/isl_gfx7.c8
-rw-r--r--src/intel/isl/isl_surface_state.c35
-rw-r--r--src/intel/isl/meson.build1
-rw-r--r--src/intel/isl/tests/isl_surf_get_image_offset_test.c6
-rw-r--r--src/intel/perf/intel_perf.c94
-rw-r--r--src/intel/perf/intel_perf.h15
-rw-r--r--src/intel/perf/intel_perf_mdapi.c4
-rw-r--r--src/intel/tools/intel_dump_gpu.c6
-rw-r--r--src/intel/tools/intel_noop_drm_shim.c4
-rw-r--r--src/intel/vulkan/anv_acceleration_structure.c29
-rw-r--r--src/intel/vulkan/anv_allocator.c281
-rw-r--r--src/intel/vulkan/anv_android.c139
-rw-r--r--src/intel/vulkan/anv_android.h15
-rw-r--r--src/intel/vulkan/anv_android_stubs.c19
-rw-r--r--src/intel/vulkan/anv_batch_chain.c529
-rw-r--r--src/intel/vulkan/anv_blorp.c170
-rw-r--r--src/intel/vulkan/anv_bo_sync.c234
-rw-r--r--src/intel/vulkan/anv_cmd_buffer.c24
-rw-r--r--src/intel/vulkan/anv_descriptor_set.c30
-rw-r--r--src/intel/vulkan/anv_device.c1173
-rw-r--r--src/intel/vulkan/anv_formats.c328
-rw-r--r--src/intel/vulkan/anv_gem.c354
-rw-r--r--src/intel/vulkan/anv_gem_stubs.c118
-rw-r--r--src/intel/vulkan/anv_image.c513
-rw-r--r--src/intel/vulkan/anv_nir_add_base_work_group_id.c63
-rw-r--r--src/intel/vulkan/anv_nir_apply_pipeline_layout.c28
-rw-r--r--src/intel/vulkan/anv_nir_compute_push_layout.c13
-rw-r--r--src/intel/vulkan/anv_nir_lower_multiview.c2
-rw-r--r--src/intel/vulkan/anv_nir_lower_ycbcr_textures.c48
-rw-r--r--src/intel/vulkan/anv_pass.c101
-rw-r--r--src/intel/vulkan/anv_perf.c16
-rw-r--r--src/intel/vulkan/anv_pipeline.c403
-rw-r--r--src/intel/vulkan/anv_pipeline_cache.c2
-rw-r--r--src/intel/vulkan/anv_private.h613
-rw-r--r--src/intel/vulkan/anv_queue.c2653
-rw-r--r--src/intel/vulkan/anv_util.c76
-rw-r--r--src/intel/vulkan/anv_wsi.c305
-rw-r--r--src/intel/vulkan/anv_wsi_display.c294
-rw-r--r--src/intel/vulkan/anv_wsi_wayland.c53
-rw-r--r--src/intel/vulkan/anv_wsi_x11.c96
-rw-r--r--src/intel/vulkan/genX_blorp_exec.c45
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c337
-rw-r--r--src/intel/vulkan/genX_pipeline.c278
-rw-r--r--src/intel/vulkan/genX_query.c30
-rw-r--r--src/intel/vulkan/genX_state.c29
-rw-r--r--src/intel/vulkan/gfx7_cmd_buffer.c13
-rw-r--r--src/intel/vulkan/gfx8_cmd_buffer.c33
-rw-r--r--src/intel/vulkan/meson.build44
-rw-r--r--src/intel/vulkan/tests/block_pool_grow_first.c2
-rw-r--r--src/intel/vulkan/tests/block_pool_no_free.c6
-rw-r--r--src/intel/vulkan/tests/state_pool.c2
-rw-r--r--src/intel/vulkan/tests/state_pool_free_list_only.c2
-rw-r--r--src/intel/vulkan/tests/state_pool_no_free.c2
-rw-r--r--src/intel/vulkan/tests/state_pool_padding.c2
-rw-r--r--src/loader/loader.c69
-rw-r--r--src/loader/loader.h4
-rw-r--r--src/loader/loader_dri3_helper.c79
-rw-r--r--src/loader/loader_dri3_helper.h2
-rw-r--r--src/mapi/entry.c28
-rw-r--r--src/mapi/glapi/gen/ARB_framebuffer_object.xml6
-rw-r--r--src/mapi/glapi/gen/gl_API.dtd3
-rw-r--r--src/mapi/glapi/gen/gl_API.xml8
-rw-r--r--src/mapi/glapi/gen/gl_XML.py1
-rw-r--r--src/mapi/glapi/gen/gl_marshal.py5
-rw-r--r--src/mapi/glapi/gen/marshal_XML.py1
-rw-r--r--src/mapi/glapi/glapi.h5
-rw-r--r--src/mapi/glapi/meson.build1
-rw-r--r--src/mapi/shared-glapi/meson.build1
-rw-r--r--src/mesa/drivers/dri/i965/brw_batch.c18
-rw-r--r--src/mesa/drivers/dri/i965/brw_binding_tables.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp.c39
-rw-r--r--src/mesa/drivers/dri/i965/brw_bufmgr.h1
-rw-r--r--src/mesa/drivers/dri/i965/brw_clear.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c18
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.h4
-rw-r--r--src/mesa/drivers/dri/i965/brw_cs.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_curbe.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_defines.h9
-rw-r--r--src/mesa/drivers/dri/i965/brw_disk_cache.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_draw_upload.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_extensions.c9
-rw-r--r--src/mesa/drivers/dri/i965/brw_gs.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_link.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_mipmap_tree.c26
-rw-r--r--src/mesa/drivers/dri/i965/brw_mipmap_tree.h2
-rw-r--r--src/mesa/drivers/dri/i965/brw_misc_state.c212
-rw-r--r--src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp18
-rw-r--r--src/mesa/drivers/dri/i965/brw_performance_query.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_pipe_control.c10
-rw-r--r--src/mesa/drivers/dri/i965/brw_pixel_bitmap.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_pixel_read.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_program.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_screen.c62
-rw-r--r--src/mesa/drivers/dri/i965/brw_screen.h1
-rw-r--r--src/mesa/drivers/dri/i965/brw_state.h65
-rw-r--r--src/mesa/drivers/dri/i965/brw_state_upload.c12
-rw-r--r--src/mesa/drivers/dri/i965/brw_tcs.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_tes.c2
-rw-r--r--src/mesa/drivers/dri/i965/brw_tex_image.c8
-rw-r--r--src/mesa/drivers/dri/i965/brw_urb.c6
-rw-r--r--src/mesa/drivers/dri/i965/brw_vs.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.c11
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_surface_state.c39
-rw-r--r--src/mesa/drivers/dri/i965/genX_blorp_exec.c26
-rw-r--r--src/mesa/drivers/dri/i965/genX_state_upload.c214
-rw-r--r--src/mesa/drivers/dri/i965/gfx6_queryobj.c2
-rw-r--r--src/mesa/drivers/dri/i965/gfx7_l3_state.c10
-rw-r--r--src/mesa/drivers/dri/i965/gfx7_urb.c13
-rw-r--r--src/mesa/drivers/dri/i965/hsw_queryobj.c2
-rw-r--r--src/mesa/drivers/dri/i965/hsw_sol.c4
-rw-r--r--src/mesa/main/arbprogram.c7
-rw-r--r--src/mesa/main/arrayobj.c9
-rw-r--r--src/mesa/main/arrayobj.h18
-rw-r--r--src/mesa/main/attrib.c3
-rw-r--r--src/mesa/main/bufferobj.c97
-rw-r--r--src/mesa/main/bufferobj.h2
-rw-r--r--src/mesa/main/context.c37
-rw-r--r--src/mesa/main/context.h2
-rw-r--r--src/mesa/main/dd.h24
-rw-r--r--src/mesa/main/dlist.c247
-rw-r--r--src/mesa/main/dlist.h33
-rw-r--r--src/mesa/main/draw.c38
-rw-r--r--src/mesa/main/drawpix.c9
-rw-r--r--src/mesa/main/errors.c8
-rw-r--r--src/mesa/main/extensions.c26
-rw-r--r--src/mesa/main/extensions.h2
-rw-r--r--src/mesa/main/extensions_table.h6
-rw-r--r--src/mesa/main/externalobjects.c31
-rw-r--r--src/mesa/main/ff_fragment_shader.cpp3
-rw-r--r--src/mesa/main/ffvertex_prog.c13
-rw-r--r--src/mesa/main/genmipmap.c14
-rw-r--r--src/mesa/main/get_hash_params.py8
-rw-r--r--src/mesa/main/glformats.c44
-rw-r--r--src/mesa/main/glspirv.c9
-rw-r--r--src/mesa/main/glthread.h7
-rw-r--r--src/mesa/main/glthread_bufferobj.c3
-rw-r--r--src/mesa/main/glthread_get.c22
-rw-r--r--src/mesa/main/glthread_marshal.h46
-rw-r--r--src/mesa/main/mtypes.h107
-rw-r--r--src/mesa/main/pixel.c9
-rw-r--r--src/mesa/main/polygon.c3
-rw-r--r--src/mesa/main/program_resource.c2
-rw-r--r--src/mesa/main/readpix.c6
-rw-r--r--src/mesa/main/shader_query.cpp228
-rw-r--r--src/mesa/main/shaderapi.c101
-rw-r--r--src/mesa/main/shaderapi.h21
-rw-r--r--src/mesa/main/shaderobj.c9
-rw-r--r--src/mesa/main/shared.c4
-rw-r--r--src/mesa/main/state.c1
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp6
-rw-r--r--src/mesa/main/tests/meson.build1
-rw-r--r--src/mesa/main/texgetimage.c6
-rw-r--r--src/mesa/main/teximage.c164
-rw-r--r--src/mesa/main/texobj.c2
-rw-r--r--src/mesa/main/texstorage.c11
-rw-r--r--src/mesa/main/texstorage.h4
-rw-r--r--src/mesa/main/uniform_query.cpp41
-rw-r--r--src/mesa/main/varray.c43
-rw-r--r--src/mesa/main/version.c9
-rw-r--r--src/mesa/meson.build3
-rw-r--r--src/mesa/program/ir_to_mesa.cpp1
-rw-r--r--src/mesa/program/prog_print.c4
-rw-r--r--src/mesa/program/prog_statevars.c3
-rw-r--r--src/mesa/state_tracker/st_atom.c47
-rw-r--r--src/mesa/state_tracker/st_atom.h25
-rw-r--r--src/mesa/state_tracker/st_atom_array.cpp (renamed from src/mesa/state_tracker/st_atom_array.c)183
-rw-r--r--src/mesa/state_tracker/st_atom_shader.c20
-rw-r--r--src/mesa/state_tracker/st_cb_bitmap.c3
-rw-r--r--src/mesa/state_tracker/st_cb_bufferobjects.c7
-rw-r--r--src/mesa/state_tracker/st_cb_clear.c1
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels.c1
-rw-r--r--src/mesa/state_tracker/st_cb_drawtex.c1
-rw-r--r--src/mesa/state_tracker/st_cb_feedback.c2
-rw-r--r--src/mesa/state_tracker/st_cb_memoryobjects.c2
-rw-r--r--src/mesa/state_tracker/st_cb_rasterpos.c5
-rw-r--r--src/mesa/state_tracker/st_cb_readpixels.c1
-rw-r--r--src/mesa/state_tracker/st_cb_texture.c140
-rw-r--r--src/mesa/state_tracker/st_context.c24
-rw-r--r--src/mesa/state_tracker/st_context.h3
-rw-r--r--src/mesa/state_tracker/st_draw.c85
-rw-r--r--src/mesa/state_tracker/st_draw.h3
-rw-r--r--src/mesa/state_tracker/st_extensions.c23
-rw-r--r--src/mesa/state_tracker/st_glsl_to_ir.cpp30
-rw-r--r--src/mesa/state_tracker/st_glsl_to_nir.cpp55
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp26
-rw-r--r--src/mesa/state_tracker/st_manager.c6
-rw-r--r--src/mesa/state_tracker/st_pbo.c30
-rw-r--r--src/mesa/state_tracker/st_pbo.h28
-rw-r--r--src/mesa/state_tracker/st_pbo_compute.c1110
-rw-r--r--src/mesa/state_tracker/st_program.c86
-rw-r--r--src/mesa/state_tracker/st_program.h2
-rw-r--r--src/mesa/state_tracker/tests/meson.build2
-rw-r--r--src/mesa/swrast/s_texfilter.c2
-rw-r--r--src/mesa/vbo/vbo_private.h7
-rw-r--r--src/mesa/vbo/vbo_save.h40
-rw-r--r--src/mesa/vbo/vbo_save_api.c133
-rw-r--r--src/mesa/vbo/vbo_save_draw.c146
-rw-r--r--src/mesa/vbo/vbo_save_loopback.c4
-rw-r--r--src/meson.build9
-rw-r--r--src/microsoft/ci/gitlab-ci.yml19
-rw-r--r--src/microsoft/ci/spirv2dxil_reference.txt1504
-rw-r--r--src/microsoft/clc/clc_compiler.c391
-rw-r--r--src/microsoft/clc/clc_compiler.h139
-rw-r--r--src/microsoft/clc/clc_compiler_test.cpp116
-rw-r--r--src/microsoft/clc/clglon12compiler.def12
-rw-r--r--src/microsoft/clc/clon12compiler.def18
-rw-r--r--src/microsoft/clc/compute_test.cpp90
-rw-r--r--src/microsoft/clc/compute_test.h35
-rw-r--r--src/microsoft/clc/meson.build42
-rw-r--r--src/microsoft/compiler/dxil_container.c11
-rw-r--r--src/microsoft/compiler/dxil_enums.c5
-rw-r--r--src/microsoft/compiler/dxil_nir.c227
-rw-r--r--src/microsoft/compiler/dxil_nir.h3
-rw-r--r--src/microsoft/compiler/nir_to_dxil.c44
-rw-r--r--src/microsoft/spirv_to_dxil/dxil_validation.cpp134
-rw-r--r--src/microsoft/spirv_to_dxil/dxil_validation.h41
-rw-r--r--src/microsoft/spirv_to_dxil/meson.build2
-rw-r--r--src/microsoft/spirv_to_dxil/spirv2dxil.c22
-rw-r--r--src/microsoft/spirv_to_dxil/spirv_to_dxil.c11
-rw-r--r--src/panfrost/bifrost/ISA.xml3
-rw-r--r--src/panfrost/bifrost/bi_helper_invocations.c2
-rw-r--r--src/panfrost/bifrost/bi_opcodes.h.py2
-rw-r--r--src/panfrost/bifrost/bi_opt_dual_tex.c154
-rw-r--r--src/panfrost/bifrost/bi_ra.c22
-rw-r--r--src/panfrost/bifrost/bi_schedule.c7
-rw-r--r--src/panfrost/bifrost/bi_test.h30
-rw-r--r--src/panfrost/bifrost/bifrost.h56
-rw-r--r--src/panfrost/bifrost/bifrost_compile.c87
-rw-r--r--src/panfrost/bifrost/bifrost_nir_algebraic.py3
-rw-r--r--src/panfrost/bifrost/bir.c2
-rw-r--r--src/panfrost/bifrost/compiler.h41
-rw-r--r--src/panfrost/bifrost/meson.build73
-rw-r--r--src/panfrost/bifrost/test/test-constant-fold.c124
-rw-r--r--src/panfrost/bifrost/test/test-constant-fold.cpp203
-rw-r--r--src/panfrost/bifrost/test/test-dual-texture.cpp211
-rw-r--r--src/panfrost/bifrost/test/test-optimizer.cpp (renamed from src/panfrost/bifrost/test/test-optimizer.c)105
-rw-r--r--src/panfrost/bifrost/test/test-pack-formats.c277
-rw-r--r--src/panfrost/bifrost/test/test-pack-formats.cpp281
-rw-r--r--src/panfrost/bifrost/test/test-packing.cpp (renamed from src/panfrost/bifrost/test/test-packing.c)70
-rw-r--r--src/panfrost/bifrost/test/test-scheduler-predicates.cpp (renamed from src/panfrost/bifrost/test/test-scheduler-predicates.c)96
-rw-r--r--src/panfrost/bifrost/valhall/ISA.xml447
-rw-r--r--src/panfrost/bifrost/valhall/asm.py15
-rw-r--r--src/panfrost/bifrost/valhall/test/assembler-cases.txt13
-rw-r--r--src/panfrost/bifrost/valhall/test/negative-cases.txt6
-rw-r--r--src/panfrost/bifrost/valhall/valhall.py2
-rw-r--r--src/panfrost/ci/deqp-panfrost-g52-vk.toml4
-rw-r--r--src/panfrost/ci/deqp-panfrost-g52.toml (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g52.toml)2
-rw-r--r--src/panfrost/ci/deqp-panfrost-g72.toml (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g72.toml)2
-rw-r--r--src/panfrost/ci/deqp-panfrost-t720.toml (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t720.toml)2
-rw-r--r--src/panfrost/ci/deqp-panfrost-t760.toml (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t760.toml)2
-rw-r--r--src/panfrost/ci/deqp-panfrost-t860.toml (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t860.toml)2
-rw-r--r--src/panfrost/ci/gitlab-ci.yml (renamed from src/gallium/drivers/panfrost/ci/gitlab-ci.yml)40
-rw-r--r--src/panfrost/ci/panfrost-g52-fails.txt1283
-rw-r--r--src/panfrost/ci/panfrost-g52-flakes.txt15
-rw-r--r--src/panfrost/ci/panfrost-g52-skips.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-skips.txt)0
-rw-r--r--src/panfrost/ci/panfrost-g72-fails.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g52-flakes.txt)0
-rw-r--r--src/panfrost/ci/panfrost-g72-flakes.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g72-flakes.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t720-fails.txt46
-rw-r--r--src/panfrost/ci/panfrost-t720-flakes.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t720-flakes.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t720-skips.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t720-skips.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t760-fails.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-g72-fails.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t760-flakes.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t760-flakes.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t820-fails.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t760-fails.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t860-fails.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t860-fails.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t860-flakes.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t860-flakes.txt)0
-rw-r--r--src/panfrost/ci/panfrost-t860-skips.txt (renamed from src/gallium/drivers/panfrost/ci/deqp-panfrost-t860-skips.txt)0
-rw-r--r--src/panfrost/ci/traces-panfrost.yml (renamed from src/gallium/drivers/panfrost/ci/traces-panfrost.yml)0
-rw-r--r--src/panfrost/ci/vk-panvk.txt105543
-rw-r--r--src/panfrost/drm-shim/panfrost_noop.c13
-rw-r--r--src/panfrost/ds/meson.build4
-rw-r--r--src/panfrost/ds/pan_pps_driver.cc10
-rw-r--r--src/panfrost/ds/pan_pps_driver.h2
-rw-r--r--src/panfrost/include/panfrost-quirks.h8
-rw-r--r--src/panfrost/lib/genxml/common.xml114
-rw-r--r--src/panfrost/lib/genxml/decode.c (renamed from src/panfrost/lib/decode.c)141
-rw-r--r--src/panfrost/lib/genxml/decode.h (renamed from src/panfrost/lib/decode.h)2
-rw-r--r--src/panfrost/lib/genxml/decode_common.c (renamed from src/panfrost/lib/decode_common.c)0
-rw-r--r--src/panfrost/lib/genxml/gen_macros.h (renamed from src/panfrost/lib/gen_macros.h)26
-rw-r--r--src/panfrost/lib/genxml/gen_pack.py (renamed from src/panfrost/lib/gen_pack.py)34
-rw-r--r--src/panfrost/lib/genxml/meson.build64
-rw-r--r--src/panfrost/lib/genxml/v4.xml999
-rw-r--r--src/panfrost/lib/genxml/v5.xml1124
-rw-r--r--src/panfrost/lib/genxml/v6.xml (renamed from src/panfrost/lib/midgard.xml)606
-rw-r--r--src/panfrost/lib/genxml/v7.xml1351
-rw-r--r--src/panfrost/lib/meson.build38
-rw-r--r--src/panfrost/lib/pan_afbc.c62
-rw-r--r--src/panfrost/lib/pan_blend.c105
-rw-r--r--src/panfrost/lib/pan_blend.h8
-rw-r--r--src/panfrost/lib/pan_blitter.c218
-rw-r--r--src/panfrost/lib/pan_blitter.h21
-rw-r--r--src/panfrost/lib/pan_clear.c2
-rw-r--r--src/panfrost/lib/pan_cs.c209
-rw-r--r--src/panfrost/lib/pan_cs.h2
-rw-r--r--src/panfrost/lib/pan_device.h3
-rw-r--r--src/panfrost/lib/pan_encoder.h28
-rw-r--r--src/panfrost/lib/pan_format.c49
-rw-r--r--src/panfrost/lib/pan_format.h2
-rw-r--r--src/panfrost/lib/pan_indirect_dispatch.c3
-rw-r--r--src/panfrost/lib/pan_indirect_dispatch.h2
-rw-r--r--src/panfrost/lib/pan_indirect_draw.c6
-rw-r--r--src/panfrost/lib/pan_indirect_draw.h2
-rw-r--r--src/panfrost/lib/pan_pool.h2
-rw-r--r--src/panfrost/lib/pan_props.c14
-rw-r--r--src/panfrost/lib/pan_scoreboard.h2
-rw-r--r--src/panfrost/lib/pan_shader.c28
-rw-r--r--src/panfrost/lib/pan_shader.h36
-rw-r--r--src/panfrost/lib/pan_texture.c56
-rw-r--r--src/panfrost/lib/pan_texture.h7
-rw-r--r--src/panfrost/lib/tests/test-blend.c30
-rw-r--r--src/panfrost/lib/tests/test-clear.c2
-rw-r--r--src/panfrost/midgard/disassemble.c189
-rw-r--r--src/panfrost/midgard/midgard_compile.c7
-rw-r--r--src/panfrost/midgard/midgard_compile.h1
-rw-r--r--src/panfrost/midgard/midgard_schedule.c2
-rw-r--r--src/panfrost/util/pan_ir.h42
-rw-r--r--src/panfrost/util/pan_lower_framebuffer.c148
-rw-r--r--src/panfrost/util/pan_lower_framebuffer.h4
-rw-r--r--src/panfrost/util/pan_sysval.c2
-rw-r--r--src/panfrost/vulkan/meson.build18
-rw-r--r--src/panfrost/vulkan/panvk_cmd_buffer.c130
-rw-r--r--src/panfrost/vulkan/panvk_descriptor_set.c10
-rw-r--r--src/panfrost/vulkan/panvk_device.c118
-rw-r--r--src/panfrost/vulkan/panvk_formats.c4
-rw-r--r--src/panfrost/vulkan/panvk_image.c4
-rw-r--r--src/panfrost/vulkan/panvk_mempool.c13
-rw-r--r--src/panfrost/vulkan/panvk_mempool.h1
-rw-r--r--src/panfrost/vulkan/panvk_pass.c29
-rw-r--r--src/panfrost/vulkan/panvk_pipeline_cache.c2
-rw-r--r--src/panfrost/vulkan/panvk_private.h126
-rw-r--r--src/panfrost/vulkan/panvk_shader.c2
-rw-r--r--src/panfrost/vulkan/panvk_sync.c6
-rw-r--r--src/panfrost/vulkan/panvk_util.c30
-rw-r--r--src/panfrost/vulkan/panvk_vX_cmd_buffer.c271
-rw-r--r--src/panfrost/vulkan/panvk_vX_cmd_buffer.h5
-rw-r--r--src/panfrost/vulkan/panvk_vX_cs.c188
-rw-r--r--src/panfrost/vulkan/panvk_vX_cs.h15
-rw-r--r--src/panfrost/vulkan/panvk_vX_descriptor_set.c14
-rw-r--r--src/panfrost/vulkan/panvk_vX_device.c18
-rw-r--r--src/panfrost/vulkan/panvk_vX_image.c49
-rw-r--r--src/panfrost/vulkan/panvk_vX_meta.c545
-rw-r--r--src/panfrost/vulkan/panvk_vX_meta.h17
-rw-r--r--src/panfrost/vulkan/panvk_vX_meta_blit.c237
-rw-r--r--src/panfrost/vulkan/panvk_vX_meta_clear.c714
-rw-r--r--src/panfrost/vulkan/panvk_vX_meta_copy.c2148
-rw-r--r--src/panfrost/vulkan/panvk_vX_pipeline.c24
-rw-r--r--src/panfrost/vulkan/panvk_vX_shader.c193
-rw-r--r--src/panfrost/vulkan/panvk_wsi.c209
-rw-r--r--src/panfrost/vulkan/panvk_wsi_display.c136
-rw-r--r--src/panfrost/vulkan/panvk_wsi_wayland.c61
-rw-r--r--src/tool/pps/cfg/gpu.cfg5
-rw-r--r--src/tool/pps/cfg/intel.cfg79
-rw-r--r--src/tool/pps/pps_datasource.cc84
-rw-r--r--src/tool/pps/pps_datasource.h8
-rw-r--r--src/tool/pps/pps_driver.h8
-rw-r--r--src/util/00-mesa-defaults.conf119
-rw-r--r--src/util/anon_file.c18
-rw-r--r--src/util/bitscan.h44
-rw-r--r--src/util/bitset.h148
-rw-r--r--src/util/bitset_test.cpp129
-rw-r--r--src/util/blob_test.c328
-rw-r--r--src/util/cnd_monotonic.h4
-rw-r--r--src/util/compiler.h11
-rw-r--r--src/util/dag.c49
-rw-r--r--src/util/dag.h5
-rw-r--r--src/util/driconf.h40
-rw-r--r--src/util/format/u_format.c66
-rw-r--r--src/util/format/u_format.csv8
-rw-r--r--src/util/format/u_format.h4
-rw-r--r--src/util/format/u_format_table.py3
-rw-r--r--src/util/hash_table.c13
-rw-r--r--src/util/hash_table.h1
-rw-r--r--src/util/indices/u_indices.c (renamed from src/gallium/auxiliary/indices/u_indices.c)0
-rw-r--r--src/util/indices/u_indices.h (renamed from src/gallium/auxiliary/indices/u_indices.h)0
-rw-r--r--src/util/indices/u_indices_gen.py (renamed from src/gallium/auxiliary/indices/u_indices_gen.py)0
-rw-r--r--src/util/indices/u_indices_priv.h (renamed from src/gallium/auxiliary/indices/u_indices_priv.h)0
-rw-r--r--src/util/indices/u_primconvert.c (renamed from src/gallium/auxiliary/indices/u_primconvert.c)220
-rw-r--r--src/util/indices/u_primconvert.h (renamed from src/gallium/auxiliary/indices/u_primconvert.h)7
-rw-r--r--src/util/indices/u_unfilled_gen.py (renamed from src/gallium/auxiliary/indices/u_unfilled_gen.py)0
-rw-r--r--src/util/indices/u_unfilled_indices.c (renamed from src/gallium/auxiliary/indices/u_unfilled_indices.c)0
-rw-r--r--src/util/libsync.h6
-rw-r--r--src/util/macros.h3
-rw-r--r--src/util/mesa-sha1.c34
-rw-r--r--src/util/mesa-sha1.h10
-rw-r--r--src/util/meson.build176
-rw-r--r--src/util/os_memory_fd.c182
-rw-r--r--src/util/os_memory_fd.h53
-rw-r--r--src/util/os_memory_stdc.h6
-rw-r--r--src/util/perf/u_trace.c138
-rw-r--r--src/util/perf/u_trace.h20
-rw-r--r--src/util/perf/u_trace.py18
-rw-r--r--src/util/perf/u_trace_priv.h1
-rw-r--r--src/util/ralloc.c52
-rw-r--r--src/util/rb_tree.h8
-rw-r--r--src/util/register_allocate.c2
-rw-r--r--src/util/slab.c18
-rw-r--r--src/util/slab.h4
-rw-r--r--src/util/tests/bitset_test.cpp403
-rw-r--r--src/util/tests/blob_test.cpp239
-rw-r--r--src/util/tests/cache/cache_test.c65
-rw-r--r--src/util/tests/cache/meson.build2
-rw-r--r--src/util/tests/dag_test.cpp55
-rw-r--r--src/util/tests/drirc_configdir/00-test.conf8
-rw-r--r--src/util/tests/drirc_configdir/01-unused1
-rw-r--r--src/util/tests/drirc_home/.drirc1
-rw-r--r--src/util/tests/fast_idiv_by_const/meson.build31
-rw-r--r--src/util/tests/fast_idiv_by_const_test.cpp (renamed from src/util/tests/fast_idiv_by_const/fast_idiv_by_const_test.cpp)0
-rw-r--r--src/util/tests/fast_urem_by_const/meson.build31
-rw-r--r--src/util/tests/fast_urem_by_const_test.cpp (renamed from src/util/tests/fast_urem_by_const/fast_urem_by_const_test.cpp)0
-rw-r--r--src/util/tests/format/u_format_test.c16
-rw-r--r--src/util/tests/mesa-sha1_test.cpp (renamed from src/util/mesa-sha1_test.c)58
-rw-r--r--src/util/tests/process_test.c (renamed from src/util/process_test.c)0
-rw-r--r--src/util/tests/rb_tree_test.cpp (renamed from src/util/rb_tree_test.c)4
-rw-r--r--src/util/tests/register_allocate_test.cpp (renamed from src/util/register_allocate_test.cpp)70
-rw-r--r--src/util/tests/roundeven_test.cpp (renamed from src/util/roundeven_test.c)98
-rw-r--r--src/util/tests/set/meson.build30
-rw-r--r--src/util/tests/set_test.cpp (renamed from src/util/tests/set/set_test.cpp)0
-rw-r--r--src/util/tests/sparse_array/meson.build31
-rw-r--r--src/util/tests/sparse_array_test.cpp (renamed from src/util/tests/sparse_array/multi_threaded.c)62
-rw-r--r--src/util/tests/string_buffer/meson.build31
-rw-r--r--src/util/tests/string_buffer_test.cpp (renamed from src/util/tests/string_buffer/string_buffer_test.cpp)0
-rw-r--r--src/util/tests/timespec/meson.build30
-rw-r--r--src/util/tests/timespec_test.cpp (renamed from src/util/tests/timespec/timespec_test.cpp)0
-rw-r--r--src/util/tests/u_atomic_test.cpp138
-rw-r--r--src/util/tests/u_debug_stack_test.cpp (renamed from src/util/u_debug_stack_test.cpp)0
-rw-r--r--src/util/tests/u_qsort_test.cpp (renamed from src/util/u_qsort_test.cpp)0
-rw-r--r--src/util/tests/vector_test.cpp (renamed from src/util/tests/vector/vector_test.cpp)2
-rw-r--r--src/util/tests/xmlconfig.cpp10
-rw-r--r--src/util/u_atomic_test.c162
-rw-r--r--src/util/u_cpu_detect.c7
-rw-r--r--src/util/u_cpu_detect.h3
-rw-r--r--src/util/u_debug_describe.c (renamed from src/gallium/auxiliary/util/u_debug_describe.c)0
-rw-r--r--src/util/u_debug_describe.h (renamed from src/gallium/auxiliary/util/u_debug_describe.h)0
-rw-r--r--src/util/u_debug_refcnt.c (renamed from src/gallium/auxiliary/util/u_debug_refcnt.c)3
-rw-r--r--src/util/u_debug_refcnt.h (renamed from src/gallium/auxiliary/util/u_debug_refcnt.h)0
-rw-r--r--src/util/u_hash_table.c (renamed from src/gallium/auxiliary/util/u_hash_table.c)0
-rw-r--r--src/util/u_hash_table.h (renamed from src/gallium/auxiliary/util/u_hash_table.h)0
-rw-r--r--src/util/u_memory.h4
-rw-r--r--src/util/u_printf.cpp43
-rw-r--r--src/util/u_printf.h8
-rw-r--r--src/util/u_process.c25
-rw-r--r--src/util/u_queue.c29
-rw-r--r--src/util/u_queue.h3
-rw-r--r--src/util/u_thread.h24
-rw-r--r--src/util/u_vector.c15
-rw-r--r--src/util/u_vector.h16
-rw-r--r--src/util/vl_rbsp.h (renamed from src/gallium/auxiliary/vl/vl_rbsp.h)8
-rw-r--r--src/util/vl_vlc.h (renamed from src/gallium/auxiliary/vl/vl_vlc.h)18
-rw-r--r--src/util/xmlconfig.c34
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver.h2
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_buffer.h16
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h124
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_command_pool.h8
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_pool.h6
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h6
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_set_layout.h6
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_update_template.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_device.h54
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_device_memory.h14
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_event.h10
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_fence.h10
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_framebuffer.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_image.h20
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_image_view.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_instance.h10
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline.h6
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h8
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_query_pool.h8
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_queue.h6
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_render_pass.h8
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_sampler.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_sampler_ycbcr_conversion.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_semaphore.h10
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_shader_module.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_transport.h18
-rw-r--r--src/virtio/virtio-gpu/virgl_hw.h1
-rw-r--r--src/virtio/virtio-gpu/virgl_protocol.h10
-rw-r--r--src/virtio/vulkan/meson.build13
-rw-r--r--src/virtio/vulkan/vn_android.c46
-rw-r--r--src/virtio/vulkan/vn_android.h12
-rw-r--r--src/virtio/vulkan/vn_buffer.c287
-rw-r--r--src/virtio/vulkan/vn_buffer.h31
-rw-r--r--src/virtio/vulkan/vn_command_buffer.c22
-rw-r--r--src/virtio/vulkan/vn_common.c8
-rw-r--r--src/virtio/vulkan/vn_common.h99
-rw-r--r--src/virtio/vulkan/vn_descriptor_set.c105
-rw-r--r--src/virtio/vulkan/vn_descriptor_set.h4
-rw-r--r--src/virtio/vulkan/vn_device.c115
-rw-r--r--src/virtio/vulkan/vn_device.h4
-rw-r--r--src/virtio/vulkan/vn_device_memory.c9
-rw-r--r--src/virtio/vulkan/vn_icd.c1
-rw-r--r--src/virtio/vulkan/vn_image.c26
-rw-r--r--src/virtio/vulkan/vn_image.h8
-rw-r--r--src/virtio/vulkan/vn_instance.c12
-rw-r--r--src/virtio/vulkan/vn_physical_device.c25
-rw-r--r--src/virtio/vulkan/vn_renderer.h39
-rw-r--r--src/virtio/vulkan/vn_renderer_virtgpu.c10
-rw-r--r--src/virtio/vulkan/vn_renderer_vtest.c4
-rw-r--r--src/virtio/vulkan/vn_wsi.c195
-rw-r--r--src/virtio/vulkan/vn_wsi_wayland.c42
-rw-r--r--src/virtio/vulkan/vn_wsi_x11.c78
-rw-r--r--src/vulkan/device-select-layer/device_select_layer.c2
-rw-r--r--src/vulkan/device-select-layer/device_select_x11.c1
-rw-r--r--src/vulkan/device-select-layer/meson.build9
-rw-r--r--src/vulkan/meson.build9
-rw-r--r--src/vulkan/registry/vk.xml3000
-rw-r--r--src/vulkan/runtime/meson.build158
-rw-r--r--src/vulkan/runtime/vk_cmd_copy.c (renamed from src/vulkan/util/vk_cmd_copy.c)0
-rw-r--r--src/vulkan/runtime/vk_command_buffer.c (renamed from src/vulkan/wsi/wsi_common_win32.h)41
-rw-r--r--src/vulkan/runtime/vk_command_buffer.h95
-rw-r--r--src/vulkan/runtime/vk_debug_report.c (renamed from src/vulkan/util/vk_debug_report.c)0
-rw-r--r--src/vulkan/runtime/vk_debug_report.h (renamed from src/vulkan/util/vk_debug_report.h)0
-rw-r--r--src/vulkan/runtime/vk_debug_utils.c285
-rw-r--r--src/vulkan/runtime/vk_debug_utils.h (renamed from src/vulkan/util/vk_device.h)58
-rw-r--r--src/vulkan/runtime/vk_deferred_operation.c (renamed from src/vulkan/util/vk_deferred_operation.c)0
-rw-r--r--src/vulkan/runtime/vk_deferred_operation.h (renamed from src/vulkan/util/vk_deferred_operation.h)0
-rw-r--r--src/vulkan/runtime/vk_descriptors.c (renamed from src/vulkan/util/vk_descriptors.c)0
-rw-r--r--src/vulkan/runtime/vk_descriptors.h (renamed from src/vulkan/util/vk_descriptors.h)0
-rw-r--r--src/vulkan/runtime/vk_device.c807
-rw-r--r--src/vulkan/runtime/vk_device.h214
-rw-r--r--src/vulkan/runtime/vk_drm_syncobj.c369
-rw-r--r--src/vulkan/runtime/vk_drm_syncobj.h63
-rw-r--r--src/vulkan/runtime/vk_fence.c488
-rw-r--r--src/vulkan/runtime/vk_fence.h82
-rw-r--r--src/vulkan/runtime/vk_image.c (renamed from src/vulkan/util/vk_image.c)135
-rw-r--r--src/vulkan/runtime/vk_image.h (renamed from src/vulkan/util/vk_image.h)7
-rw-r--r--src/vulkan/runtime/vk_instance.c (renamed from src/vulkan/util/vk_instance.c)74
-rw-r--r--src/vulkan/runtime/vk_instance.h (renamed from src/vulkan/util/vk_instance.h)11
-rw-r--r--src/vulkan/runtime/vk_log.c337
-rw-r--r--src/vulkan/runtime/vk_log.h89
-rw-r--r--src/vulkan/runtime/vk_object.c (renamed from src/vulkan/util/vk_object.c)36
-rw-r--r--src/vulkan/runtime/vk_object.h (renamed from src/vulkan/util/vk_object.h)14
-rw-r--r--src/vulkan/runtime/vk_physical_device.c (renamed from src/vulkan/util/vk_physical_device.c)0
-rw-r--r--src/vulkan/runtime/vk_physical_device.h (renamed from src/vulkan/util/vk_physical_device.h)20
-rw-r--r--src/vulkan/runtime/vk_physical_device_features.py247
-rw-r--r--src/vulkan/runtime/vk_queue.c1011
-rw-r--r--src/vulkan/runtime/vk_queue.h199
-rw-r--r--src/vulkan/runtime/vk_render_pass.c (renamed from src/vulkan/util/vk_render_pass.c)0
-rw-r--r--src/vulkan/runtime/vk_semaphore.c571
-rw-r--r--src/vulkan/runtime/vk_semaphore.h78
-rw-r--r--src/vulkan/runtime/vk_shader_module.c (renamed from src/vulkan/util/vk_shader_module.c)0
-rw-r--r--src/vulkan/runtime/vk_shader_module.h (renamed from src/vulkan/util/vk_shader_module.h)2
-rw-r--r--src/vulkan/runtime/vk_sync.c402
-rw-r--r--src/vulkan/runtime/vk_sync.h372
-rw-r--r--src/vulkan/runtime/vk_sync_binary.c138
-rw-r--r--src/vulkan/runtime/vk_sync_binary.h79
-rw-r--r--src/vulkan/runtime/vk_sync_dummy.c59
-rw-r--r--src/vulkan/runtime/vk_sync_dummy.h (renamed from src/vulkan/wsi/wsi_common_wayland.h)29
-rw-r--r--src/vulkan/runtime/vk_sync_timeline.c567
-rw-r--r--src/vulkan/runtime/vk_sync_timeline.h133
-rw-r--r--src/vulkan/runtime/vk_synchronization2.c393
-rw-r--r--src/vulkan/util/gen_enum_to_str.py158
-rw-r--r--src/vulkan/util/meson.build95
-rw-r--r--src/vulkan/util/vk_alloc.h33
-rw-r--r--src/vulkan/util/vk_cmd_queue_gen.py13
-rw-r--r--src/vulkan/util/vk_commands_gen.py14
-rw-r--r--src/vulkan/util/vk_device.c261
-rw-r--r--src/vulkan/util/vk_dispatch_table_gen.py274
-rw-r--r--src/vulkan/util/vk_dispatch_trampolines_gen.py192
-rw-r--r--src/vulkan/util/vk_entrypoints.py176
-rw-r--r--src/vulkan/util/vk_entrypoints_gen.py20
-rw-r--r--src/vulkan/util/vk_extensions.py6
-rw-r--r--src/vulkan/util/vk_extensions_gen.py14
-rw-r--r--src/vulkan/util/vk_format.c34
-rw-r--r--src/vulkan/util/vk_format.h82
-rw-r--r--src/vulkan/util/vk_icd_gen.py8
-rw-r--r--src/vulkan/util/vk_util.h3
-rw-r--r--src/vulkan/wsi/meson.build39
-rw-r--r--src/vulkan/wsi/wsi_common.c247
-rw-r--r--src/vulkan/wsi/wsi_common.h86
-rw-r--r--src/vulkan/wsi/wsi_common_display.c746
-rw-r--r--src/vulkan/wsi/wsi_common_display.h130
-rw-r--r--src/vulkan/wsi/wsi_common_drm.c12
-rw-r--r--src/vulkan/wsi/wsi_common_private.h6
-rw-r--r--src/vulkan/wsi/wsi_common_queue.h8
-rw-r--r--src/vulkan/wsi/wsi_common_wayland.c180
-rw-r--r--src/vulkan/wsi/wsi_common_win32.c35
-rw-r--r--src/vulkan/wsi/wsi_common_x11.c171
-rw-r--r--src/vulkan/wsi/wsi_common_x11.h41
-rw-r--r--subprojects/libelf.wrap4
1973 files changed, 219856 insertions, 47014 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5059316e8c7..de51c2b6e13 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,9 +16,25 @@ variables:
# running on a particular CI farm (ie. for outages, etc):
FD_FARM: "online"
+default:
+ before_script:
+ - echo -e "\e[0Ksection_start:$(date +%s):unset_env_vars_section[collapsed=true]\r\e[0KUnsetting vulnerable environment variables"
+ - export CI_JOB_JWT_FILE="${CI_JOB_JWT_FILE:-$(mktemp)}"
+ - echo -n "${CI_JOB_JWT}" > "${CI_JOB_JWT_FILE}"
+ - unset CI_JOB_JWT
+ - echo -e "\e[0Ksection_end:$(date +%s):unset_env_vars_section\r\e[0K"
+
+ after_script:
+ - >
+ set +x
+
+ test -e "${CI_JOB_JWT_FILE}" &&
+ export CI_JOB_JWT="$(<${CI_JOB_JWT_FILE})" &&
+ rm "${CI_JOB_JWT_FILE}"
+
include:
- project: 'freedesktop/ci-templates'
- ref: 79c325922670137e8f0a4dc5f6f097e0eb57c1af
+ ref: 34f4ade99434043f88e164933f570301fd18b125
file:
- '/templates/ci-fairy.yml'
- project: 'freedesktop/ci-templates'
@@ -32,16 +48,18 @@ include:
- local: 'src/broadcom/ci/gitlab-ci.yml'
- local: 'src/etnaviv/ci/gitlab-ci.yml'
- local: 'src/freedreno/ci/gitlab-ci.yml'
+ - local: 'src/gallium/drivers/d3d12/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/i915/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/iris/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/lima/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml'
- - local: 'src/gallium/drivers/panfrost/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/radeonsi/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/softpipe/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/virgl/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/zink/ci/gitlab-ci.yml'
- local: 'src/gallium/frontends/lavapipe/ci/gitlab-ci.yml'
+ - local: 'src/microsoft/ci/gitlab-ci.yml'
+ - local: 'src/panfrost/ci/gitlab-ci.yml'
stages:
- sanity
@@ -290,7 +308,7 @@ debian/x86_build-base:
- .fdo.container-build@debian
- .container
variables:
- MESA_IMAGE_TAG: &debian-x86_build-base "2021-07-26-python"
+ MESA_IMAGE_TAG: &debian-x86_build-base "2021-11-25-ci-fairy"
.use-debian/x86_build-base:
extends:
@@ -308,7 +326,7 @@ debian/x86_build:
extends:
- .use-debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-x86_build "2021-07-02-bump-libdrm"
+ MESA_IMAGE_TAG: &debian-x86_build "2021-11-25-libdrm"
.use-debian/x86_build:
extends:
@@ -325,7 +343,7 @@ debian/i386_build:
extends:
- .use-debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-i386_build "2021-07-02-bump-libdrm"
+ MESA_IMAGE_TAG: &debian-i386_build "2021-11-25-libdrm"
.use-debian/i386_build:
extends:
@@ -342,7 +360,7 @@ debian/ppc64el_build:
extends:
- .use-debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-ppc64el_build "2021-07-02-bump-libdrm"
+ MESA_IMAGE_TAG: &debian-ppc64el_build "2021-11-25-libdrm"
.use-debian/ppc64el_build:
extends:
@@ -359,7 +377,7 @@ debian/s390x_build:
extends:
- .use-debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-s390x_build "2021-07-02-bump-libdrm"
+ MESA_IMAGE_TAG: &debian-s390x_build "2021-11-25-libdrm"
.use-debian/s390x_build:
extends:
@@ -376,7 +394,7 @@ debian/android_build:
extends:
- .use-debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-android_build "2021-07-02-bump-libdrm"
+ MESA_IMAGE_TAG: &debian-android_build "2021-11-25-libdrm"
.use-debian/android_build:
extends:
@@ -392,7 +410,7 @@ debian/android_build:
debian/x86_test-base:
extends: debian/x86_build-base
variables:
- MESA_IMAGE_TAG: &debian-x86_test-base "2021-07-26-python"
+ MESA_IMAGE_TAG: &debian-x86_test-base "2021-12-02-piglit"
.use-debian/x86_test-base:
extends:
@@ -409,14 +427,14 @@ debian/x86_test-gl:
extends: .use-debian/x86_test-base
variables:
FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
- KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc5-for-mesa-ci-2bb5d9ffd79c/linux-v5.13-rc5-for-mesa-ci-2bb5d9ffd79c.tar.bz2"
- MESA_IMAGE_TAG: &debian-x86_test-gl "2021-09-01-piglit"
+ KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.15-for-mesa-ci-540a4af22d71/linux-v5.15-for-mesa-ci-540a4af22d71.tar.bz2"
+ MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-25-ci-fairy"
# Debian 11 based x86 test image for VK
debian/x86_test-vk:
extends: .use-debian/x86_test-base
variables:
- MESA_IMAGE_TAG: &debian-x86_test-vk "2021-09-01-piglit"
+ MESA_IMAGE_TAG: &debian-x86_test-vk "2021-12-02-piglit"
# Debian 11 based ARM build image
debian/arm_build:
@@ -426,7 +444,7 @@ debian/arm_build:
tags:
- aarch64
variables:
- MESA_IMAGE_TAG: &debian-arm_build "2021-07-26-python"
+ MESA_IMAGE_TAG: &debian-arm_build "2021-11-25-ci-fairy"
.use-debian/arm_build:
extends:
@@ -446,7 +464,7 @@ fedora/x86_build:
- .container
variables:
FDO_DISTRIBUTION_VERSION: 34
- MESA_IMAGE_TAG: &fedora-x86_build "2021-07-08-bump-libdrm"
+ MESA_IMAGE_TAG: &fedora-x86_build "2021-11-25-libdrm"
.use-fedora/x86_build:
extends:
@@ -465,7 +483,7 @@ fedora/x86_build:
variables:
GIT_STRATEGY: fetch
KERNEL_URL: *kernel-rootfs-url
- MESA_ROOTFS_TAG: &kernel-rootfs "2021-09-11-etnaviv"
+ MESA_ROOTFS_TAG: &kernel-rootfs "2021-12-02-piglit"
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
script:
- .gitlab-ci/container/lava_build.sh
@@ -519,7 +537,7 @@ debian/arm_test:
FDO_DISTRIBUTION_EXEC: 'env ARTIFACTS_PREFIX=https://${MINIO_HOST}/mesa-lava ARTIFACTS_SUFFIX=${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT} CI_PROJECT_PATH=${CI_PROJECT_PATH} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}"
MESA_ARM_BUILD_TAG: *debian-arm_build
- MESA_IMAGE_TAG: &debian-arm_test "2021-09-11-etnaviv"
+ MESA_IMAGE_TAG: &debian-arm_test "2021-11-25-libdrm"
MESA_ROOTFS_TAG: *kernel-rootfs
.use-debian/arm_test:
@@ -550,10 +568,12 @@ debian/arm_test:
variables:
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}"
MESA_IMAGE_PATH: "windows/x64_build"
- MESA_IMAGE_TAG: "2021-06-24-zink-msvc"
+ MESA_IMAGE_TAG: "2021-11-19-piglit-uprev"
MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}"
windows_build_vs2019:
+ inherit:
+ default: false
extends:
- .container
- .windows-docker-vs2019
@@ -570,6 +590,8 @@ windows_build_vs2019:
- .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $MESA_IMAGE $MESA_UPSTREAM_IMAGE
.use-windows_build_vs2019:
+ inherit:
+ default: false
extends: .windows-docker-vs2019
image: "$MESA_IMAGE"
needs:
@@ -594,8 +616,8 @@ make git archive:
# compress the current folder
- tar -cvzf ../$CI_PROJECT_NAME.tar.gz .
- # login with the JWT token
- - ci-fairy minio login $CI_JOB_JWT
+ # login with the JWT token file
+ - ci-fairy minio login --token-file "${CI_JOB_JWT_FILE}"
- ci-fairy minio cp ../$CI_PROJECT_NAME.tar.gz minio://$MINIO_HOST/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz
@@ -643,11 +665,13 @@ sanity:
CCACHE_DIR: /cache/mesa/ccache
# Use ccache transparently, and print stats before/after
before_script:
+ - !reference [default, before_script]
- export PATH="/usr/lib/ccache:$PATH"
- export CCACHE_BASEDIR="$PWD"
- ccache --show-stats
after_script:
- ccache --show-stats
+ - !reference [default, after_script]
.build-windows:
extends: .build-common
@@ -684,6 +708,7 @@ debian-testing:
-D platforms=x11
GALLIUM_ST: >
-D dri3=enabled
+ -D gallium-va=enabled
GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,iris,i915"
VULKAN_DRIVERS: "swrast,amd"
BUILDTYPE: "debugoptimized"
@@ -754,7 +779,6 @@ debian-gallium:
script:
- .gitlab-ci/meson/build.sh
- .gitlab-ci/run-shader-db.sh
- - src/freedreno/.gitlab-ci/run-fdtools.sh
# Test a release build with -Werror so new warnings don't sneak in.
debian-release:
@@ -778,6 +802,7 @@ debian-release:
-D gallium-opencl=disabled
-D llvm=false
GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,freedreno,r300,svga,swrast,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,crocus"
+ VULKAN_DRIVERS: "amd"
BUILDTYPE: "release"
EXTRA_OPTION: >
-D osmesa=true
@@ -878,9 +903,10 @@ debian-android:
- PKG_CONFIG_PATH=/usr/local/lib/aarch64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/pkgconfig/ CROSS=aarch64-linux-android GALLIUM_DRIVERS=etnaviv,freedreno,lima,panfrost,vc4,v3d VULKAN_DRIVERS=freedreno,broadcom,virtio-experimental .gitlab-ci/meson/build.sh
# x86_64 build:
# Can't do Intel because gen_decoder.c currently requires libexpat, which
- # is not a dependency that AOSP wants to accept. Can't do Radeon because
- # it requires LLVM, which we don't have an Android build of.
- - PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/pkgconfig/ CROSS=x86_64-linux-android GALLIUM_DRIVERS=iris VULKAN_DRIVERS=intel .gitlab-ci/meson/build.sh
+ # is not a dependency that AOSP wants to accept. Can't do Radeon Gallium
+ # drivers because they requires LLVM, which we don't have an Android build
+ # of.
+ - PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/pkgconfig/ CROSS=x86_64-linux-android GALLIUM_DRIVERS=iris VULKAN_DRIVERS=amd,intel .gitlab-ci/meson/build.sh
.meson-cross:
extends:
@@ -1030,29 +1056,6 @@ windows-vs2019:
- _build/meson-logs/*.txt
- _install/
-test-d3d12-windows:
- extends:
- - .build-windows
- - .use-windows_build_vs2019
- - .windows-test-rules
- stage: layered-backends
- dependencies:
- - windows-vs2019
- needs:
- - windows-vs2019
- variables:
- GIT_STRATEGY: none # testing doesn't build anything from source
- GALLIUM_DRIVER: d3d12
- PIGLIT_PROFILE: quick_gl
- PIGLIT_TESTS: -x nv_copy_depth_to_color -x repeat-wait -x arb_timer_query@timestamp-get
- script:
- - . _install/piglit_run.ps1
- artifacts:
- when: on_failure
- name: "mesa_${CI_JOB_NAME}"
- paths:
- - summary/
-
debian-clover:
extends: .meson-build
variables:
@@ -1166,6 +1169,7 @@ debian-mingw32-x86_64:
variables:
GIT_STRATEGY: none # testing doesn't build anything from source
before_script:
+ - !reference [default, before_script]
# Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
- rm -rf install
- tar -xf artifacts/install.tar
@@ -1231,6 +1235,7 @@ debian-mingw32-x86_64:
- results/*.txt
variables:
PIGLIT_NO_WINDOW: 1
+ CI_JOB_JWT_FILE: /minio_jwt # JWT file on piglit jobs should be available on / partition
script:
- install/piglit/run.sh
@@ -1247,9 +1252,10 @@ debian-mingw32-x86_64:
reports:
junit: results/junit.xml
variables:
+ CI_JOB_JWT_FILE: /minio_jwt # JWT file on piglit jobs should be available on / partition
PIGLIT_PROFILES: replay
PIGLIT_REPLAY_UPLOAD_TO_MINIO: 1
- PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_host=minio-packet.freedesktop.org --minio_bucket=mesa-tracie-public --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt=${CI_JOB_JWT}
+ PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_host=minio-packet.freedesktop.org --minio_bucket=mesa-tracie-public --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt-file=${CI_JOB_JWT_FILE}
PIGLIT_JUNIT_RESULTS: 1
.deqp-test:
@@ -1291,6 +1297,7 @@ debian-mingw32-x86_64:
- when: never
variables:
GIT_STRATEGY: none
+ JOB_TIMEOUT: 80
# The above .test-manual rules doesn't allow the jobs to be available for MRs
# but we should have an option to have manual jobs in MRs as well.
@@ -1304,6 +1311,7 @@ debian-mingw32-x86_64:
- when: never
variables:
GIT_STRATEGY: none
+ JOB_TIMEOUT: 80
.baremetal-test:
extends:
@@ -1313,6 +1321,7 @@ debian-mingw32-x86_64:
interruptible: true
stage: test
before_script:
+ - !reference [default, before_script]
# Use this instead of gitlab's artifacts download because it hits packet.net
# instead of fd.o. Set FDO_HTTP_CACHE_URI to an http cache for your test lab to
# improve it even more (see https://docs.mesa3d.org/ci/bare-metal.html for
@@ -1333,11 +1342,19 @@ debian-mingw32-x86_64:
extends:
- .baremetal-test
variables:
+ BM_ROOTFS: /rootfs-armhf
MINIO_ARTIFACT_NAME: mesa-armhf
+.baremetal-test-arm64:
+ extends:
+ - .baremetal-test
+ variables:
+ BM_ROOTFS: /rootfs-arm64
+ MINIO_ARTIFACT_NAME: mesa-arm64
+
.baremetal-arm64-asan-test:
variables:
- TEST_LD_PRELOAD: libasan.so.6
+ DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6"
MINIO_ARTIFACT_NAME: mesa-arm64-asan
needs:
- debian/arm_test
@@ -1347,4 +1364,4 @@ debian-mingw32-x86_64:
.baremetal-deqp-test:
variables:
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
- DEQP_PARALLEL: 0 # Default to number of CPUs
+ FDO_CI_CONCURRENT: 0 # Default to number of CPUs
diff --git a/.gitlab-ci/deqp-all-skips.txt b/.gitlab-ci/all-skips.txt
index 031aff8167c..137f0a4c55f 100644
--- a/.gitlab-ci/deqp-all-skips.txt
+++ b/.gitlab-ci/all-skips.txt
@@ -8,3 +8,13 @@ dEQP-GLES[0-9]*.functional.flush_finish.*
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/4575
dEQP-VK.wsi.display.get_display_plane_capabilities
+
+# piglit: WGL is Windows-only
+wgl@.*
+
+# These are sensitive to CPU timing, and would need to be run in isolation
+# on the system rather than in parallel with other tests.
+glx@glx_arb_sync_control@timing.*
+
+# This test is not built with waffle, while we do build tests with waffle
+spec@!opengl 1.1@windowoverlap
diff --git a/.gitlab-ci/bare-metal/arm64_a630_egl.sh b/.gitlab-ci/bare-metal/arm64_a630_egl.sh
index b97dc1e3b72..abb42100081 100755
--- a/.gitlab-ci/bare-metal/arm64_a630_egl.sh
+++ b/.gitlab-ci/bare-metal/arm64_a630_egl.sh
@@ -10,7 +10,7 @@ EXIT=0
# Run reset tests without parallelism:
if ! env \
DEQP_RESULTS_DIR=results/reset \
- DEQP_PARALLEL=1 \
+ FDO_CI_CONCURRENT=1 \
DEQP_CASELIST_FILTER='.*reset.*' \
/install/deqp-runner.sh; then
EXIT=1
diff --git a/.gitlab-ci/bare-metal/cros_servo_run.py b/.gitlab-ci/bare-metal/cros_servo_run.py
index ecb6c460fcb..23cebb0abee 100755
--- a/.gitlab-ci/bare-metal/cros_servo_run.py
+++ b/.gitlab-ci/bare-metal/cros_servo_run.py
@@ -50,12 +50,18 @@ class CrosServoRun:
target=self.iter_feed_queue, daemon=True, args=(self.cpu_ser.lines(),))
self.iter_feed_cpu.start()
+ def close(self):
+ self.ec_ser.close()
+ self.cpu_ser.close()
+ self.iter_feed_ec.join()
+ self.iter_feed_cpu.join()
+
# Feed lines from our serial queues into the merged queue, marking when our
# input is done.
def iter_feed_queue(self, it):
for i in it:
self.serial_queue.put(i)
- self.serial_queue.put(sentinel)
+ self.serial_queue.put(self.sentinel)
# Return the next line from the queue, counting how many threads have
# terminated and joining when done
@@ -145,6 +151,11 @@ class CrosServoRun:
self.print_error("Detected cheza power management bus error, restarting run...")
return 2
+ if re.search("coreboot.*bootblock starting", line):
+ self.print_error(
+ "Detected spontaneous reboot, restarting run...")
+ return 2
+
result = re.search("hwci: mesa: (\S*)", line)
if result:
if result.group(1) == "pass":
@@ -174,6 +185,8 @@ def main():
# power down the CPU on the device
servo.ec_write("power off\n")
+ servo.close()
+
sys.exit(retval)
diff --git a/.gitlab-ci/bare-metal/fastboot_run.py b/.gitlab-ci/bare-metal/fastboot_run.py
index 3654c7c8088..9fb2cb36b2b 100755
--- a/.gitlab-ci/bare-metal/fastboot_run.py
+++ b/.gitlab-ci/bare-metal/fastboot_run.py
@@ -36,6 +36,9 @@ class FastbootRun:
self.ser = SerialBuffer(args.dev, "results/serial-output.txt", "R SERIAL> ", timeout=600)
self.fastboot="fastboot boot -s {ser} artifacts/fastboot.img".format(ser=args.fbserial)
+ def close(self):
+ self.ser.close()
+
def print_error(self, message):
RED = '\033[0;31m'
NO_COLOR = '\033[0m'
@@ -111,6 +114,7 @@ def main():
while True:
retval = fastboot.run()
+ fastboot.close()
if retval != 2:
break
diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh b/.gitlab-ci/bare-metal/rootfs-setup.sh
index 0b017454ca6..8adeb2d23ad 100644
--- a/.gitlab-ci/bare-metal/rootfs-setup.sh
+++ b/.gitlab-ci/bare-metal/rootfs-setup.sh
@@ -8,15 +8,20 @@ mkdir -p $rootfs_dst/results
cp $BM/bm-init.sh $rootfs_dst/init
cp $CI_COMMON/init*.sh $rootfs_dst/
+# Make JWT token available as file in the bare-metal storage to enable access
+# to MinIO
+cp "${CI_JOB_JWT_FILE}" "${rootfs_dst}${CI_JOB_JWT_FILE}"
+
cp $CI_COMMON/capture-devcoredump.sh $rootfs_dst/
set +x
+
# Pass through relevant env vars from the gitlab job to the baremetal init script
"$CI_COMMON"/generate-env.sh > $rootfs_dst/set-job-env-vars.sh
chmod +x $rootfs_dst/set-job-env-vars.sh
echo "Variables passed through:"
cat $rootfs_dst/set-job-env-vars.sh
-echo "export CI_JOB_JWT=${CI_JOB_JWT@Q}" >> $rootfs_dst/set-job-env-vars.sh
+
set -x
# Add the Mesa drivers we built, and make a consistent symlink to them.
diff --git a/.gitlab-ci/bare-metal/serial_buffer.py b/.gitlab-ci/bare-metal/serial_buffer.py
index 70f37709752..28565ebf4df 100755
--- a/.gitlab-ci/bare-metal/serial_buffer.py
+++ b/.gitlab-ci/bare-metal/serial_buffer.py
@@ -39,12 +39,14 @@ class SerialBuffer:
self.serial = serial.Serial(dev, 115200, timeout=timeout if timeout else 10)
else:
self.f = open(filename, "rb")
+ self.serial = None
self.byte_queue = queue.Queue()
self.line_queue = queue.Queue()
self.prefix = prefix
self.timeout = timeout
self.sentinel = object()
+ self.closing = False
if self.dev:
self.read_thread = threading.Thread(
@@ -58,6 +60,13 @@ class SerialBuffer:
target=self.serial_lines_thread_loop, daemon=True)
self.lines_thread.start()
+ def close(self):
+ self.closing = True
+ if self.serial:
+ self.serial.close()
+ self.read_thread.join()
+ self.lines_thread.join()
+
# Thread that just reads the bytes from the serial device to try to keep from
# buffer overflowing it. If nothing is received in 1 minute, it finalizes.
def serial_read_thread_loop(self):
@@ -83,12 +92,13 @@ class SerialBuffer:
greet = "Serial thread reading from %s\n" % self.filename
self.byte_queue.put(greet.encode())
- while True:
+ while not self.closing:
line = self.f.readline()
if line:
self.byte_queue.put(line)
else:
time.sleep(0.1)
+ self.byte_queue.put(self.sentinel)
# Thread that processes the stream of bytes to 1) log to stdout, 2) log to
# file, 3) add to the queue of lines to be read by program logic
diff --git a/.gitlab-ci/common/generate-env.sh b/.gitlab-ci/common/generate-env.sh
index 9f1186b130a..7978ca3f618 100755
--- a/.gitlab-ci/common/generate-env.sh
+++ b/.gitlab-ci/common/generate-env.sh
@@ -7,6 +7,7 @@ for var in \
CI_COMMIT_BRANCH \
CI_COMMIT_TITLE \
CI_JOB_ID \
+ CI_JOB_JWT_FILE \
CI_JOB_URL \
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
CI_MERGE_REQUEST_TITLE \
@@ -20,16 +21,19 @@ for var in \
CI_PROJECT_ROOT_NAMESPACE \
CI_RUNNER_DESCRIPTION \
CI_SERVER_URL \
+ CROSVM_GALLIUM_DRIVER \
+ CROSVM_GPU_ARGS \
+ CROSVM_TEST_SCRIPT \
DEQP_CASELIST_FILTER \
DEQP_CASELIST_INV_FILTER \
DEQP_CONFIG \
DEQP_EXPECTED_RENDERER \
DEQP_FRACTION \
DEQP_HEIGHT \
- DEQP_PARALLEL \
DEQP_RESULTS_DIR \
DEQP_RUNNER_OPTIONS \
DEQP_SUITE \
+ DEQP_TEMP_DIR \
DEQP_VARIANT \
DEQP_VER \
DEQP_WIDTH \
@@ -41,7 +45,14 @@ for var in \
FDO_UPSTREAM_REPO \
FD_MESA_DEBUG \
FLAKES_CHANNEL \
+ GALLIUM_DRIVER \
GPU_VERSION \
+ GTEST \
+ GTEST_FAILS \
+ GTEST_FRACTION \
+ GTEST_RESULTS_DIR \
+ GTEST_RUNNER_OPTIONS \
+ GTEST_SKIPS \
HWCI_FREQ_MAX \
HWCI_KERNEL_MODULES \
HWCI_START_XORG \
@@ -50,13 +61,15 @@ for var in \
JOB_ARTIFACTS_BASE \
JOB_RESULTS_PATH \
JOB_ROOTFS_OVERLAY_PATH \
+ LD_LIBRARY_PATH \
MESA_BUILD_PATH \
- MESA_GL_VERSION_OVERRIDE \
- MESA_GLSL_VERSION_OVERRIDE \
MESA_GLES_VERSION_OVERRIDE \
+ MESA_GLSL_VERSION_OVERRIDE \
+ MESA_GL_VERSION_OVERRIDE \
MESA_VK_IGNORE_CONFORMANCE_WARNING \
MINIO_HOST \
NIR_VALIDATE \
+ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER \
PAN_MESA_DEBUG \
PIGLIT_FRACTION \
PIGLIT_JUNIT_RESULTS \
@@ -65,16 +78,15 @@ for var in \
PIGLIT_PLATFORM \
PIGLIT_PROFILES \
PIGLIT_REPLAY_ARTIFACTS_BASE_URL \
- PIGLIT_REPLAY_SUBCOMMAND \
PIGLIT_REPLAY_DESCRIPTION_FILE \
PIGLIT_REPLAY_DEVICE_NAME \
PIGLIT_REPLAY_EXTRA_ARGS \
PIGLIT_REPLAY_REFERENCE_IMAGES_BASE \
+ PIGLIT_REPLAY_SUBCOMMAND \
PIGLIT_REPLAY_UPLOAD_TO_MINIO \
PIGLIT_RESULTS \
PIGLIT_TESTS \
PIPELINE_ARTIFACTS_BASE \
- TEST_LD_PRELOAD \
TU_DEBUG \
VK_CPU \
VK_DRIVER \
diff --git a/.gitlab-ci/common/init-stage2.sh b/.gitlab-ci/common/init-stage2.sh
index 53b904156c6..c0669c7f4cf 100755
--- a/.gitlab-ci/common/init-stage2.sh
+++ b/.gitlab-ci/common/init-stage2.sh
@@ -71,7 +71,7 @@ fi
MINIO=$(cat /proc/cmdline | tr ' ' '\n' | grep minio_results | cut -d '=' -f 2 || true)
if [ -n "$MINIO" ]; then
tar -czf results.tar.gz results/;
- ci-fairy minio login "$CI_JOB_JWT";
+ ci-fairy minio login --token-file "${CI_JOB_JWT_FILE}";
ci-fairy minio cp results.tar.gz minio://"$MINIO"/results.tar.gz;
fi
diff --git a/.gitlab-ci/container/arm64.config b/.gitlab-ci/container/arm64.config
index 78d447a6b94..623084bb872 100644
--- a/.gitlab-ci/container/arm64.config
+++ b/.gitlab-ci/container/arm64.config
@@ -16,7 +16,6 @@ CONFIG_DRM_LIMA=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_MSM=y
CONFIG_DRM_I2C_ADV7511=y
-CONFIG_DRM_I2C_ADV7533=y
CONFIG_PWM_CROS_EC=y
CONFIG_BACKLIGHT_PWM=y
@@ -32,6 +31,10 @@ CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
# MSM platform bits
+
+# For CONFIG_QCOM_LMH
+CONFIG_OF=y
+
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMPD=y
CONFIG_SDM_GPUCC_845=y
@@ -45,9 +48,11 @@ CONFIG_I2C_QCOM_GENI=y
CONFIG_SPI_QCOM_GENI=y
CONFIG_PHY_QCOM_QUSB2=y
CONFIG_PHY_QCOM_QMP=y
+CONFIG_QCOM_CLK_APCC_MSM8996=y
CONFIG_QCOM_LLCC=y
+CONFIG_QCOM_LMH=y
CONFIG_QCOM_SPMI_TEMP_ALARM=y
-CONFIG_QCOM_CLK_APCC_MSM8996=y
+CONFIG_QCOM_WDT=y
CONFIG_POWER_RESET_QCOM_PON=y
CONFIG_RTC_DRV_PM8XXX=y
CONFIG_INTERCONNECT=y
@@ -56,8 +61,9 @@ CONFIG_INTERCONNECT_QCOM_SDM845=y
CONFIG_INTERCONNECT_QCOM_MSM8916=y
CONFIG_INTERCONNECT_QCOM_OSM_L3=y
CONFIG_INTERCONNECT_QCOM_SC7180=y
-CONFIG_QCOM_WDT=y
CONFIG_CRYPTO_DEV_QCOM_RNG=y
+CONFIG_SC_DISPCC_7180=y
+CONFIG_SC_GPUCC_7180=y
# db410c ethernet
CONFIG_USB_RTL8152=y
@@ -136,12 +142,15 @@ CONFIG_USB_NET_SMSC95XX=y
# For amlogic
CONFIG_MESON_GXL_PHY=y
CONFIG_MDIO_BUS_MUX_MESON_G12A=y
+CONFIG_DRM_MESON=y
# For Mediatek
CONFIG_DRM_MEDIATEK=y
CONFIG_PWM_MEDIATEK=y
CONFIG_DRM_MEDIATEK_HDMI=y
+CONFIG_GNSS=y
CONFIG_GNSS_MTK_SERIAL=y
+CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_MTK=y
CONFIG_MTK_DEVAPC=y
CONFIG_PWM_MTK_DISP=y
diff --git a/.gitlab-ci/container/build-crosvm.sh b/.gitlab-ci/container/build-crosvm.sh
index 2fd582075af..b8981a04ca6 100644
--- a/.gitlab-ci/container/build-crosvm.sh
+++ b/.gitlab-ci/container/build-crosvm.sh
@@ -2,47 +2,11 @@
set -ex
-# Pull down repositories that crosvm depends on to cros checkout-like locations.
-CROS_ROOT=/
-THIRD_PARTY_ROOT=$CROS_ROOT/third_party
-mkdir -p $THIRD_PARTY_ROOT
-AOSP_EXTERNAL_ROOT=$CROS_ROOT/aosp/external
-mkdir -p $AOSP_EXTERNAL_ROOT
-PLATFORM2_ROOT=/platform2
-
-PLATFORM2_COMMIT=72e56e66ccf3d2ea48f5686bd1f772379c43628b
-git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/platform2 $PLATFORM2_ROOT
-pushd $PLATFORM2_ROOT
-git checkout $PLATFORM2_COMMIT
-popd
-
-# minijail does not exist in upstream linux distros.
-MINIJAIL_COMMIT=debdf5de5a0ae3b667bee2f8fb1f755b0b3f5a6c
-git clone --single-branch --no-checkout https://android.googlesource.com/platform/external/minijail $AOSP_EXTERNAL_ROOT/minijail
-pushd $AOSP_EXTERNAL_ROOT/minijail
-git checkout $MINIJAIL_COMMIT
-make
-cp libminijail.so /usr/lib/x86_64-linux-gnu/
-popd
-
-# Pull the cras library for audio access.
-ADHD_COMMIT=a1e0869b95c845c4fe6234a7b92fdfa6acc1e809
-git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/third_party/adhd $THIRD_PARTY_ROOT/adhd
-pushd $THIRD_PARTY_ROOT/adhd
-git checkout $ADHD_COMMIT
-popd
-
-# Pull vHost (dataplane for virtio backend drivers)
-VHOST_COMMIT=3091854e27242d09453004b011f701fa29c0b8e8
-git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/third_party/rust-vmm/vhost $THIRD_PARTY_ROOT/rust-vmm/vhost
-pushd $THIRD_PARTY_ROOT/rust-vmm/vhost
-git checkout $VHOST_COMMIT
-popd
-
-CROSVM_VERSION=e42a43d880b0364b55559dbeade3af174f929001
-git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/platform/crosvm /platform/crosvm
+CROSVM_VERSION=d2b6a64dd31c92a284a905c0f2483d0b222b1220
+git clone --single-branch -b for-mesa-ci --no-checkout https://gitlab.freedesktop.org/tomeu/crosvm.git /platform/crosvm
pushd /platform/crosvm
git checkout "$CROSVM_VERSION"
+git submodule update --init
RUSTFLAGS='-L native=/usr/local/lib' cargo install \
bindgen \
diff --git a/.gitlab-ci/container/build-deqp-runner.sh b/.gitlab-ci/container/build-deqp-runner.sh
index 3c12f433739..ae989be82d4 100644
--- a/.gitlab-ci/container/build-deqp-runner.sh
+++ b/.gitlab-ci/container/build-deqp-runner.sh
@@ -4,6 +4,6 @@ set -ex
cargo install --locked deqp-runner \
-j ${FDO_CI_CONCURRENT:-4} \
- --version 0.8.2 \
+ --version 0.10.0 \
--root /usr/local \
$EXTRA_CARGO_ARGS
diff --git a/.gitlab-ci/container/build-deqp.sh b/.gitlab-ci/container/build-deqp.sh
index d0e72ad7209..9010e644dc8 100644
--- a/.gitlab-ci/container/build-deqp.sh
+++ b/.gitlab-ci/container/build-deqp.sh
@@ -6,7 +6,7 @@ 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.7.0 \
+ -b vulkan-cts-1.2.7.2 \
--depth 1 \
/VK-GL-CTS
pushd /VK-GL-CTS
diff --git a/.gitlab-ci/container/build-libdrm.sh b/.gitlab-ci/container/build-libdrm.sh
index e765f9322f8..c55d3646f4a 100644
--- a/.gitlab-ci/container/build-libdrm.sh
+++ b/.gitlab-ci/container/build-libdrm.sh
@@ -2,7 +2,7 @@
set -ex
-export LIBDRM_VERSION=libdrm-2.4.107
+export LIBDRM_VERSION=libdrm-2.4.109
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
diff --git a/.gitlab-ci/container/build-piglit.sh b/.gitlab-ci/container/build-piglit.sh
index 4a97aa41337..d68e675abc7 100644
--- a/.gitlab-ci/container/build-piglit.sh
+++ b/.gitlab-ci/container/build-piglit.sh
@@ -4,7 +4,7 @@ set -ex
git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit
pushd /piglit
-git checkout 99be1b06ff360edc17e9117bd82189dbade42013
+git checkout 00b82804aaa4b27fe7fd134e784a23a2d358ebe1
patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff
cmake -S . -B . -G Ninja -DCMAKE_BUILD_TYPE=Release $PIGLIT_OPTS $EXTRA_CMAKE_ARGS
ninja $PIGLIT_BUILD_TARGETS
diff --git a/.gitlab-ci/container/build-va-tools.sh b/.gitlab-ci/container/build-va-tools.sh
new file mode 100644
index 00000000000..150575033c9
--- /dev/null
+++ b/.gitlab-ci/container/build-va-tools.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -ex
+
+git config --global user.email "mesa@example.com"
+git config --global user.name "Mesa CI"
+git clone \
+ https://github.com/intel/libva-utils.git \
+ -b 2.13.0 \
+ --depth 1 \
+ /va-utils
+
+pushd /va-utils
+meson build -D tests=true -Dprefix=/va $EXTRA_MESON_ARGS
+ninja -C build install
+popd
+rm -rf /va-utils
diff --git a/.gitlab-ci/container/build-virglrenderer.sh b/.gitlab-ci/container/build-virglrenderer.sh
deleted file mode 100644
index 78b29dae24f..00000000000
--- a/.gitlab-ci/container/build-virglrenderer.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-set -ex
-
-mkdir -p /epoxy
-pushd /epoxy
-wget -qO- https://github.com/anholt/libepoxy/releases/download/1.5.8/libepoxy-1.5.8.tar.xz | tar -xJ --strip-components=1
-meson build/ $EXTRA_MESON_ARGS
-ninja -C build install
-popd
-rm -rf /epoxy
-
-VIRGLRENDERER_VERSION=f2ab66c6c00065b2944f4cd9d965ee455c535271
-git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git --single-branch --no-checkout /virglrenderer
-pushd /virglrenderer
-git checkout "$VIRGLRENDERER_VERSION"
-meson build/ $EXTRA_MESON_ARGS
-ninja -C build install
-popd
-rm -rf /virglrenderer
diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh
new file mode 100644
index 00000000000..893ee058fb0
--- /dev/null
+++ b/.gitlab-ci/container/build-wayland.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -ex
+
+export LIBWAYLAND_VERSION="1.18.0"
+export WAYLAND_PROTOCOLS_VERSION="1.24"
+
+git clone https://gitlab.freedesktop.org/wayland/wayland
+cd wayland
+git checkout "$LIBWAYLAND_VERSION"
+meson -Ddocumentation=false -Ddtd_validation=false -Dlibraries=true _build
+ninja -C _build install
+cd ..
+rm -rf wayland
+
+git clone https://gitlab.freedesktop.org/wayland/wayland-protocols
+cd wayland-protocols
+git checkout "$WAYLAND_PROTOCOLS_VERSION"
+meson _build
+ninja -C _build install
+cd ..
+rm -rf wayland-protocols
diff --git a/.gitlab-ci/container/create-android-cross-file.sh b/.gitlab-ci/container/create-android-cross-file.sh
index 99ad5b98b46..ac07ca11f98 100644
--- a/.gitlab-ci/container/create-android-cross-file.sh
+++ b/.gitlab-ci/container/create-android-cross-file.sh
@@ -17,7 +17,7 @@ cat >$cross_file <<EOF
[binaries]
ar = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-ar'
c = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
-cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
+cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
c_ld = 'lld'
cpp_ld = 'lld'
strip = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-strip'
diff --git a/.gitlab-ci/container/create-rootfs.sh b/.gitlab-ci/container/create-rootfs.sh
index 64a6b1441ef..674fd62e457 100644
--- a/.gitlab-ci/container/create-rootfs.sh
+++ b/.gitlab-ci/container/create-rootfs.sh
@@ -8,6 +8,8 @@ elif [ $DEBIAN_ARCH = amd64 ]; then
ARCH_PACKAGES="firmware-amd-graphics
libelf1
libllvm11
+ libva2
+ libva-drm2
"
fi
@@ -69,7 +71,7 @@ apt-get -y install --no-install-recommends \
# Needed for ci-fairy, this revision is able to upload files to
# MinIO and doesn't depend on git
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@0f1abc24c043e63894085a6bd12f14263e8b29eb
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@34f4ade99434043f88e164933f570301fd18b125
apt-get purge -y \
$INSTALL_CI_FAIRY_PACKAGES
diff --git a/.gitlab-ci/container/debian/android_build.sh b/.gitlab-ci/container/debian/android_build.sh
index 88c05af4ee2..58fc1e4c1e7 100644
--- a/.gitlab-ci/container/debian/android_build.sh
+++ b/.gitlab-ci/container/debian/android_build.sh
@@ -3,6 +3,7 @@
set -ex
EPHEMERAL="\
+ autoconf \
rdfind \
unzip \
"
@@ -29,7 +30,7 @@ sh .gitlab-ci/container/create-android-cross-file.sh /$ndk arm-linux-androideabi
# Not using build-libdrm.sh because we don't want its cleanup after building
# each arch. Fetch and extract now.
-export LIBDRM_VERSION=libdrm-2.4.102
+export LIBDRM_VERSION=libdrm-2.4.109
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
tar -xf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
@@ -50,11 +51,56 @@ for arch in \
-Detnaviv=false \
-Dfreedreno=false \
-Dintel=false \
- -Dcairo-tests=false
+ -Dcairo-tests=false \
+ -Dvalgrind=false
ninja -C build-$arch install
cd ..
done
rm -rf $LIBDRM_VERSION
+export LIBELF_VERSION=libelf-0.8.13
+wget https://fossies.org/linux/misc/old/$LIBELF_VERSION.tar.gz
+
+# Not 100% sure who runs the mirror above so be extra careful
+if ! echo "4136d7b4c04df68b686570afa26988ac ${LIBELF_VERSION}.tar.gz" | md5sum -c -; then
+ echo "Checksum failed"
+ exit 1
+fi
+
+tar -xf ${LIBELF_VERSION}.tar.gz
+cd $LIBELF_VERSION
+
+# Work around a bug in the original configure not enabling __LIBELF64.
+autoreconf
+
+for arch in \
+ x86_64-linux-android \
+ i686-linux-android \
+ aarch64-linux-android \
+ arm-linux-androideabi ; do
+
+ ccarch=${arch}
+ if [ "${arch}" == 'arm-linux-androideabi' ]
+ then
+ ccarch=armv7a-linux-androideabi
+ fi
+
+ export CC=/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch}-ar
+ export CC=/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/${ccarch}29-clang
+ export CXX=/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/${ccarch}29-clang++
+ export LD=/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch}-ld
+ export RANLIB=/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch}-ranlib
+
+ # The configure script doesn't know about android, but doesn't really use the host anyway it
+ # seems
+ ./configure --host=x86_64-linux-gnu --disable-nls --disable-shared \
+ --libdir=/usr/local/lib/${arch}
+ make install
+ make distclean
+done
+
+cd ..
+rm -rf $LIBELF_VERSION
+
apt-get purge -y $EPHEMERAL
diff --git a/.gitlab-ci/container/debian/arm_build.sh b/.gitlab-ci/container/debian/arm_build.sh
index c16e9474de0..6d1c255e72c 100644
--- a/.gitlab-ci/container/debian/arm_build.sh
+++ b/.gitlab-ci/container/debian/arm_build.sh
@@ -57,7 +57,7 @@ apt-get -y install \
apt-get install -y --no-remove -t buster \
android-sdk-ext4-utils
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@34f4ade99434043f88e164933f570301fd18b125
arch=armhf
. .gitlab-ci/container/cross_build.sh
diff --git a/.gitlab-ci/container/debian/x86_build-base.sh b/.gitlab-ci/container/debian/x86_build-base.sh
index 6333fa70e09..85a6a6f0002 100644
--- a/.gitlab-ci/container/debian/x86_build-base.sh
+++ b/.gitlab-ci/container/debian/x86_build-base.sh
@@ -63,7 +63,6 @@ apt-get install -y --no-remove \
python3-requests \
qemu-user \
valgrind \
- wayland-protocols \
wget \
wine64 \
x11proto-dri2-dev \
@@ -73,7 +72,7 @@ apt-get install -y --no-remove \
zlib1g-dev
# Needed for ci-fairy, this revision is able to upload files to MinIO
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@34f4ade99434043f88e164933f570301fd18b125
############### Uninstall ephemeral packages
diff --git a/.gitlab-ci/container/debian/x86_build.sh b/.gitlab-ci/container/debian/x86_build.sh
index 318a0bc490c..bd2f49b7aea 100644
--- a/.gitlab-ci/container/debian/x86_build.sh
+++ b/.gitlab-ci/container/debian/x86_build.sh
@@ -67,10 +67,8 @@ chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
-export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
-export LIBWAYLAND_VERSION=wayland-1.18.0
wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
@@ -79,11 +77,7 @@ rm -rf $XORGMACROS_VERSION
. .gitlab-ci/container/build-libdrm.sh
-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 ..
-rm -rf $LIBWAYLAND_VERSION
-
+. .gitlab-ci/container/build-wayland.sh
pushd /usr/local
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
diff --git a/.gitlab-ci/container/debian/x86_test-base.sh b/.gitlab-ci/container/debian/x86_test-base.sh
index 362cf7e9e7b..7d56e7825f7 100644
--- a/.gitlab-ci/container/debian/x86_test-base.sh
+++ b/.gitlab-ci/container/debian/x86_test-base.sh
@@ -59,7 +59,7 @@ apt-get install -y --no-install-recommends \
# Needed for ci-fairy, this revision is able to upload files to MinIO
# and doesn't depend on git
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@0f1abc24c043e63894085a6bd12f14263e8b29eb
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@34f4ade99434043f88e164933f570301fd18b125
############### Build dEQP runner
. .gitlab-ci/container/build-deqp-runner.sh
diff --git a/.gitlab-ci/container/debian/x86_test-gl.sh b/.gitlab-ci/container/debian/x86_test-gl.sh
index ce9bec8b91a..e3cf63647db 100644
--- a/.gitlab-ci/container/debian/x86_test-gl.sh
+++ b/.gitlab-ci/container/debian/x86_test-gl.sh
@@ -22,6 +22,7 @@ STABLE_EPHEMERAL=" \
libcap-dev \
libclang-cpp11-dev \
libelf-dev \
+ libexpat1-dev \
libfdt-dev \
libgbm-dev \
libgles2-mesa-dev \
@@ -31,7 +32,6 @@ STABLE_EPHEMERAL=" \
libudev-dev \
libvulkan-dev \
libwaffle-dev \
- libwayland-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
libxext-dev \
@@ -45,7 +45,6 @@ STABLE_EPHEMERAL=" \
patch \
pkg-config \
python3-distutils \
- wayland-protocols \
wget \
xz-utils \
"
@@ -53,12 +52,12 @@ STABLE_EPHEMERAL=" \
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
clinfo \
- inetutils-syslogd \
iptables \
libclang-common-11-dev \
libclang-cpp11 \
libcap2 \
libegl1 \
+ libepoxy-dev \
libfdt1 \
libllvmspirvlib11 \
libxcb-shm0 \
@@ -72,6 +71,20 @@ apt-get install -y --no-remove \
. .gitlab-ci/container/container_pre_build.sh
+############### Build libdrm
+
+. .gitlab-ci/container/build-libdrm.sh
+
+############### Build Wayland
+
+. .gitlab-ci/container/build-wayland.sh
+
+############### Build Crosvm
+
+. .gitlab-ci/container/build-rust.sh
+. .gitlab-ci/container/build-crosvm.sh
+rm -rf /root/.cargo
+
############### Build kernel
export DEFCONFIG="arch/x86/configs/x86_64_defconfig"
@@ -82,28 +95,14 @@ export DEBIAN_ARCH=amd64
mkdir -p /lava-files/
. .gitlab-ci/container/build-kernel.sh
-############### Build libdrm
-
-. .gitlab-ci/container/build-libdrm.sh
-
############### Build libclc
. .gitlab-ci/container/build-libclc.sh
-############### Build virglrenderer
-
-. .gitlab-ci/container/build-virglrenderer.sh
-
############### Build piglit
PIGLIT_OPTS="-DPIGLIT_BUILD_CL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
-############### Build Crosvm
-
-. .gitlab-ci/container/build-rust.sh
-. .gitlab-ci/container/build-crosvm.sh
-rm -rf /root/.cargo
-
############### Build dEQP GL
DEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh
diff --git a/.gitlab-ci/container/debian/x86_test-vk.sh b/.gitlab-ci/container/debian/x86_test-vk.sh
index b10d61162d6..67389861d65 100644
--- a/.gitlab-ci/container/debian/x86_test-vk.sh
+++ b/.gitlab-ci/container/debian/x86_test-vk.sh
@@ -13,6 +13,7 @@ STABLE_EPHEMERAL=" \
g++-mingw-w64-i686-posix \
g++-mingw-w64-x86-64-posix \
glslang-tools \
+ libexpat1-dev \
libgbm-dev \
libgles2-mesa-dev \
liblz4-dev \
@@ -20,7 +21,6 @@ STABLE_EPHEMERAL=" \
libudev-dev \
libvulkan-dev \
libwaffle-dev \
- libwayland-dev \
libx11-xcb-dev \
libxcb-ewmh-dev \
libxcb-keysyms1-dev \
@@ -124,6 +124,10 @@ wine \
. .gitlab-ci/container/build-libdrm.sh
+############### Build Wayland
+
+. .gitlab-ci/container/build-wayland.sh
+
############### Build parallel-deqp-runner's hang-detection tool
. .gitlab-ci/container/build-hang-detection.sh
diff --git a/.gitlab-ci/container/fedora/x86_build.sh b/.gitlab-ci/container/fedora/x86_build.sh
index 718e49e9338..b67ab331126 100644
--- a/.gitlab-ci/container/fedora/x86_build.sh
+++ b/.gitlab-ci/container/fedora/x86_build.sh
@@ -40,9 +40,6 @@ dnf install -y --setopt=install_weak_deps=False \
"pkgconfig(pciaccess)" \
"pkgconfig(vdpau)" \
"pkgconfig(vulkan)" \
- "pkgconfig(wayland-egl-backend)" \
- "pkgconfig(wayland-protocols)" \
- "pkgconfig(wayland-scanner)" \
"pkgconfig(x11)" \
"pkgconfig(x11-xcb)" \
"pkgconfig(xcb)" \
@@ -74,10 +71,8 @@ dnf install -y --setopt=install_weak_deps=False \
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
-export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
-export LIBWAYLAND_VERSION=wayland-1.18.0
wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
@@ -86,11 +81,7 @@ rm -rf $XORGMACROS_VERSION
. .gitlab-ci/container/build-libdrm.sh
-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 ..
-rm -rf $LIBWAYLAND_VERSION
-
+. .gitlab-ci/container/build-wayland.sh
pushd /usr/local
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh
index 10a2985d78d..9c4fb35d5b8 100755
--- a/.gitlab-ci/container/lava_build.sh
+++ b/.gitlab-ci/container/lava_build.sh
@@ -34,6 +34,7 @@ if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8096-db820c.dtb"
DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb"
DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb"
+ DEVICE_TREES+=" arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots.dtb"
KERNEL_IMAGE_NAME="Image"
elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
GCC_ARCH="arm-linux-gnueabihf"
@@ -50,6 +51,7 @@ else
DEFCONFIG="arch/x86/configs/x86_64_defconfig"
DEVICE_TREES=""
KERNEL_IMAGE_NAME="bzImage"
+ ARCH_PACKAGES="libva-dev"
fi
# Determine if we're in a cross build.
@@ -71,6 +73,7 @@ fi
apt-get update
apt-get install -y --no-remove \
+ ${ARCH_PACKAGES} \
automake \
bc \
cmake \
@@ -129,8 +132,7 @@ rm -rf /apitrace
############### Build dEQP runner
. .gitlab-ci/container/build-deqp-runner.sh
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
-mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
-mv /usr/local/bin/piglit-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
+mv /usr/local/bin/*-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
############### Build dEQP
@@ -143,6 +145,11 @@ mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
PIGLIT_OPTS="-DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
+############### Build libva tests
+if [[ "$DEBIAN_ARCH" = "amd64" ]]; then
+ . .gitlab-ci/container/build-va-tools.sh
+ mv /va/bin/* /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/
+fi
############### Build libdrm
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
@@ -179,6 +186,8 @@ rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
# created.
mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/libdrm/
+cp -Rp /libdrm/share /lava-files/rootfs-${DEBIAN_ARCH}/libdrm/share
rm -rf /libdrm
@@ -196,7 +205,7 @@ popd
. .gitlab-ci/container/container_post_build.sh
############### Upload the files!
-ci-fairy minio login $CI_JOB_JWT
+ci-fairy minio login --token-file "${CI_JOB_JWT_FILE}"
FILES_TO_UPLOAD="lava-rootfs.tgz \
$KERNEL_IMAGE_NAME"
diff --git a/.gitlab-ci/container/x86_64.config b/.gitlab-ci/container/x86_64.config
index 5717f7d7fe3..1859540fbf1 100644
--- a/.gitlab-ci/container/x86_64.config
+++ b/.gitlab-ci/container/x86_64.config
@@ -1,6 +1,11 @@
CONFIG_LOCALVERSION_AUTO=y
CONFIG_DEBUG_KERNEL=y
+CONFIG_PWM=y
+CONFIG_PM_DEVFREQ=y
+CONFIG_OF=y
+CONFIG_CROS_EC=y
+
# abootimg with a 'dummy' rootfs fails with root=/dev/nfs
CONFIG_BLK_DEV_INITRD=n
@@ -57,7 +62,7 @@ CONFIG_X86_AMD_FREQ_SENSITIVITY=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_AMD=y
CONFIG_DRM_AMDGPU=m
-CONFIG_DRM_AMDGPU_SI=m
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_ACP=n
CONFIG_ACPI_WMI=y
diff --git a/.gitlab-ci/cross-xfail-s390x b/.gitlab-ci/cross-xfail-s390x
index 2bfef18e64e..3c3c8ac0c85 100644
--- a/.gitlab-ci/cross-xfail-s390x
+++ b/.gitlab-ci/cross-xfail-s390x
@@ -1,2 +1 @@
-lp_test_arit
lp_test_format
diff --git a/.gitlab-ci/crosvm-init.sh b/.gitlab-ci/crosvm-init.sh
index 63124fe0f2e..d0d64ea9539 100755
--- a/.gitlab-ci/crosvm-init.sh
+++ b/.gitlab-ci/crosvm-init.sh
@@ -1,27 +1,29 @@
#!/bin/sh
-set -ex
+set -e
+
+export DEQP_TEMP_DIR=$1
mount -t proc none /proc
mount -t sysfs none /sys
-mount -t devtmpfs none /dev || echo possibly already mounted
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
mount -t tmpfs tmpfs /tmp
-. /crosvm-env.sh
+. $DEQP_TEMP_DIR/crosvm-env.sh
-# / is ro
-export PIGLIT_REPLAY_EXTRA_ARGS="$PIGLIT_REPLAY_EXTRA_ARGS --db-path /tmp/replayer-db"
+cd $PWD
-if sh $CROSVM_TEST_SCRIPT; then
- touch /results/success
-fi
+dmesg --level crit,err,warn -w >> $DEQP_TEMP_DIR/stderr &
-sleep 5 # Leave some time to get the last output flushed out
+set +e
+stdbuf -oL sh $DEQP_TEMP_DIR/crosvm-script.sh 2>> $DEQP_TEMP_DIR/stderr >> $DEQP_TEMP_DIR/stdout
+echo $? > $DEQP_TEMP_DIR/exit_code
+set -e
-poweroff -d -n -f || true
+sync
+sleep 1
-sleep 10 # Just in case init would exit before the kernel shuts down the VM
+poweroff -d -n -f || true
-exit 1
+sleep 1 # Just in case init would exit before the kernel shuts down the VM
diff --git a/.gitlab-ci/crosvm-runner.sh b/.gitlab-ci/crosvm-runner.sh
index b3ddfcf161e..045201eae18 100755
--- a/.gitlab-ci/crosvm-runner.sh
+++ b/.gitlab-ci/crosvm-runner.sh
@@ -1,49 +1,46 @@
#!/bin/sh
-set -x
+set -ex
-ln -sf $CI_PROJECT_DIR/install /install
+# This script can be called concurrently, pass arguments and env in a per-instance tmp dir
+export DEQP_TEMP_DIR=`mktemp -d /tmp.XXXXXXXXXX`
-export LD_LIBRARY_PATH=$CI_PROJECT_DIR/install/lib/
-export EGL_PLATFORM=surfaceless
+# The dEQP binary needs to run from the directory it's in
+if [ -z "${1##*"deqp"*}" ]; then
+ PWD=`dirname $1`
+fi
-export -p > /crosvm-env.sh
-export GALLIUM_DRIVER="$CROSVM_GALLIUM_DRIVER"
-export GALLIVM_PERF="nopt"
-export LIBGL_ALWAYS_SOFTWARE="true"
+export -p > $DEQP_TEMP_DIR/crosvm-env.sh
-CROSVM_KERNEL_ARGS="root=my_root rw rootfstype=virtiofs loglevel=3 init=$CI_PROJECT_DIR/install/crosvm-init.sh ip=192.168.30.2::192.168.30.1:255.255.255.0:crosvm:eth0"
+CROSVM_KERNEL_ARGS="console=null root=my_root rw rootfstype=virtiofs init=$CI_PROJECT_DIR/install/crosvm-init.sh ip=192.168.30.2::192.168.30.1:255.255.255.0:crosvm:eth0 -- $DEQP_TEMP_DIR"
-# Temporary results dir because from the guest we cannot write to /
-mkdir -p /results
-mount -t tmpfs tmpfs /results
-
-mkdir -p /piglit/.gitlab-ci/piglit
-mount -t tmpfs tmpfs /piglit/.gitlab-ci/piglit
+echo $@ > $DEQP_TEMP_DIR/crosvm-script.sh
unset DISPLAY
unset XDG_RUNTIME_DIR
-/usr/sbin/iptables-legacy -t nat -A POSTROUTING -o eth0 -j MASQUERADE
+/usr/sbin/iptables-legacy -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
-# Crosvm wants this
-syslogd > /dev/null
+# Send output from guest to host
+touch $DEQP_TEMP_DIR/stderr $DEQP_TEMP_DIR/stdout
+tail -f $DEQP_TEMP_DIR/stderr > /dev/stderr &
+ERR_TAIL_PID=$!
+tail -f $DEQP_TEMP_DIR/stdout > /dev/stdout &
+OUT_TAIL_PID=$!
-# We aren't testing LLVMPipe here, so we don't need to validate NIR on the host
-export NIR_VALIDATE=0
+trap "exit \$exit_code" INT TERM
+trap "exit_code=\$?; kill $ERR_TAIL_PID $OUT_TAIL_PID" EXIT
-crosvm run \
+# We aren't testing LLVMPipe here, so we don't need to validate NIR on the host
+NIR_VALIDATE=0 LIBGL_ALWAYS_SOFTWARE="true" GALLIUM_DRIVER="$CROSVM_GALLIUM_DRIVER" stdbuf -oL crosvm run \
--gpu "$CROSVM_GPU_ARGS" \
-m 4096 \
- -c $((FDO_CI_CONCURRENT > 1 ? FDO_CI_CONCURRENT - 1 : 1)) \
+ -c 2 \
--disable-sandbox \
--shared-dir /:my_root:type=fs:writeback=true:timeout=60:cache=always \
--host_ip=192.168.30.1 --netmask=255.255.255.0 --mac "AA:BB:CC:00:00:12" \
-p "$CROSVM_KERNEL_ARGS" \
- /lava-files/bzImage
-
-mkdir -p $CI_PROJECT_DIR/results
-mv /results/* $CI_PROJECT_DIR/results/.
+ /lava-files/bzImage >> $DEQP_TEMP_DIR/stderr > /dev/null
-test -f $CI_PROJECT_DIR/results/success
+exit `cat $DEQP_TEMP_DIR/exit_code`
diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh
index 7963ef77431..c4a6cec5ba1 100755
--- a/.gitlab-ci/deqp-runner.sh
+++ b/.gitlab-ci/deqp-runner.sh
@@ -2,30 +2,11 @@
set -ex
-DEQP_WIDTH=${DEQP_WIDTH:-256}
-DEQP_HEIGHT=${DEQP_HEIGHT:-256}
-DEQP_CONFIG=${DEQP_CONFIG:-rgba8888d24s8ms0}
-DEQP_VARIANT=${DEQP_VARIANT:-master}
-
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=$DEQP_WIDTH --deqp-surface-height=$DEQP_HEIGHT"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=${DEQP_SURFACE_TYPE:-pbuffer}"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
-
-if [ -z "$DEQP_VER" ]; then
- echo 'DEQP_VER must be set to something like "gles2", "gles31-khr" or "vk" for the test run'
- exit 1
-fi
-
-if [ "$DEQP_VER" = "vk" ]; then
- if [ -z "$VK_DRIVER" ]; then
- echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
- exit 1
- fi
-fi
+# Needed so configuration files can contain paths to files in /install
+ln -sf $CI_PROJECT_DIR/install /install
if [ -z "$GPU_VERSION" ]; then
- echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/deqp-gpu-version-*.txt)'
+ echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/gpu-version-*.txt)'
exit 1
fi
@@ -36,35 +17,48 @@ export LD_LIBRARY_PATH=`pwd`/install/lib/
export EGL_PLATFORM=surfaceless
export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.${VK_CPU:-`uname -m`}.json
-# the runner was failing to look for libkms in /usr/local/lib for some reason
-# I never figured out.
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
-
RESULTS=`pwd`/${DEQP_RESULTS_DIR:-results}
mkdir -p $RESULTS
HANG_DETECTION_CMD=""
-# Generate test case list file.
-if [ "$DEQP_VER" = "vk" ]; then
- MUSTPASS=/deqp/mustpass/vk-$DEQP_VARIANT.txt
- DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
- HANG_DETECTION_CMD="/parallel-deqp-runner/build/bin/hang-detection"
-elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" -o "$DEQP_VER" = "egl" ]; then
- MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
- DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
- SUITE=dEQP
-elif [ "$DEQP_VER" = "gles2-khr" -o "$DEQP_VER" = "gles3-khr" -o "$DEQP_VER" = "gles31-khr" -o "$DEQP_VER" = "gles32-khr" ]; then
- MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
- DEQP=/deqp/external/openglcts/modules/glcts
- SUITE=dEQP
-else
- MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
- DEQP=/deqp/external/openglcts/modules/glcts
- SUITE=KHR
-fi
-
if [ -z "$DEQP_SUITE" ]; then
+ if [ -z "$DEQP_VER" ]; then
+ echo 'DEQP_SUITE must be set to the name of your deqp-gpu_version.toml, or DEQP_VER must be set to something like "gles2", "gles31-khr" or "vk" for the test run'
+ exit 1
+ fi
+
+ DEQP_WIDTH=${DEQP_WIDTH:-256}
+ DEQP_HEIGHT=${DEQP_HEIGHT:-256}
+ DEQP_CONFIG=${DEQP_CONFIG:-rgba8888d24s8ms0}
+ DEQP_VARIANT=${DEQP_VARIANT:-master}
+
+ DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=$DEQP_WIDTH --deqp-surface-height=$DEQP_HEIGHT"
+ DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=${DEQP_SURFACE_TYPE:-pbuffer}"
+ DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
+ DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
+
+ if [ "$DEQP_VER" = "vk" -a -z "$VK_DRIVER" ]; then
+ echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
+ exit 1
+ fi
+
+ # Generate test case list file.
+ if [ "$DEQP_VER" = "vk" ]; then
+ MUSTPASS=/deqp/mustpass/vk-$DEQP_VARIANT.txt
+ DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
+ HANG_DETECTION_CMD="/parallel-deqp-runner/build/bin/hang-detection"
+ elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" -o "$DEQP_VER" = "egl" ]; then
+ MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
+ DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
+ elif [ "$DEQP_VER" = "gles2-khr" -o "$DEQP_VER" = "gles3-khr" -o "$DEQP_VER" = "gles31-khr" -o "$DEQP_VER" = "gles32-khr" ]; then
+ MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
+ DEQP=/deqp/external/openglcts/modules/glcts
+ else
+ MUSTPASS=/deqp/mustpass/$DEQP_VER-$DEQP_VARIANT.txt
+ DEQP=/deqp/external/openglcts/modules/glcts
+ fi
+
cp $MUSTPASS /tmp/case-list.txt
# If the caselist is too long to run in a reasonable amount of time, let the job
@@ -94,80 +88,32 @@ if [ -z "$DEQP_SUITE" ]; then
fi
fi
-if [ -e "$INSTALL/deqp-$GPU_VERSION-fails.txt" ]; then
- DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --baseline $INSTALL/deqp-$GPU_VERSION-fails.txt"
+if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
+ DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
fi
# Default to an empty known flakes file if it doesn't exist.
-touch $INSTALL/deqp-$GPU_VERSION-flakes.txt
+touch $INSTALL/$GPU_VERSION-flakes.txt
-if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/deqp-$VK_DRIVER-skips.txt" ]; then
- DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$VK_DRIVER-skips.txt"
+if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/$VK_DRIVER-skips.txt" ]; then
+ DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$VK_DRIVER-skips.txt"
fi
-if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/deqp-$GALLIUM_DRIVER-skips.txt" ]; then
- DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$GALLIUM_DRIVER-skips.txt"
+if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
+ DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$GALLIUM_DRIVER-skips.txt"
fi
-if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/deqp-$DRIVER_NAME-skips.txt" ]; then
- DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$DRIVER_NAME-skips.txt"
+if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
+ DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$DRIVER_NAME-skips.txt"
fi
-if [ -e "$INSTALL/deqp-$GPU_VERSION-skips.txt" ]; then
- DEQP_SKIPS="$DEQP_SKIPS $INSTALL/deqp-$GPU_VERSION-skips.txt"
+if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
+ DEQP_SKIPS="$DEQP_SKIPS $INSTALL/$GPU_VERSION-skips.txt"
fi
set +e
-if [ -n "$DEQP_PARALLEL" ]; then
- JOB="--jobs $DEQP_PARALLEL"
-elif [ -n "$FDO_CI_CONCURRENT" ]; then
- JOB="--jobs $FDO_CI_CONCURRENT"
-else
- JOB="--jobs 4"
-fi
-
-parse_renderer() {
- RENDERER=`grep -A1 TestCaseResult.\*info.renderer $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
- VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
- echo "Renderer: $RENDERER"
- echo "Version: $VERSION "
-
- if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then
- echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER"
- exit 1
- fi
-}
-
-check_renderer() {
- if echo $DEQP_VER | grep -q egl; then
- return
- fi
- echo "Capturing renderer info for GLES driver sanity checks"
- # If you're having trouble loading your driver, uncommenting this may help
- # debug.
- # export EGL_LOG_LEVEL=debug
- VERSION=`echo $DEQP_VER | cut -d '-' -f1 | tr '[a-z]' '[A-Z]'`
- export LD_PRELOAD=$TEST_LD_PRELOAD
- $DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
- export LD_PRELOAD=
- parse_renderer
-}
-
-check_vk_device_name() {
- echo "Capturing device info for VK driver sanity checks"
- export LD_PRELOAD=$TEST_LD_PRELOAD
- $DEQP $DEQP_OPTIONS --deqp-case=dEQP-VK.info.device --deqp-log-filename=$RESULTS/deqp-info.qpa
- export LD_PRELOAD=
- DEVICENAME=`grep deviceName $RESULTS/deqp-info.qpa | sed 's|deviceName: ||g'`
- echo "deviceName: $DEVICENAME"
- if ! echo $DEVICENAME | grep -q "$DEQP_EXPECTED_RENDERER"; then
- echo "Expected deviceName $DEQP_EXPECTED_RENDERER"
- exit 1
- fi
-}
-
report_load() {
echo "System load: $(cut -d' ' -f1-3 < /proc/loadavg)"
echo "# of CPU cores: $(cat /proc/cpuinfo | grep processor | wc -l)"
@@ -190,34 +136,28 @@ if [ "$GALLIUM_DRIVER" = "virpipe" ]; then
fi
GALLIUM_DRIVER=llvmpipe \
- GALLIVM_PERF="nopt" \
virgl_test_server $VTEST_ARGS >$RESULTS/vtest-log.txt 2>&1 &
sleep 1
fi
-if [ $DEQP_VER = vk ]; then
- quiet check_vk_device_name
-else
- quiet check_renderer
-fi
-
-RESULTS_CSV=$RESULTS/results.csv
-FAILURES_CSV=$RESULTS/failures.csv
-
-export LD_PRELOAD=$TEST_LD_PRELOAD
-
if [ -z "$DEQP_SUITE" ]; then
+ if [ -n "$DEQP_EXPECTED_RENDERER" ]; then
+ export DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --renderer-check "$DEQP_EXPECTED_RENDERER""
+ fi
+ if [ $DEQP_VER != vk -a $DEQP_VER != egl ]; then
+ export DEQP_RUNNER_OPTIONS="$DEQP_RUNNER_OPTIONS --version-check `cat $INSTALL/VERSION | sed 's/[() ]/./g'`"
+ fi
+
deqp-runner \
run \
--deqp $DEQP \
--output $RESULTS \
--caselist /tmp/case-list.txt \
- --skips $INSTALL/deqp-all-skips.txt $DEQP_SKIPS \
- --flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
+ --skips $INSTALL/all-skips.txt $DEQP_SKIPS \
+ --flakes $INSTALL/$GPU_VERSION-flakes.txt \
--testlog-to-xml /deqp/executor/testlog-to-xml \
- $JOB \
- $SUMMARY_LIMIT \
+ --jobs ${FDO_CI_CONCURRENT:-4} \
$DEQP_RUNNER_OPTIONS \
-- \
$DEQP_OPTIONS
@@ -226,19 +166,17 @@ else
suite \
--suite $INSTALL/deqp-$DEQP_SUITE.toml \
--output $RESULTS \
- --skips $INSTALL/deqp-all-skips.txt $DEQP_SKIPS \
- --flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
+ --skips $INSTALL/all-skips.txt $DEQP_SKIPS \
+ --flakes $INSTALL/$GPU_VERSION-flakes.txt \
--testlog-to-xml /deqp/executor/testlog-to-xml \
--fraction-start $CI_NODE_INDEX \
--fraction $CI_NODE_TOTAL \
- $JOB \
- $SUMMARY_LIMIT \
+ --jobs ${FDO_CI_CONCURRENT:-4} \
$DEQP_RUNNER_OPTIONS
fi
DEQP_EXITCODE=$?
-export LD_PRELOAD=
quiet report_load
# Remove all but the first 50 individual XML files uploaded as artifacts, to
@@ -253,8 +191,8 @@ find $RESULTS -name \*.xml \
-exec cp /deqp/testlog.css /deqp/testlog.xsl "$RESULTS/" ";" \
-quit
-$HANG_DETECTION_CMD deqp-runner junit \
- --testsuite $DEQP_VER \
+deqp-runner junit \
+ --testsuite dEQP \
--results $RESULTS/failures.csv \
--output $RESULTS/junit.xml \
--limit 50 \
@@ -265,8 +203,8 @@ if [ -n "$FLAKES_CHANNEL" ]; then
python3 $INSTALL/report-flakes.py \
--host irc.oftc.net \
--port 6667 \
- --results $RESULTS_CSV \
- --known-flakes $INSTALL/deqp-$GPU_VERSION-flakes.txt \
+ --results $RESULTS/results.csv \
+ --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
--channel "$FLAKES_CHANNEL" \
--runner "$CI_RUNNER_DESCRIPTION" \
--job "$CI_JOB_ID" \
diff --git a/.gitlab-ci/gtest-runner.sh b/.gitlab-ci/gtest-runner.sh
new file mode 100644
index 00000000000..41d243bd345
--- /dev/null
+++ b/.gitlab-ci/gtest-runner.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+set -ex
+
+INSTALL=`pwd`/install
+
+# Set up the driver environment.
+export LD_LIBRARY_PATH=`pwd`/install/lib/
+export LIBVA_DRIVERS_PATH=`pwd`/install/lib/dri/
+# libva spams driver open info by default, and that happens per testcase.
+export LIBVA_MESSAGING_LEVEL=1
+
+if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
+ GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
+fi
+
+# Default to an empty known flakes file if it doesn't exist.
+touch $INSTALL/$GPU_VERSION-flakes.txt
+
+if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
+ GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt"
+fi
+
+if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
+ GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt"
+fi
+
+if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
+ GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt"
+fi
+
+set +e
+
+gtest-runner \
+ run \
+ --gtest $GTEST \
+ --output ${GTEST_RESULTS_DIR:-results} \
+ --jobs ${FDO_CI_CONCURRENT:-4} \
+ $GTEST_SKIPS \
+ --flakes $INSTALL/$GPU_VERSION-flakes.txt \
+ --fraction-start ${CI_NODE_INDEX:-1} \
+ --fraction $((${CI_NODE_TOTAL:-1} * ${GTEST_FRACTION:-1})) \
+ --env "LD_PRELOAD=$TEST_LD_PRELOAD" \
+ $GTEST_RUNNER_OPTIONS
+
+GTEST_EXITCODE=$?
+
+deqp-runner junit \
+ --testsuite gtest \
+ --results $RESULTS/failures.csv \
+ --output $RESULTS/junit.xml \
+ --limit 50 \
+ --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml"
+
+# Report the flakes to the IRC channel for monitoring (if configured):
+if [ -n "$FLAKES_CHANNEL" ]; then
+ python3 $INSTALL/report-flakes.py \
+ --host irc.oftc.net \
+ --port 6667 \
+ --results $RESULTS/results.csv \
+ --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
+ --channel "$FLAKES_CHANNEL" \
+ --runner "$CI_RUNNER_DESCRIPTION" \
+ --job "$CI_JOB_ID" \
+ --url "$CI_JOB_URL" \
+ --branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \
+ --branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}"
+fi
+
+exit $GTEST_EXITCODE
diff --git a/.gitlab-ci/lava/lava-gitlab-ci.yml b/.gitlab-ci/lava/lava-gitlab-ci.yml
index 1d8baf31327..7bd368468f1 100755
--- a/.gitlab-ci/lava/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava/lava-gitlab-ci.yml
@@ -5,7 +5,7 @@
interruptible: true
variables:
GIT_STRATEGY: none # testing doesn't build anything from source
- DEQP_PARALLEL: 6 # should be replaced by per-machine definitions
+ FDO_CI_CONCURRENT: 6 # should be replaced by per-machine definitions
DEQP_VER: gles2
# proxy used to cache data locally
FDO_HTTP_CACHE_URI: "http://caching-proxy/cache/?uri="
diff --git a/.gitlab-ci/lava/lava-submit.sh b/.gitlab-ci/lava/lava-submit.sh
index 2596679276c..59325678dab 100755
--- a/.gitlab-ci/lava/lava-submit.sh
+++ b/.gitlab-ci/lava/lava-submit.sh
@@ -22,7 +22,7 @@ cp artifacts/ci-common/init-*.sh results/job-rootfs-overlay/
artifacts/ci-common/generate-env.sh > results/job-rootfs-overlay/set-job-env-vars.sh
tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ .
-ci-fairy minio login "${CI_JOB_JWT}"
+ci-fairy minio login --token-file "${CI_JOB_JWT_FILE}"
ci-fairy minio cp job-rootfs-overlay.tar.gz "minio://${JOB_ROOTFS_OVERLAY_PATH}"
touch results/lava.log
@@ -34,11 +34,12 @@ artifacts/lava/lava_job_submitter.py \
--mesa-build-url "${FDO_HTTP_CACHE_URI:-}https://${MESA_BUILD_PATH}" \
--job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
--job-artifacts-base ${JOB_ARTIFACTS_BASE} \
+ --job-timeout ${JOB_TIMEOUT:-30} \
--first-stage-init artifacts/ci-common/init-stage1.sh \
--ci-project-dir ${CI_PROJECT_DIR} \
--device-type ${DEVICE_TYPE} \
--dtb ${DTB} \
- --jwt "${CI_JOB_JWT}" \
+ --jwt-file "${CI_JOB_JWT_FILE}" \
--kernel-image-name ${KERNEL_IMAGE_NAME} \
--kernel-image-type "${KERNEL_IMAGE_TYPE}" \
--boot-method ${BOOT_METHOD} \
diff --git a/.gitlab-ci/lava/lava_job_submitter.py b/.gitlab-ci/lava/lava_job_submitter.py
index a8f2ace8ded..5d1f469e7c6 100755
--- a/.gitlab-ci/lava/lava_job_submitter.py
+++ b/.gitlab-ci/lava/lava_job_submitter.py
@@ -25,16 +25,16 @@
"""Send a job to LAVA, track it and collect log back"""
import argparse
-import lavacli
-import os
+import pathlib
import sys
import time
import traceback
import urllib.parse
import xmlrpc
-import yaml
-
from datetime import datetime, timedelta
+
+import lavacli
+import yaml
from lavacli.utils import loader
# Timeout in minutes to decide if the device from the dispatched LAVA job has
@@ -59,6 +59,18 @@ def fatal_err(msg):
print_log(msg)
sys.exit(1)
+
+def hide_sensitive_data(yaml_data, hide_tag="HIDEME"):
+ out_data = ""
+
+ for line in yaml_data.splitlines(True):
+ if hide_tag in line:
+ continue
+ out_data += line
+
+ return out_data
+
+
def generate_lava_yaml(args):
# General metadata and permissions, plus also inexplicably kernel arguments
values = {
@@ -71,7 +83,7 @@ def generate_lava_yaml(args):
},
'timeouts': {
'job': {
- 'minutes': 30
+ 'minutes': args.job_timeout
}
},
}
@@ -111,7 +123,7 @@ def generate_lava_yaml(args):
# skeleton test definition: only declaring each job as a single 'test'
# since LAVA's test parsing is not useful to us
test = {
- 'timeout': { 'minutes': 30 },
+ 'timeout': { 'minutes': args.job_timeout },
'failure_retry': 1,
'definitions': [ {
'name': 'mesa',
@@ -140,15 +152,22 @@ def generate_lava_yaml(args):
# - fetch and unpack per-job environment from lava-submit.sh
# - exec .gitlab-ci/common/init-stage2.sh
init_lines = []
+
with open(args.first_stage_init, 'r') as init_sh:
init_lines += [ x.rstrip() for x in init_sh if not x.startswith('#') and x.rstrip() ]
+
+ with open(args.jwt_file) as jwt_file:
+ init_lines += [
+ "set +x",
+ f'echo -n "{jwt_file.read()}" > "{args.jwt_file}" # HIDEME',
+ "set -x",
+ ]
+
init_lines += [
'mkdir -p {}'.format(args.ci_project_dir),
'wget -S --progress=dot:giga -O- {} | tar -xz -C {}'.format(args.mesa_build_url, args.ci_project_dir),
'wget -S --progress=dot:giga -O- {} | tar -xz -C /'.format(args.job_rootfs_overlay_url),
- 'set +x',
- 'export CI_JOB_JWT="{}"'.format(args.jwt),
- 'set -x',
+ f'echo "export CI_JOB_JWT_FILE={args.jwt_file}" >> /set-job-env-vars.sh',
'exec /init-stage2.sh',
]
test['definitions'][0]['repository']['run']['steps'] = init_lines
@@ -285,9 +304,7 @@ def main(args):
yaml_file = generate_lava_yaml(args)
if args.dump_yaml:
- censored_args = args
- censored_args.jwt = "jwt-hidden"
- print(generate_lava_yaml(censored_args))
+ print(hide_sensitive_data(generate_lava_yaml(args)))
if args.validate_only:
ret = validate_job(proxy, yaml_file)
@@ -318,13 +335,7 @@ def main(args):
if get_job_results(proxy, job_id, "0_mesa", "mesa") == True:
break
-
-if __name__ == '__main__':
- # given that we proxy from DUT -> LAVA dispatcher -> LAVA primary -> us ->
- # GitLab runner -> GitLab primary -> user, safe to say we don't need any
- # more buffering
- sys.stdout.reconfigure(line_buffering=True)
- sys.stderr.reconfigure(line_buffering=True)
+def create_parser():
parser = argparse.ArgumentParser("LAVA job submitter")
parser.add_argument("--pipeline-info")
@@ -332,6 +343,7 @@ if __name__ == '__main__':
parser.add_argument("--mesa-build-url")
parser.add_argument("--job-rootfs-overlay-url")
parser.add_argument("--job-artifacts-base")
+ parser.add_argument("--job-timeout", type=int)
parser.add_argument("--first-stage-init")
parser.add_argument("--ci-project-dir")
parser.add_argument("--device-type")
@@ -340,11 +352,22 @@ if __name__ == '__main__':
parser.add_argument("--kernel-image-type", nargs='?', default="")
parser.add_argument("--boot-method")
parser.add_argument("--lava-tags", nargs='?', default="")
- parser.add_argument("--jwt")
+ parser.add_argument("--jwt-file", type=pathlib.Path)
parser.add_argument("--validate-only", action='store_true')
parser.add_argument("--dump-yaml", action='store_true')
parser.add_argument("--visibility-group")
+ return parser
+
+if __name__ == "__main__":
+ # given that we proxy from DUT -> LAVA dispatcher -> LAVA primary -> us ->
+ # GitLab runner -> GitLab primary -> user, safe to say we don't need any
+ # more buffering
+ sys.stdout.reconfigure(line_buffering=True)
+ sys.stderr.reconfigure(line_buffering=True)
+
+ parser = create_parser()
+
parser.set_defaults(func=main)
args = parser.parse_args()
args.func(args)
diff --git a/.gitlab-ci/piglit/piglit-all-skips.txt b/.gitlab-ci/piglit/piglit-all-skips.txt
deleted file mode 100644
index e102ac6cf41..00000000000
--- a/.gitlab-ci/piglit/piglit-all-skips.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# WGL is Windows-only
-wgl@.*
-
-# These are sensitive to CPU timing, and would need to be run in isolation
-# on the system rather than in parallel with other tests.
-glx@glx_arb_sync_control@timing.*
diff --git a/.gitlab-ci/piglit/piglit-runner.sh b/.gitlab-ci/piglit/piglit-runner.sh
index ed100a010db..d228f6cea37 100755
--- a/.gitlab-ci/piglit/piglit-runner.sh
+++ b/.gitlab-ci/piglit/piglit-runner.sh
@@ -3,7 +3,7 @@
set -ex
if [ -z "$GPU_VERSION" ]; then
- echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in your ci/piglit-gpu-version-*.txt)'
+ echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in your ci/gpu-version-*.txt)'
exit 1
fi
@@ -28,59 +28,45 @@ if [ -n "$CI_NODE_INDEX" ]; then
PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --fraction-start ${CI_NODE_INDEX}"
fi
-if [ -e "$INSTALL/piglit-$GPU_VERSION-fails.txt" ]; then
- PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --baseline $INSTALL/piglit-$GPU_VERSION-fails.txt"
+if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
+ PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
fi
# Default to an empty known flakes file if it doesn't exist.
-touch $INSTALL/piglit-$GPU_VERSION-flakes.txt
+touch $INSTALL/$GPU_VERSION-flakes.txt
-if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/piglit-$VK_DRIVER-skips.txt" ]; then
- PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$VK_DRIVER-skips.txt"
+if [ -n "$VK_DRIVER" ] && [ -e "$INSTALL/$VK_DRIVER-skips.txt" ]; then
+ PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$VK_DRIVER-skips.txt"
fi
-if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/piglit-$GALLIUM_DRIVER-skips.txt" ]; then
- PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$GALLIUM_DRIVER-skips.txt"
+if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
+ PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$GALLIUM_DRIVER-skips.txt"
fi
-if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/piglit-$DRIVER_NAME-skips.txt" ]; then
- PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$DRIVER_NAME-skips.txt"
+if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
+ PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$DRIVER_NAME-skips.txt"
fi
-if [ -e "$INSTALL/piglit-$GPU_VERSION-skips.txt" ]; then
- PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/piglit-$GPU_VERSION-skips.txt"
+if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
+ PIGLIT_SKIPS="$PIGLIT_SKIPS $INSTALL/$GPU_VERSION-skips.txt"
fi
set +e
-if [ -n "$PIGLIT_PARALLEL" ]; then
- PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs $PIGLIT_PARALLEL"
-elif [ -n "$FDO_CI_CONCURRENT" ]; then
- PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs $FDO_CI_CONCURRENT"
-else
- PIGLIT_RUNNER_OPTIONS="$PIGLIT_RUNNER_OPTIONS --jobs 4"
-fi
-
-RESULTS_CSV=$RESULTS/results.csv
-FAILURES_CSV=$RESULTS/failures.csv
-
-export LD_PRELOAD=$TEST_LD_PRELOAD
-
- piglit-runner \
- run \
- --piglit-folder /piglit \
- --output $RESULTS \
- --skips $INSTALL/piglit/piglit-all-skips.txt $PIGLIT_SKIPS \
- --flakes $INSTALL/piglit-$GPU_VERSION-flakes.txt \
- --profile $PIGLIT_PROFILES \
- --process-isolation \
- $PIGLIT_RUNNER_OPTIONS \
- -v -v
+piglit-runner \
+ run \
+ --piglit-folder /piglit \
+ --output $RESULTS \
+ --jobs ${FDO_CI_CONCURRENT:-4} \
+ --skips $INSTALL/all-skips.txt $PIGLIT_SKIPS \
+ --flakes $INSTALL/$GPU_VERSION-flakes.txt \
+ --profile $PIGLIT_PROFILES \
+ --process-isolation \
+ $PIGLIT_RUNNER_OPTIONS \
+ -v -v
PIGLIT_EXITCODE=$?
-export LD_PRELOAD=
-
deqp-runner junit \
--testsuite $PIGLIT_PROFILES \
--results $RESULTS/failures.csv \
@@ -93,8 +79,8 @@ if [ -n "$FLAKES_CHANNEL" ]; then
python3 $INSTALL/report-flakes.py \
--host irc.oftc.net \
--port 6667 \
- --results $RESULTS_CSV \
- --known-flakes $INSTALL/piglit-$GPU_VERSION-flakes.txt \
+ --results $RESULTS/results.csv \
+ --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \
--channel "$FLAKES_CHANNEL" \
--runner "$CI_RUNNER_DESCRIPTION" \
--job "$CI_JOB_ID" \
diff --git a/.gitlab-ci/piglit/run.sh b/.gitlab-ci/piglit/run.sh
index e5fa819d744..e8a9cdaaec8 100755
--- a/.gitlab-ci/piglit/run.sh
+++ b/.gitlab-ci/piglit/run.sh
@@ -107,7 +107,6 @@ else
LD_LIBRARY_PATH="$__LD_LIBRARY_PATH" \
GALLIUM_DRIVER=llvmpipe \
- GALLIVM_PERF="nopt" \
VTEST_USE_EGL_SURFACELESS=1 \
VTEST_USE_GLES=1 \
virgl_test_server >"$RESULTS"/vtest-log.txt 2>&1 &
@@ -202,7 +201,7 @@ FAILURE_MESSAGE=$(printf "%s" "Unexpected change in results:")
if [ "x$PIGLIT_PROFILES" = "xreplay" ] \
&& [ ${PIGLIT_REPLAY_UPLOAD_TO_MINIO:-0} -eq 1 ]; then
- ci-fairy minio login $MINIO_ARGS $CI_JOB_JWT
+ ci-fairy minio login $MINIO_ARGS --token-file "${CI_JOB_JWT_FILE}"
fi
eval $RUN_CMD
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
index bbc37ef1419..d4fe4029b79 100755
--- a/.gitlab-ci/prepare-artifacts.sh
+++ b/.gitlab-ci/prepare-artifacts.sh
@@ -31,12 +31,11 @@ cp -Rp .gitlab-ci/piglit install/
cp -Rp .gitlab-ci/fossils.yml install/
cp -Rp .gitlab-ci/fossils install/
cp -Rp .gitlab-ci/fossilize-runner.sh install/
-cp -Rp .gitlab-ci/deqp-runner.sh install/
-cp -Rp .gitlab-ci/crosvm-runner.sh install/
cp -Rp .gitlab-ci/crosvm-init.sh install/
-cp -Rp .gitlab-ci/deqp-*.txt install/
+cp -Rp .gitlab-ci/*.txt install/
cp -Rp .gitlab-ci/report-flakes.py install/
cp -Rp .gitlab-ci/vkd3d-proton install/
+cp -Rp .gitlab-ci/*-runner.sh install/
find . -path \*/ci/\*.txt \
-o -path \*/ci/\*.toml \
-o -path \*/ci/\*traces\*.yml \
@@ -53,6 +52,6 @@ if [ -n "$MINIO_ARTIFACT_NAME" ]; then
# Pass needed files to the test stage
MINIO_ARTIFACT_NAME="$MINIO_ARTIFACT_NAME.tar.gz"
gzip -c artifacts/install.tar > ${MINIO_ARTIFACT_NAME}
- ci-fairy minio login $CI_JOB_JWT
+ ci-fairy minio login --token-file "${CI_JOB_JWT_FILE}"
ci-fairy minio cp ${MINIO_ARTIFACT_NAME} minio://${PIPELINE_ARTIFACTS_BASE}/${MINIO_ARTIFACT_NAME}
fi
diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
index 373772fffb7..d654b928b30 100644
--- a/.gitlab-ci/test-source-dep.yml
+++ b/.gitlab-ci/test-source-dep.yml
@@ -239,6 +239,7 @@
- src/gallium/winsys/panfrost/**/*
when: on_success
- changes: &panfrost_common_file_list
+ - src/panfrost/ci/*
- src/panfrost/include/*
- src/panfrost/lib/*
- src/panfrost/shared/*
@@ -266,6 +267,12 @@
*panfrost_gallium_file_list
when: on_success
- changes:
+ *vulkan_file_list
+ when: on_success
+ - changes: &panfrost_vulkan_file_list
+ - src/panfrost/vulkan/*
+ when: on_success
+ - changes:
- src/panfrost/bifrost/**/*
when: on_success
- when: never
@@ -391,6 +398,25 @@
when: on_success
- when: never
+.radeonsi-vaapi-rules:
+ stage: amd
+ rules:
+ - *ignore_scheduled_pipelines
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ *radeonsi_file_list
+ when: on_success
+ - changes: &radeon_vcn_file_list
+ - src/gallium/frontends/va/**/*
+ - src/gallium/drivers/radeon/**/*
+ when: on_success
+ - when: never
+
.i915g-rules:
stage: intel
rules:
diff --git a/.gitlab-ci/windows/mesa_build.ps1 b/.gitlab-ci/windows/mesa_build.ps1
index 49a298a89cb..d853ab10a3d 100644
--- a/.gitlab-ci/windows/mesa_build.ps1
+++ b/.gitlab-ci/windows/mesa_build.ps1
@@ -9,7 +9,7 @@ Write-Host "Compiling Mesa"
$builddir = New-Item -ItemType Directory -Name "_build"
$installdir = New-Item -ItemType Directory -Name "_install"
Push-Location $builddir.FullName
-cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12,zink -Dosmesa=true -Dshared-glapi=enabled -Dgles2=enabled -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dspirv-to-dxil=true -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
+cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12,zink -Dshared-glapi=enabled -Dgles2=enabled -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dspirv-to-dxil=true -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
$buildstatus = $?
Pop-Location
@@ -21,4 +21,8 @@ if (!$buildstatus) {
}
Copy-Item ".\.gitlab-ci\windows\piglit_run.ps1" -Destination $installdir
-Copy-Item ".\.gitlab-ci\windows\quick_gl.txt" -Destination $installdir
+
+Copy-Item ".\.gitlab-ci\windows\spirv2dxil_check.ps1" -Destination $installdir
+Copy-Item ".\.gitlab-ci\windows\spirv2dxil_run.ps1" -Destination $installdir
+
+Get-ChildItem -Recurse -Filter "ci" | Get-ChildItem -Filter "*.txt" | Copy-Item -Destination $installdir
diff --git a/.gitlab-ci/windows/mesa_deps.ps1 b/.gitlab-ci/windows/mesa_deps.ps1
index 1e5e78d2136..597aed15b72 100644
--- a/.gitlab-ci/windows/mesa_deps.ps1
+++ b/.gitlab-ci/windows/mesa_deps.ps1
@@ -181,7 +181,7 @@ if (!$?) {
Exit 1
}
Push-Location -Path C:\src\piglit
-git checkout b0bbeb876a506e0ee689dd7e17cee374c8284058
+git checkout f7f2a6c2275cae023a27b6cc81be3dda8c99492d
Pop-Location
Get-Date
@@ -202,4 +202,11 @@ if (!$buildstatus -Or !$installstatus) {
Copy-Item -Path C:\freeglut\bin\x64\freeglut.dll -Destination C:\Piglit\lib\piglit\bin\freeglut.dll
Get-Date
+Write-Host "Cloning spirv-samples"
+git clone --no-progress --single-branch --no-checkout https://github.com/dneto0/spirv-samples.git C:\spirv-samples\
+Push-Location -Path C:\spirv-samples\
+git checkout 7ac0ad5a7fe0ec884faba1dc2916028d0268eeef
+Pop-Location
+
+Get-Date
Write-Host "Complete"
diff --git a/.gitlab-ci/windows/piglit_run.ps1 b/.gitlab-ci/windows/piglit_run.ps1
index 3414fc2dcb8..2205b7ba06d 100644
--- a/.gitlab-ci/windows/piglit_run.ps1
+++ b/.gitlab-ci/windows/piglit_run.ps1
@@ -9,7 +9,7 @@ cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd6
py -3 C:\Piglit\bin\piglit.py summary console .\results | Select -SkipLast 1 | Select-String -NotMatch -Pattern ': pass' | Set-Content -Path .\result.txt
-$reference = Get-Content ".\_install\$env:PIGLIT_PROFILE.txt"
+$reference = Get-Content ".\_install\$env:PIGLIT_RESULTS.txt"
$result = Get-Content .\result.txt
if (-Not ($reference -And $result)) {
Exit 1
diff --git a/.gitlab-ci/windows/spirv2dxil_check.ps1 b/.gitlab-ci/windows/spirv2dxil_check.ps1
new file mode 100644
index 00000000000..0ef61d82d42
--- /dev/null
+++ b/.gitlab-ci/windows/spirv2dxil_check.ps1
@@ -0,0 +1,53 @@
+# Ensure that dxil.dll in on the %PATH%
+$dxil_dll = cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 -no_logo && where dxil.dll" 2>&1
+if ($dxil_dll -notmatch "dxil.dll$") {
+ Write-Output "Couldn't get path to dxil.dll"
+ exit 1
+}
+$env:Path = "$(Split-Path $dxil_dll);$env:Path"
+
+$exec_mode_to_stage = @{ Fragment = "fragment"; Vertex = "vertex"; GLCompute = "compute" }
+
+$spvasm_files = (Get-ChildItem C:\spirv-samples\spvasm\*.spvasm) | Sort-Object Name
+foreach ($spvasm in $spvasm_files) {
+ $test_name = "Test:$($spvasm.Name):"
+ $spvfile = ($spvasm -replace '\.spvasm$', '.spv')
+ $content = Get-Content $spvasm
+ $spv_version = "1.0"
+ if ($content | Where-Object { $_ -match 'Version:\s(\d+\.\d+)' }) {
+ $spv_version = $Matches[1]
+ }
+
+ $as_output = C:\spirv-tools\bin\spirv-as.exe --target-env spv$spv_version --preserve-numeric-ids -o $spvfile $spvasm 2>&1 | % { if ($_ -is [System.Management.Automation.ErrorRecord]) { $_.Exception.Message } else { $_ } } | Out-String
+ if ($LASTEXITCODE -ne 0) {
+ Write-Output "$test_name Skip: Unable to assemble shader"
+ Write-Output "$as_output`n"
+ continue
+ }
+
+ $entry_points = $content | Select-String -Pattern '^OpEntryPoint\s(\w+)[^"]+"(\w+)"' | Select-Object -ExpandProperty Matches -First 1
+ if ($entry_points.Count -eq 0) {
+ Write-Output "$test_name Skip"
+ Write-Output "No OpEntryPoint not found`n"
+ continue
+ }
+
+ foreach ($match in $entry_points) {
+ $exec_mode, $entry_point = $match.Groups[1].Value, $match.Groups[2].Value
+ $subtest = "$test_name$entry_point|${exec_mode}:"
+ $stage = $exec_mode_to_stage[$exec_mode]
+ if ($stage -eq '') {
+ Write-Output "$subtest Fail: Unknown shader type ($exec_mode)"
+ continue
+ }
+
+ $s2d_output = .\_install\bin\spirv2dxil.exe -v -e "$entry_point" -s "$stage" -o NUL $spvfile 2>&1 | ForEach-Object { if ($_ -is [System.Management.Automation.ErrorRecord]) { $_.Exception.Message } else { $_ } } | Out-String
+ if ($LASTEXITCODE -eq 0) {
+ Write-Output "$subtest Pass"
+ }
+ else {
+ Write-Output "$subtest Fail"
+ Write-Output "$s2d_output`n"
+ }
+ }
+}
diff --git a/.gitlab-ci/windows/spirv2dxil_run.ps1 b/.gitlab-ci/windows/spirv2dxil_run.ps1
new file mode 100644
index 00000000000..51b125eef5d
--- /dev/null
+++ b/.gitlab-ci/windows/spirv2dxil_run.ps1
@@ -0,0 +1,16 @@
+. .\_install\spirv2dxil_check.ps1 2>&1 | Set-Content -Path .\spirv2dxil_results.txt
+$reference = Get-Content .\_install\spirv2dxil_reference.txt
+$result = Get-Content .\spirv2dxil_results.txt
+if (-Not ($reference -And $result)) {
+ Exit 1
+}
+
+$diff = Compare-Object -ReferenceObject $reference -DifferenceObject $result
+if (-Not $diff) {
+ Exit 0
+}
+
+Write-Host "Unexpected change in results:"
+Write-Output $diff | Format-Table -Property SideIndicator, InputObject -Wrap
+
+Exit 1
diff --git a/.mailmap b/.mailmap
index 75dac64c7ba..e8e087ba2d4 100644
--- a/.mailmap
+++ b/.mailmap
@@ -107,6 +107,8 @@ Bruce Cherniak <bruce.cherniak@intel.com>
Bruce Merry <bmerry@users.sourceforge.net> <bmerry@gmail.com>
+Caio Oliveira <caio.oliveira@intel.com>
+
Carl-Philip Hänsch <cphaensch@googlemail.com>
Carl-Philip Hänsch <cphaensch@googlemail.com> <s3734770@mail.zih.tu-dresden.de>
Carl-Philip Hänsch <cphaensch@googlemail.com> <carli@carli-laptop.(none)>
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 00000000000..2f7b0675891
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1,138 @@
+# This file contains the GitLab handle of the maintainers/reviewers for
+# a given file:
+# https://docs.gitlab.com/ce/user/project/code_owners.html
+#
+# Consider these as the list of people who want to be involved in MRs
+# touching these files/folders, and whom you can ask your questions and
+# tag in issues.
+#
+# As of GitLab 14.3, all features surrounding this file are premium-only,
+# which means this file is only read by humans for now.
+#
+# Paths starting with a `/` are relative to the git root, otherwise they
+# can match any substring of the file's path.
+# If multiple lines match, only the last one applies; there is no
+# accumulation.
+
+
+##################
+# INFRASTRUCTURE #
+##################
+
+# Build system - Meson
+meson.build @dbaker @eric
+/meson_options.txt @dbaker @eric
+/docs/meson.rst @dbaker @eric
+
+# Build system - Android
+/android/ @roman.stratiienko
+
+# Compatibility headers
+/include/c99* @evelikov
+/include/c11* @eric
+
+# Documentation
+/docs/ @eric @evelikov
+
+
+##########
+# COMMON #
+##########
+
+# NIR
+/src/compiler/nir/ @jekstrand
+
+# Vulkan
+/src/vulkan/ @eric @jekstrand
+/include/vulkan/ @eric @jekstrand
+
+
+#############
+# PLATFORMS #
+#############
+
+# EGL
+/src/egl/ @eric @evelikov
+/include/EGL/ @eric @evelikov
+
+# EGL - Android support
+/src/egl/drivers/dri2/platform_android.c @robh @tfiga
+
+# EGL - Device support
+/src/egl/drivers/dri2/platform_device.c @evelikov
+
+# EGL - Wayland support
+/src/egl/wayland/ @daniels @eric
+/src/egl/drivers/dri2/platform_wayland.c @daniels @eric
+
+# Gallium targets
+/src/gallium/targets/ @evelikov
+
+# GLX
+/src/glx/ @ajax
+/include/GL/glx* @ajax
+
+# GLVND
+/src/egl/main/eglglvnd.c @kbrenneman
+/src/egl/main/egldispatchstubs.* @kbrenneman
+/src/egl/generate/ @kbrenneman
+/src/glx/*glvnd* @kbrenneman
+
+# Haiku
+/include/HaikuGL/ @kallisti5
+/src/egl/drivers/haiku/ @kallisti5
+/src/gallium/frontends/hgl/ @kallisti5
+/src/gallium/targets/haiku-softpipe/ @kallisti5
+/src/gallium/winsys/sw/hgl/ @kallisti5
+/src/hgl/ @kallisti5
+
+# Loader - DRI/classic
+/src/loader/ @evelikov
+
+# Loader - Gallium
+/src/gallium/auxiliary/pipe-loader/ @evelikov
+/src/gallium/auxiliary/target-helpers/ @evelikov
+
+# Vulkan WSI - Display
+/src/vulkan/wsi/wsi_common_display.* @keithp
+/src/*/vulkan/*_wsi_display.c @keithp
+
+
+###########
+# Drivers #
+###########
+
+# Asahi
+/src/asahi/ @alyssa
+/src/gallium/drivers/asahi/ @alyssa
+
+# Freedreno
+/src/gallium/drivers/freedreno/ @robclark
+
+# Intel
+/include/drm-uapi/i915_drm.h @kwg @llandwerlin @jekstrand @idr
+/include/pci_ids/i*_pci_ids.h @kwg @llandwerlin @jekstrand @idr
+/src/intel/ @kwg @llandwerlin @jekstrand @idr
+/src/gallium/winsys/iris/ @kwg @llandwerlin @jekstrand @idr
+/src/gallium/drivers/iris/ @kwg @llandwerlin @jekstrand @idr
+/src/gallium/drivers/i915/ @anholt
+/src/mesa/drivers/dri/i965/ @kwg @llandwerlin @jekstrand @idr
+/doxygen/i965.doxy @kwg @llandwerlin @jekstrand @idr
+
+# Microsoft
+/src/microsoft/ @jenatali
+/src/gallium/drivers/d3d12/ @jenatali
+
+# Panfrost
+/src/panfrost/ @alyssa
+/src/panfrost/vulkan/ @bbrezillon
+/src/gallium/drivers/panfrost/ @alyssa
+
+# SWR
+/src/gallium/drivers/swr/ @jzielins @krzysztof.raszkowski
+/docs/gallium/drivers/openswr.rst @jzielins @krzysztof.raszkowski
+/docs/gallium/drivers/openswr/ @jzielins @krzysztof.raszkowski
+
+# VMware
+/src/gallium/drivers/svga/ @brianp @charmainel
+/src/gallium/winsys/svga/ @thomash @drawat
diff --git a/REVIEWERS b/REVIEWERS
deleted file mode 100644
index 81baad876b0..00000000000
--- a/REVIEWERS
+++ /dev/null
@@ -1,114 +0,0 @@
-Overview:
-
- This file is similar in syntax (or more precisly a subset) of what is
- used by the MAINTAINERS file in the linux kernel.
- The purpose is not exactly the same the MAINTAINERS file in the linux
- kernel, as there are not official/formal maintainers of different
- subsystems in mesa, but is meant to give an idea of who to CC for
- various patches for review.
-
-Descriptions of section entries:
-
- R: Designated reviewer: FullName <address@domain>
- These reviewers should be CCed on patches.
- F: Files and directories with wildcard patterns.
- A trailing slash includes all files and subdirectory files.
- F: drivers/net/ all files in and below drivers/net
- F: drivers/net/* all files in drivers/net, but not below
- F: */net/* all files in "any top level directory"/net
- One pattern per line. Multiple F: lines acceptable.
-
-Maintainers List (try to look for most precise areas first)
-
-Note: this is an opt-in system, I have not tried to add anyone who hasn't
-either asked me or sent a patch to add themselves.
-
- -----------------------------------
-
-NIR
-R: Jason Ekstrand <jason@jlekstrand.net>
-F: src/compiler/nir/
-
-DOCUMENTATION
-R: Emil Velikov <emil.l.velikov@gmail.com>
-R: Eric Engestrom <eric@engestrom.ch>
-F: docs/
-
-COMPATIBILITY HEADERS
-R: Emil Velikov <emil.l.velikov@gmail.com>
-F: include/c99*
-
-DRI LOADER
-R: Emil Velikov <emil.l.velikov@gmail.com>
-F: src/loader/
-
-EGL
-R: Eric Engestrom <eric@engestrom.ch>
-R: Emil Velikov <emil.l.velikov@gmail.com>
-F: src/egl/
-F: include/EGL/
-
-HAIKU
-R: Alexander von Gluck IV <kallisti5@unixzen.com>
-F: include/HaikuGL/
-F: src/egl/drivers/haiku/
-F: src/gallium/frontends/hgl/
-F: src/gallium/targets/haiku-softpipe/
-F: src/gallium/winsys/sw/hgl/
-F: src/hgl/
-
-GALLIUM LOADER
-R: Emil Velikov <emil.l.velikov@gmail.com>
-F: src/gallium/auxiliary/pipe-loader/
-F: src/gallium/auxiliary/target-helpers/
-
-GALLIUM TARGETS
-R: Emil Velikov <emil.l.velikov@gmail.com>
-F: src/gallium/targets/
-
-ANDROID BUILD
-R: Emil Velikov <emil.l.velikov@gmail.com>
-R: Rob Herring <robh@kernel.org>
-F: CleanSpec.mk
-F: */Android.*mk
-F: */Makefile.sources
-
-MESON BUILD
-R: Dylan Baker <dylan@pnwbakers.com>
-R: Eric Engestrom <eric@engestrom.ch>
-F: */meson.build
-F: meson.build
-F: meson_options.txt
-
-ANDROID EGL SUPPORT
-R: Rob Herring <robh@kernel.org>
-R: Tomasz Figa <tfiga@chromium.org>
-F: src/egl/drivers/dri2/platform_android.c
-
-WAYLAND EGL SUPPORT
-R: Daniel Stone <daniels@collabora.com>
-F: src/egl/wayland/*
-F: src/egl/drivers/dri2/platform_wayland.c
-
-FREEDRENO
-R: Rob Clark <robclark@freedesktop.org>
-F: src/gallium/drivers/freedreno/
-
-GLX
-R: Adam Jackson <ajax@redhat.com>
-F: src/glx/
-
-VULKAN
-R: Eric Engestrom <eric@engestrom.ch>
-F: src/vulkan/
-F: include/vulkan/
-
-VMWARE DRIVER
-R: Brian Paul <brianp@vmware.com>
-R: Charmaine Lee <charmainel@vmware.com>
-F: src/gallium/drivers/svga/
-
-VMWARE WINSYS CODE
-R: Thomas Hellstrom <thellstrom@vmware.com>
-R: Deepak Rawat <drawat@vmware.com>
-F: src/gallium/winsys/svga/
diff --git a/VERSION b/VERSION
index 31660c53cb8..0336c7e3dd0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-21.3.0-devel
+22.0.0-devel
diff --git a/android/Android.mk b/android/Android.mk
index e4e1d3aa563..846907d553f 100644
--- a/android/Android.mk
+++ b/android/Android.mk
@@ -42,10 +42,13 @@ LOCAL_SHARED_LIBRARIES := libc libdl libdrm libm liblog libcutils libz libc++ li
LOCAL_STATIC_LIBRARIES := libexpat libarect libelf
LOCAL_HEADER_LIBRARIES := libnativebase_headers hwvulkan_headers libbacktrace_headers
MESON_GEN_PKGCONFIGS := backtrace cutils expat hardware libdrm:$(LIBDRM_VERSION) nativewindow sync zlib:1.2.11 libelf
+LOCAL_CFLAGS += $(BOARD_MESA3D_CFLAGS)
ifneq ($(filter swr swrast,$(BOARD_MESA3D_GALLIUM_DRIVERS) $(BOARD_MESA3D_VULKAN_DRIVERS)),)
+ifeq ($(BOARD_MESA3D_FORCE_SOFTPIPE),)
MESON_GEN_LLVM_STUB := true
endif
+endif
ifneq ($(filter zink,$(BOARD_MESA3D_GALLIUM_DRIVERS)),)
LOCAL_SHARED_LIBRARIES += libvulkan
@@ -74,6 +77,12 @@ LOCAL_SHARED_LIBRARIES += libdrm_nouveau
MESON_GEN_PKGCONFIGS += libdrm_nouveau:$(LIBDRM_VERSION)
endif
+ifneq ($(filter d3d12,$(BOARD_MESA3D_GALLIUM_DRIVERS)),)
+LOCAL_HEADER_LIBRARIES += DirectX-Headers
+LOCAL_STATIC_LIBRARIES += DirectX-Guids
+MESON_GEN_PKGCONFIGS += DirectX-Headers
+endif
+
ifneq ($(MESON_GEN_LLVM_STUB),)
MESON_LLVM_VERSION := 12.0.0
# Required for swr gallium target
diff --git a/android/mesa3d_cross.mk b/android/mesa3d_cross.mk
index fcb4d938f42..e211cb8f269 100644
--- a/android/mesa3d_cross.mk
+++ b/android/mesa3d_cross.mk
@@ -93,6 +93,7 @@ MESON_GEN_NINJA := \
-Dvulkan-drivers=$(subst $(space),$(comma),$(subst radeon,amd,$(BOARD_MESA3D_VULKAN_DRIVERS))) \
-Dgbm=enabled \
-Degl=enabled \
+ -Dcpp_rtti=false \
MESON_BUILD := PATH=/usr/bin:/bin:/sbin:$$PATH ninja -C $(MESON_OUT_DIR)/build
@@ -128,7 +129,6 @@ $(MESON_GEN_FILES_TARGET): PRIVATE_C_INCLUDES := $(my_c_includes)
$(MESON_GEN_FILES_TARGET): PRIVATE_IMPORTED_INCLUDES := $(imported_includes)
$(MESON_GEN_FILES_TARGET): PRIVATE_LDFLAGS := $(my_ldflags)
$(MESON_GEN_FILES_TARGET): PRIVATE_LDLIBS := $(my_ldlibs)
-$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_GLOBAL_LDFLAGS := $(my_target_global_ldflags)
$(MESON_GEN_FILES_TARGET): PRIVATE_TIDY_CHECKS := $(my_tidy_checks)
$(MESON_GEN_FILES_TARGET): PRIVATE_TIDY_FLAGS := $(my_tidy_flags)
$(MESON_GEN_FILES_TARGET): PRIVATE_ARFLAGS := $(my_arflags)
@@ -139,6 +139,11 @@ $(MESON_GEN_FILES_TARGET): PRIVATE_ALL_OBJECTS := $(strip $(all_objects))
$(MESON_GEN_FILES_TARGET): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags)
+$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_GLOBAL_CFLAGS := $(my_target_global_cflags)
+$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_GLOBAL_CONLYFLAGS := $(my_target_global_conlyflags)
+$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_GLOBAL_CPPFLAGS := $(my_target_global_cppflags)
+$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_GLOBAL_LDFLAGS := $(my_target_global_ldflags)
+
$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_LIBCRT_BUILTINS := $(my_target_libcrt_builtins)
$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_LIBATOMIC := $(my_target_libatomic)
$(MESON_GEN_FILES_TARGET): PRIVATE_TARGET_CRTBEGIN_SO_O := $(my_target_crtbegin_so_o)
diff --git a/bin/khronos-update.py b/bin/khronos-update.py
index 70ec54b383c..63aeb87ddf7 100755
--- a/bin/khronos-update.py
+++ b/bin/khronos-update.py
@@ -177,6 +177,13 @@ SOURCES = [
Source('include/vulkan/vulkan_xlib.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_xlib.h'),
Source('include/vulkan/vulkan_xlib_xrandr.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_xlib_xrandr.h'),
Source('include/vulkan/vk_android_native_buffer.h', 'https://android.googlesource.com/platform/frameworks/native/+/master/vulkan/include/vulkan/vk_android_native_buffer.h?format=TEXT'),
+ Source('include/vk_video/vulkan_video_codec_h264std.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vk_video/vulkan_video_codec_h264std.h'),
+ Source('include/vk_video/vulkan_video_codec_h264std_decode.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vk_video/vulkan_video_codec_h264std_decode.h'),
+ Source('include/vk_video/vulkan_