spirv_to_dxil: Add support for non-zero vertex and instance indices

Since DXIL does not have a way to get the base/first vertex and base
instance as well as using a zero-based vertex index, these values need
to be passed in via a constant buffer.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <!12707>
151 jobs for !12707 with system_values_cbuffer in 37 minutes and 58 seconds (queued for 8 seconds)
latest detached
Status Name Job ID Coverage
  Sanity
passed sanity #13374111

00:00:11

 
  Container
passed debian/arm_build #13374114
aarch64

00:00:26

passed debian/x86_build-base #13374112

00:00:23

passed debian/x86_test-base #13374113

00:00:22

passed fedora/x86_build #13374115

00:00:23

passed windows_build_vs2019 #13374116
windows shell 1809 mesa

00:00:12

 
  Container 2
passed debian/android_build #13374121

00:00:32

passed debian/i386_build #13374118

00:00:28

passed debian/ppc64el_build #13374119

00:00:31

passed debian/s390x_build #13374120

00:00:27

passed debian/x86_build #13374117

00:00:26

passed debian/x86_test-gl #13374122

00:00:27

passed debian/x86_test-vk #13374123

00:00:31

passed kernel+rootfs_amd64 #13374124

00:00:13

passed kernel+rootfs_arm64 #13374125
aarch64

00:01:14

passed kernel+rootfs_armhf #13374126
aarch64

00:00:12

 
  Build X86 64
passed debian-clang #13374133

00:10:19

passed debian-clover #13374134

00:03:35

passed debian-clover-testing #13374129

00:02:35

passed debian-gallium #13374130

00:06:36

passed debian-release #13374131

00:06:37

passed debian-testing #13374127

00:05:39

passed debian-testing-asan #13374128

00:07:54

passed debian-vulkan #13374135

00:02:35

passed fedora-release #13374132

00:02:13

 
  Build Misc
passed debian-android #13374137

00:01:34

passed debian-arm64 #13374139
aarch64

00:01:31

passed debian-arm64-asan #13374140
aarch64

00:02:56

passed debian-arm64-build-test #13374141
aarch64

00:01:24

passed debian-armhf #13374138
aarch64

00:01:39

passed debian/arm_test #13374136

00:00:21

passed debian-i386 #13374143

00:02:35

passed debian-mingw32-x86_64 #13374146

00:01:29

passed debian-ppc64el #13374145

00:02:40

passed debian-s390x #13374144
kvm

00:05:41

passed windows-vs2019 #13374142
windows docker 1809 mesa

00:04:43

 
  Amd
passed radeonsi-stoney-gles2:amd64 #13374151
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:06:02

passed radeonsi-stoney-gles31:amd64 1/2 #13374154
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:16:21

passed radeonsi-stoney-gles31:amd64 2/2 #13374155
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:09:52

passed radeonsi-stoney-gles3:amd64 1/2 #13374152
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:08:20

passed radeonsi-stoney-gles3:amd64 2/2 #13374910
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:06:16

passed radeonsi-stoney-piglit-gl:amd64 #13374157
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:07:58

passed radeonsi-stoney-traces:amd64 #13374156
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:14:12

passed radv-fossils #13374150

00:09:59

passed radv_stoney_vkcts:amd64 1/3 #13374147
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:13:19

passed radv_stoney_vkcts:amd64 2/3 #13374148
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:13:19

passed radv_stoney_vkcts:amd64 3/3 #13374149
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:14:11

failed radeonsi-stoney-gles3:amd64 2/2 #13374153
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt

00:31:07

 
  Intel
passed iris-amly-traces-performance #13374165
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual

00:06:38

passed iris-apl-egl #13374161
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral

00:04:47

passed iris-apl-gles2 #13374158
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral

00:04:26

passed iris-apl-gles3 #13374159
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral

00:05:12

passed iris-apl-gles31 #13374160
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral

00:05:22

passed iris-apl-traces #13374162
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral

00:03:52

passed iris-apl-traces-performance #13374163
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral manual

00:07:09

passed iris-cml-traces-performance #13374168
mesa-ci-x86-64-lava-asus-C436FA-flip-hatch manual

00:05:52

passed iris-glk-traces-performance #13374164
mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus manual

00:08:09

passed iris-kbl-traces-performance #13374166
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual

00:05:13

passed iris-whl-traces-performance #13374167
mesa-ci-x86-64-lava-dell-latitude-5400-4305U-sarien manual

00:04:51

 
  Arm
passed lima-mali450-test:arm64 #13374169
mesa-ci-x86-64-lava-lima

00:05:59

passed panfrost-g52-gl:arm64 1/3 #13374177
mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3

00:09:20

passed panfrost-g52-gl:arm64 2/3 #13374178
mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3

00:09:39

passed panfrost-g52-gl:arm64 3/3 #13374179
mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3

00:09:06

passed panfrost-t720-gles2:arm64 #13374170
mesa-ci-x86-64-lava-sun50i-h6-pine-h64

00:08:49

passed panfrost-t760-gles2:armhf #13374171
mesa-ci-x86-64-lava-rk3288-veyron-jaq

00:11:23

passed panfrost-t760-traces:armhf #13374172
mesa-ci-x86-64-lava-rk3288-veyron-jaq

00:06:08

passed panfrost-t860-gl:arm64 1/3 #13374173
mesa-ci-x86-64-lava-rk3399-gru-kevin

00:06:18

passed panfrost-t860-gl:arm64 2/3 #13374174
mesa-ci-x86-64-lava-rk3399-gru-kevin

00:06:53

passed panfrost-t860-gl:arm64 3/3 #13374175
mesa-ci-x86-64-lava-rk3399-gru-kevin

00:06:20

passed panfrost-t860-traces:arm64 #13374176
mesa-ci-x86-64-lava-rk3399-gru-kevin

00:05:20

 
  Broadcom
passed v3d-rpi4-egl:armhf #13374191
igalia-rpi4

00:07:05

passed v3d-rpi4-gles:armhf 1/8 #13374183
igalia-rpi4

00:08:22

passed v3d-rpi4-gles:armhf 2/8 #13374184
igalia-rpi4

00:09:11

passed v3d-rpi4-gles:armhf 3/8 #13374185
igalia-rpi4

00:08:23

passed v3d-rpi4-gles:armhf 4/8 #13374186
igalia-rpi4

00:08:17

passed v3d-rpi4-gles:armhf 5/8 #13374187
igalia-rpi4

00:08:41

passed v3d-rpi4-gles:armhf 6/8 #13374188
igalia-rpi4

00:09:18

passed v3d-rpi4-gles:armhf 7/8 #13374189
igalia-rpi4

00:08:34

passed v3d-rpi4-gles:armhf 8/8 #13374190
igalia-rpi4

00:08:12

passed v3d-rpi4-piglit:armhf 1/4 #13374192
igalia-rpi4

00:08:56

passed v3d-rpi4-piglit:armhf 2/4 #13374193
igalia-rpi4

00:09:31

passed v3d-rpi4-piglit:armhf 3/4 #13374194
igalia-rpi4

00:08:55

passed v3d-rpi4-piglit:armhf 4/4 #13374195
igalia-rpi4

00:09:55

passed v3dv-rpi4-vk:arm64 1/8 #13374196
igalia-rpi4

00:08:47

passed v3dv-rpi4-vk:arm64 2/8 #13374197
igalia-rpi4

00:08:15

passed v3dv-rpi4-vk:arm64 3/8 #13374198
igalia-rpi4

00:08:00

passed v3dv-rpi4-vk:arm64 4/8 #13374199
igalia-rpi4

00:08:58

passed v3dv-rpi4-vk:arm64 5/8 #13374200
igalia-rpi4

00:08:09

passed v3dv-rpi4-vk:arm64 6/8 #13374201
igalia-rpi4

00:08:35

passed v3dv-rpi4-vk:arm64 7/8 #13374202
igalia-rpi4

00:08:03

passed v3dv-rpi4-vk:arm64 8/8 #13374203
igalia-rpi4

00:09:16

passed vc4-rpi3-egl:armhf #13374182
igalia-rpi3

00:07:12

passed vc4-rpi3-gles:armhf 1/2 #13374180
igalia-rpi3

00:07:00

passed vc4-rpi3-gles:armhf 2/2 #13374181
igalia-rpi3

00:07:15

 
  Freedreno
passed a306_gl 1/5 #13374204
google-freedreno-db410c

00:07:32

passed a306_gl 2/5 #13374205
google-freedreno-db410c

00:07:30

passed a306_gl 3/5 #13374206
google-freedreno-db410c

00:07:32

passed a306_gl 4/5 #13374207
google-freedreno-db410c

00:07:07

passed a306_gl 5/5 #13374208
google-freedreno-db410c

00:07:06

passed a306-traces #13374209
google-freedreno-db410c

00:02:37

passed a530_gl 1/5 #13374210
google-freedreno-db820c

00:07:39

passed a530_gl 2/5 #13374211
google-freedreno-db820c

00:08:38

passed a530_gl 3/5 #13374212
google-freedreno-db820c

00:07:31

passed a530_gl 4/5 #13374213
google-freedreno-db820c

00:08:52

passed a530_gl 5/5 #13374214
google-freedreno-db820c

00:07:23

passed a530_piglit_shader 1/2 #13374215
google-freedreno-db820c

00:08:17

passed a530_piglit_shader 2/2 #13374216
google-freedreno-db820c

00:09:24

passed a530-traces #13374217
google-freedreno-db820c

00:07:33

passed a630_egl #13374222
google-freedreno-cheza

00:03:22

passed a630_gl 1/4 #13374218
google-freedreno-cheza

00:05:37

passed a630_gl 2/4 #13374219
google-freedreno-cheza

00:06:26

passed a630_gl 3/4 #13374220
google-freedreno-cheza

00:05:15

passed a630_gl 4/4 #13374221
google-freedreno-cheza

00:05:59

passed a630_piglit #13374226
google-freedreno-cheza

00:08:28

passed a630-traces #13374911
google-freedreno-cheza

00:02:54

passed a630-traces-performance #13374229
google-freedreno-cheza manual

00:04:32

passed a630-traces-restricted #13374228
google-freedreno-cheza

00:03:11

passed a630_vk 1/3 #13374223
google-freedreno-cheza

00:09:20

passed a630_vk 2/3 #13374224
google-freedreno-cheza

00:09:04

passed a630_vk 3/3 #13374225
google-freedreno-cheza

00:09:11

failed a630-traces #13374227
google-freedreno-cheza

00:08:38

 
  Software Renderer
passed lavapipe-nir-stress #13374244

00:01:07

passed lavapipe-vk #13374243

00:06:56

passed lavapipe-vk-asan #13374245

00:02:11

passed llvmpipe-deqp 1/2 #13374235

00:04:14

passed llvmpipe-deqp 2/2 #13374236

00:10:07

passed llvmpipe-deqp-asan #13374912

00:02:18

passed llvmpipe-egl #13374238

00:01:08

passed llvmpipe-piglit-cl #13374230

00:02:49

passed llvmpipe-piglit-glslparser #13374232

00:03:51

passed llvmpipe-piglit-quick_gl #13374231

00:07:56

passed llvmpipe-piglit-quick_shader #13374233

00:06:56

passed llvmpipe-traces #13374234

00:02:02

passed softpipe-asan-gles31 #13374241

00:04:19

passed softpipe-deqp 1/2 #13374239

00:04:28

passed softpipe-deqp 2/2 #13374240

00:09:23

passed softpipe-piglit-quick #13374242

00:08:57

failed llvmpipe-deqp-asan #13374237

00:01:45

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

00:03:20

passed virgl-on-gl 1/6 #13374246
kvm

00:14:27

passed virgl-on-gl 2/6 #13374247
kvm

00:14:12

passed virgl-on-gl 3/6 #13374248
kvm

00:13:36

passed virgl-on-gl 4/6 #13374249
kvm

00:13:37

passed virgl-on-gl 5/6 #13374250
kvm

00:14:27

passed virgl-on-gl 6/6 #13374251
kvm

00:14:31

passed virgl-traces #13374252
kvm

00:03:28

passed zink-lvp-deqp 1/2 #13374256

00:02:01

passed zink-lvp-deqp 2/2 #13374257

00:02:06

passed zink-piglit-lazy #13374255

00:05:42

passed zink-piglit-no_timelines #13374254

00:05:39

passed zink-piglit-timelines #13374253

00:05:42