i965/iris: perf-queries: don't invalidate/flush 3d pipeline

Our current implementation of performance queries is fairly harsh
because it completely flushes and invalidates the 3d pipeline caches
at the beginning and end of each query. An argument can be made that
this is how performance should be measured but it probably doesn't
reflect what the application is actually doing and the actual cost of
draw calls.

A more appropriate approach is to just stall the pipeline at
scoreboard, so that we measure the effect of a draw call without
having the pipeline in a completely pristine state for every draw
call.

v2: Use end of pipe PIPE_CONTROL instruction for Iris (Ken)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
42 jobs for !916 with wip/i965-perf-query-no-flush in 19 minutes and 50 seconds (queued for 4 seconds)
detached
Status Name Job ID Coverage
  Container
passed arm_build #1141547
aarch64

00:00:28

passed arm_test #1141548
aarch64

00:00:18

passed lava_arm64 #1141543

00:00:38

passed lava_armhf #1141542

00:00:23

passed x86_build #1141544

00:00:40

passed x86_build_old #1141546

00:00:41

passed x86_test-gl #1141545

00:00:42

 
  Build
passed lava-build:arm64 #1141550

00:05:33

passed lava-build:armhf #1141549

00:04:25

passed meson-arm64 #1141554
aarch64

00:09:15

passed meson-armhf #1141553
aarch64

00:06:07

passed meson-clang #1141555

00:09:33

passed meson-clover #1141558

00:08:05

passed meson-clover-old-llvm #1141559

00:06:50

passed meson-i386 #1141561

00:06:22

passed meson-main #1141552

00:08:35

passed meson-mingw32-x86_64 #1141562

00:07:29

passed meson-testing #1141551

00:07:13

passed meson-vulkan #1141560

00:07:46

passed scons #1141563

00:05:10

passed scons-old-llvm #1141564

00:03:55

passed scons-swr #1141556

00:07:46

passed scons-win64 #1141557

00:07:48

 
  Test
passed arm64_a306_gles2 #1141583
db410c

00:05:26

passed arm64_a630_gles2 #1141580
mesa-cheza

00:01:33

passed arm64_a630_gles3 #1141582
mesa-cheza

00:06:06

passed arm64_a630_gles31 #1141581
mesa-cheza

00:04:06

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

00:07:37

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

00:06:06

passed panfrost-t820-test:arm64 #1141568
lava-meson-gxm-khadas-vim2

00:07:21

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

00:13:34

passed piglit-glslparser #1141570

00:03:48

passed piglit-quick_gl #1141569

00:09:51

passed piglit-quick_shader #1141571

00:06:44

passed test-llvmpipe-gles2 #1141572

00:04:23

passed test-softpipe-gles2 #1141573

00:01:58

passed test-softpipe-gles31 1/4 #1141576

00:02:57

passed test-softpipe-gles3 1/2 #1141574

00:07:12

passed test-softpipe-gles31 2/4 #1141577

00:03:09

passed test-softpipe-gles31 3/4 #1141578

00:07:09

passed test-softpipe-gles31 4/4 #1141579

00:02:36

passed test-softpipe-gles3 2/2 #1141575

00:05:34