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>
36 jobs for !10710 with d3d12_gpu_selection in 3 minutes and 23 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Sanity
passed #9607462
sanity

00:00:08

 
  Container
manual #9607465
aarch64 manual
arm_build
manual #9607466
windows shell 1809 mesa manual
windows_build_vs2019
manual #9607463
manual
x86_build-base
manual #9607464
manual
x86_test-base
 
  Container 2
created #9607471
android_build
created #9607468
i386_build
created #9607474
kernel+rootfs_amd64
created #9607475
aarch64
kernel+rootfs_arm64
created #9607476
aarch64
kernel+rootfs_armhf
created #9607469
ppc64el_build
created #9607470
s390x_build
created #9607467
x86_build
created #9607472
x86_test-gl
created #9607473
x86_test-vk
 
  Meson X86 64
created #9607482
meson-clang
created #9607483
meson-clover
created #9607479
meson-clover-testing
created #9607480
meson-gallium
created #9607481
meson-release
created #9607477
meson-testing
created #9607478
meson-testing-asan
created #9607484
meson-vulkan
 
  Build Misc
created #9607485
arm_test
created #9607486
meson-android
created #9607488
aarch64
meson-arm64
created #9607489
aarch64
meson-arm64-asan
created #9607490
aarch64
meson-arm64-build-test
created #9607487
aarch64
meson-armhf
created #9607492
meson-i386
created #9607495
meson-mingw32-x86_64
created #9607494
meson-ppc64el
created #9607493
kvm
meson-s390x
created #9607491
windows docker 1809 mesa
meson-windows-vs2019
 
  Layered Backends
created #9607496
windows docker 1809 mesa
test-d3d12-windows
 
  Deploy
passed #9607497
test-docs-mr

00:03:14