iris: add support INTEL_blackhole_render

v2: Use a software mechanism to manage blackhole state

v3: s/iris_batchbuffer/iris_batch/ (Ken)

v4: Fixup state transition mistake (Ken/Lionel)

v5: Cleanup iris_batch_flush (Ken)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Marge Bot <mesa/mesa!2964>
Part-of: <mesa/mesa!2964>
37 jobs for !2964 with review/i965-intel-blackhole-render in 18 minutes and 37 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Container
passed #1624524
aarch64
arm_build

00:00:21

passed #1624525
aarch64
arm_test

00:00:19

passed #1624521
x86_build

00:00:36

passed #1624523
x86_build_old

00:00:51

passed #1624522
x86_test-gl

00:00:22

 
  Build
passed #1624529
aarch64
meson-arm64

00:03:06

passed #1624528
aarch64
meson-armhf

00:02:36

passed #1624530
meson-clang

00:10:52

passed #1624533
meson-clover

00:06:38

passed #1624534
meson-clover-old-llvm

00:08:33

passed #1624536
meson-i386

00:06:57

passed #1624527
meson-main

00:09:18

passed #1624539
meson-mingw32-x86_64

00:10:38

passed #1624538
gstreamer
meson-ppc64el

00:04:43

passed #1624537
gstreamer
meson-s390x

00:06:52

passed #1624526
meson-testing

00:05:47

passed #1624535
meson-vulkan

00:03:20

passed #1624540
scons

00:12:53

passed #1624541
scons-old-llvm

00:07:28

passed #1624531
scons-swr

00:04:45

passed #1624532
scons-win64

00:05:59

 
  Test
passed #1624557
db410c
arm64_a306_gles2

00:06:27

passed #1624545
lava-meson-gxl-s905x-libretech-cc
lima-mali450-test:arm64

00:08:50

passed #1624542
lava-sun50i-h6-pine-h64
panfrost-t720-test:arm64

00:07:59

passed #1624543
lava-rk3288-veyron-jaq
panfrost-t760-test:armhf

00:05:06

passed #1624544
lava-rk3399-gru-kevin
panfrost-t860-test:arm64

00:08:44

passed #1624547
piglit-glslparser

00:04:38

passed #1624546
piglit-quick_gl

00:10:11

passed #1624548
piglit-quick_shader

00:07:28

passed #1624549
test-llvmpipe-gles2

00:05:23

passed #1624550
test-softpipe-gles2

00:01:38

passed #1624553
test-softpipe-gles31 1/4

00:02:48

passed #1624551
test-softpipe-gles3 1/2

00:05:08

passed #1624554
test-softpipe-gles31 2/4

00:04:16

passed #1624555
test-softpipe-gles31 3/4

00:05:01

passed #1624556
test-softpipe-gles31 4/4

00:04:15

passed #1624552
test-softpipe-gles3 2/2

00:05:33