gitlab-ci: rules:changes to test on tested drivers changes

For now tests only use these drivers:
  * llvmpipe
  * softpipe
  * freedreno
  * lima
  * etnaviv
  * panfrost

So using rules:changes gitlab feature to run the tests when the changes
made are potentially affecting these drivers.

A few notes:
  * the following code:
      .piglit-test:
        extends:
          - .test-gl
          - .llvmpipe-rules
    makes gitlab replace .test-gl "rules:changes" values by the one from
    ".llvmpipe-rules".
  * rules:changes always matches for non-MR new branches so jobs will always be
    created (and they'll be run if their dependencies are run). For pushes to
    existing branches the files changed by the push are used to match the
    rules:changes path.
  * the same gitlab feature could be used for some build jobs

Acked-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <mesa/mesa!2569>
Part-of: <mesa/mesa!2569>
45 jobs for !2569 with ci_tests_use_only_changes in 22 minutes and 41 seconds (queued for 16 seconds)
detached
Status Job ID Name Coverage
  Container
passed #1871840
aarch64
arm_build

00:00:18

passed #1871841
aarch64
arm_test

00:00:19

passed #1871836
x86_build

00:00:16

passed #1871839
x86_build_old

00:00:15

passed #1871837
x86_test-gl

00:00:19

passed #1871838
x86_test-vk

00:00:21

 
  Meson X86 64
passed #1871844
meson-clang

00:07:58

passed #1871845
meson-clover

00:05:58

passed #1871846
meson-clover-old-llvm

00:06:12

passed #1871843
meson-main

00:05:20

passed #1871842
meson-testing

00:07:23

passed #1871847
meson-vulkan

00:02:03

 
  Scons
passed #1871850
scons

00:08:26

passed #1871851
scons-old-llvm

00:05:17

passed #1871848
scons-swr

00:04:03

passed #1871849
scons-win64

00:04:53

 
  Meson Misc
passed #1871853
aarch64
meson-arm64

00:05:28

passed #1871854
aarch64
meson-arm64-build-test

00:05:09

passed #1871852
aarch64
meson-armhf

00:06:17

passed #1871855
meson-i386

00:03:28

passed #1871858
meson-mingw32-x86_64

00:05:51

passed #1871857
gstreamer
meson-ppc64el

00:03:16

passed #1871856
gstreamer
meson-s390x

00:03:53

 
  Llvmpipe
passed #1871862
llvmpipe-gles2

00:04:12

passed #1871863
llvmpipe-traces

00:00:45

passed #1871860
piglit-glslparser

00:04:34

passed #1871859
piglit-quick_gl

00:09:26

passed #1871861
piglit-quick_shader

00:07:08

 
  Softpipe
passed #1871864
softpipe-gles2

00:01:51

passed #1871867
softpipe-gles31 1/4

00:08:52

passed #1871865
softpipe-gles3 1/2

00:05:39

passed #1871868
softpipe-gles31 2/4

00:05:17

passed #1871869
softpipe-gles31 3/4

00:06:08

passed #1871870
softpipe-gles31 4/4

00:03:27

passed #1871866
softpipe-gles3 2/2

00:05:55

 
  Freedreno
passed #1871874
db410c
arm64_a306_gles2

00:06:03

passed #1871871
mesa-cheza
arm64_a630_gles2

00:02:03

passed #1871873
mesa-cheza
arm64_a630_gles3

00:06:28

passed #1871872
mesa-cheza
arm64_a630_gles31

00:04:38

 
  Panfrost
passed #1871875
lava-sun50i-h6-pine-h64
panfrost-t720-gles2:arm64

00:06:59

passed #1871876
lava-rk3288-veyron-jaq
panfrost-t760-gles2:armhf

00:04:40

passed #1871877
lava-rk3399-gru-kevin
panfrost-t860-gles2:arm64

00:04:29

passed #1871878
lava-rk3399-gru-kevin
panfrost-t860-gles3:arm64

00:08:32

 
  Misc Tests
passed #1871879
lava-meson-gxl-s905x-libretech-cc
lima-mali450-test:arm64

00:05:34

passed #1871880
radv-polaris10-fossils

00:00:15