iris: Fix TES gl_PatchVerticesIn handling.

1. If we switch the TCS for one with a different number of output
   vertices, then the TES's gl_PatchVerticesIn value will change.
   We need to re-upload in this case.  For now, re-emit constants
   whenever the TCS/TES are swapped out.

2. If there is no TCS, then we can't grab gl_PatchVerticesIn from
   the TCS info.  Since it's a passthrough, we can just use the
   primitive's patch count (like the TCS gl_PatchVerticesIn does).

Fixes KHR-GL45.tessellation_shader.single.max_patch_vertices and
KHR-GL45.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_PatchVerticesIn.
25 jobs for !400 with iris-tcs-consts in 23 minutes and 29 seconds (queued for 2 seconds)
latest detached
Status Job ID Name Coverage
  Containers Build
passed #160086
ubuntu

00:01:01

 
  Build+Test
passed #160101
make-gallium-drivers-other

00:08:27

passed #160100
make-gallium-drivers-radeonsi

00:10:18

passed #160099
make-gallium-drivers-swr

00:09:41

passed #160102
make-gallium-st-clover-llvm-39

00:10:29

passed #160103
make-gallium-st-clover-llvm-4

00:10:26

passed #160104
make-gallium-st-clover-llvm-5

00:03:40

passed #160105
make-gallium-st-clover-llvm-6

00:10:12

passed #160106
make-gallium-st-clover-llvm-7

00:10:35

passed #160107
make-gallium-st-other

00:03:52

passed #160098
make-loader-classic-dri

00:13:02

passed #160097
make-vulkan

00:08:37

passed #160093
meson-gallium-clover-llvm5

00:08:30

passed #160094
meson-gallium-clover-llvm6

00:08:44

passed #160095
meson-gallium-clover-llvm7

00:06:01

passed #160092
meson-gallium-drivers-other

00:10:06

passed #160091
meson-gallium-radeonsi

00:08:21

passed #160096
meson-gallium-st-other

00:03:38

passed #160090
meson-gallium-swr

00:14:30

passed #160089
meson-glvnd

00:08:32

passed #160088
meson-loader-classic-dri

00:09:07

passed #160087
meson-vulkan

00:05:39

passed #160109
scons-llvm

00:05:58

passed #160108
scons-nollvm

00:03:02

passed #160110
scons-swr

00:04:12