intel: Implement gl_VertexID directly on Gen11+

A new 3DSTATE_VF::VertexID Offset Enable field allows us to ask the
hardware to implicitly add Base Vertex Location for indexed draws or
Start Vertex Location for sequential draws to the vertex ID value.

This matches OpenGL semantics, allowing us to implement gl_VertexID
with the hardware SGV directly, without having to lower it to a shader
addition of a zero-based vertex ID and a FirstVertex system value.

This also removes the need to upload FirstVertex into a buffer and
an extra VERTEX_BUFFER_STATE to push it into the shader (unless the
shader uses gl_BaseVertex).
40 jobs for !2075 with icl-vertexid in 17 minutes and 47 seconds (queued for 6 seconds)
latest detached
Status Job ID Name Coverage
  Containers
passed #639499
debian-10

00:00:20

passed #639500
debian-9

00:00:19

passed #639501
aarch64
test-container:arm64

00:00:20

 
  Build
passed #639504
meson-arm64

00:04:31

passed #639503
meson-armhf

00:03:10

passed #639506
meson-clang

00:06:51

passed #639509
meson-clover

00:05:01

passed #639510
meson-clover-old-llvm

00:06:07

passed #639512
meson-i386

00:03:51

passed #639502
meson-main

00:10:40

passed #639505
meson-swr-glvnd

00:05:21

passed #639511
meson-vulkan

00:03:55

passed #639513
scons

00:17:25

passed #639514
scons-old-llvm

00:08:19

passed #639507
scons-swr

00:05:46

passed #639508
scons-win64

00:05:36

 
  Test
passed #639535
db410c
arm64_a306_gles2 1/4

00:09:12

passed #639536
db410c
arm64_a306_gles2 2/4

00:12:13

passed #639537
db410c
arm64_a306_gles2 3/4

00:04:14

passed #639538
db410c
arm64_a306_gles2 4/4

00:04:26

passed #639524
mesa-cheza
arm64_a630_gles2

00:05:07

passed #639525
mesa-cheza
arm64_a630_gles31 1/4

00:06:36

passed #639526
mesa-cheza
arm64_a630_gles31 2/4

00:07:47

passed #639527
mesa-cheza
arm64_a630_gles31 3/4

00:07:12

passed #639528
mesa-cheza
arm64_a630_gles31 4/4

00:06:52

passed #639529
mesa-cheza
arm64_a630_gles3 1/6

00:04:53

passed #639530
mesa-cheza
arm64_a630_gles3 2/6

00:03:58

passed #639531
mesa-cheza
arm64_a630_gles3 3/6

00:03:53

passed #639532
mesa-cheza
arm64_a630_gles3 4/6

00:04:09

passed #639533
mesa-cheza
arm64_a630_gles3 5/6

00:04:07

passed #639534
mesa-cheza
arm64_a630_gles3 6/6

00:04:04

passed #639515
test-llvmpipe-gles2 1/4

00:03:18

passed #639516
test-llvmpipe-gles2 2/4

00:03:41

passed #639517
test-llvmpipe-gles2 3/4

00:03:23

passed #639518
test-llvmpipe-gles2 4/4

00:03:38

passed #639519
test-softpipe-gles2 1/4

00:01:28

passed #639520
test-softpipe-gles2 2/4

00:01:35

passed #639521
test-softpipe-gles2 3/4

00:01:28

passed #639522
test-softpipe-gles2 4/4

00:01:25

passed #639523
test-softpipe-gles3-limited

00:03:45