d3d12: Add mechanism for D3D12 Adapter Selection

This add a simple mechanism to select which GPU adapter the d3d12
driver should be using. A new environment variable is introduced.

MESA_D3D12_DEFAULT_ADAPTER_NAME

This represent a substring to search for in the GPU descrition,
for example "NVIDIA" or "INTEL", or "NVIDIA GeForce RTX 3090",
etc...

GPU are searched in order and the first one to include the substring
becomes a match. If no match is found, we default to the first
enumerated GPU.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <!10710>
34 jobs for !10710 with d3d12_gpu_selection in 9 minutes and 48 seconds (queued for 2 seconds)
latest detached
Status Job ID Name Coverage
  Sanity
passed #10509768
sanity

00:00:08

 
  Container
passed #10509773
aarch64
arm_build

00:00:27

passed #10509775
windows shell 1809 mesa
windows_build_vs2019

00:00:11

passed #10509769
x86_build-base

00:00:21

passed #10509771
x86_test-base

00:00:21

 
  Container 2
passed #10509785
android_build

00:00:22

passed #10509780
i386_build

00:00:23

passed #10509790
kernel+rootfs_amd64

00:00:21

passed #10509792
aarch64
kernel+rootfs_arm64

00:00:50

passed #10509793
aarch64
kernel+rootfs_armhf

00:00:13

passed #10509781
ppc64el_build

00:00:23

passed #10509783
s390x_build

00:00:26

passed #10509777
x86_build

00:00:24

passed #10509787
x86_test-gl

00:00:23

passed #10509788
x86_test-vk

00:00:28

 
  Meson X86 64
passed #10509804
meson-clang

00:08:50

passed #10509805
meson-clover

00:01:36

passed #10509799
meson-clover-testing

00:02:41

passed #10509800
meson-gallium

00:03:31

passed #10509802
meson-release

00:03:59

passed #10509795
meson-testing

00:04:03

passed #10509797
meson-testing-asan

00:04:37

passed #10509807
meson-vulkan

00:02:10

 
  Build Misc
passed #10509809
arm_test

00:00:44

passed #10509811
meson-android

00:01:21

passed #10509814
aarch64
meson-arm64

00:01:22

passed #10509816
aarch64
meson-arm64-asan

00:04:08

passed #10509818
aarch64
meson-arm64-build-test

00:01:41

passed #10509812
aarch64
meson-armhf

00:01:57

passed #10509823
meson-i386

00:02:09

passed #10509824
meson-mingw32-x86_64

00:02:51

passed #10509820
windows docker 1809 mesa
meson-windows-vs2019

00:05:10

 
  Layered Backends
passed #10509826
windows docker 1809 mesa
test-d3d12-windows

00:03:12

 
  Deploy
passed #10509829
test-docs-mr

00:02:10