etnaviv: flush used render buffers on context flush when neccessary

Some resources like backbuffers are explicitly flushed by the frontend
at the appropriate time, others however won't get flushed explicitly.
Remember those resources when they get emitted as a render buffer and
flush them on a context flush to make their content visible to other
entities sharing the buffer.

We still keep the optimized path for most resources where the frontend
promises to do the flushing for us and only enable implicit flushing
when a buffer handle is exported/imported without the
PIPE_HANDLE_USAGE_EXPLICIT_FLUSH flag set.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
81 jobs for !7603 with etnaviv-implicit-flush in 44 seconds (queued for 5 seconds)
latest detached
Status Job ID Name Coverage
  Container
manual #5650329
aarch64 manual
arm_build
manual #5650331
manual
arm_test-base
passed #5650333
git_archive

00:00:18

manual #5650323
manual
x86_build-base
manual #5650327
manual
x86_build_old
manual #5650325
manual
x86_test-base
 
  Container 2
created #5650349
android_build
created #5650354
arm64_test
created #5650344
i386_build
created #5650335
kernel+rootfs_amd64
created #5650337
aarch64
kernel+rootfs_arm64
created #5650339
aarch64
kernel+rootfs_armhf
created #5650345
ppc64el_build
created #5650347
s390x_build
created #5650342
x86_build
created #5650350
x86_test-gl
created #5650352
x86_test-vk
 
  Sanity
passed #5650356
check mr

00:00:25

 
  Meson X86 64
created #5650366
meson-clang
created #5650364
meson-classic
created #5650368
meson-clover
created #5650359
meson-clover-testing
created #5650361
meson-gallium
created #5650362
meson-release
created #5650357
meson-testing
created #5650369
meson-vulkan
 
  Scons
created #5650371
allowed to fail
scons-win64
 
  Meson Misc
created #5650373
meson-android
created #5650377
aarch64
meson-arm64
created #5650379
aarch64
meson-arm64-build-test
created #5650375
aarch64
meson-armhf
created #5650381
meson-i386
created #5650386
meson-mingw32-x86_64
created #5650384
kvm
meson-ppc64el
created #5650382
kvm
meson-s390x
 
  Llvmpipe
created #5650395
llvmpipe-gles2
created #5650396
llvmpipe-traces
created #5650388
piglit-cl
created #5650392
piglit-glslparser
created #5650390
piglit-quick_gl
created #5650393
piglit-quick_shader
 
  Softpipe
created #5650405
softpipe-gl
created #5650399
softpipe-gles2
created #5650400
softpipe-gles3
created #5650402
softpipe-gles31 1/2
created #5650403
softpipe-gles31 2/2
 
  Freedreno
created #5650428
google-freedreno-db410c
arm64_a306_gles2
created #5650430
google-freedreno-db410c
arm64_a306_gles3
created #5650432
google-freedreno-db410c
arm64_a306_gles3_options
created #5650433
google-freedreno-db820c
arm64_a530_gles2 1/2
created #5650434
google-freedreno-db820c
arm64_a530_gles2 2/2
created #5650435
google-freedreno-db820c
arm64_a530_gles3
created #5650436
google-freedreno-db820c
arm64_a530_gles31
created #5650417
google-freedreno-cheza
arm64_a630_gl
created #5650407
google-freedreno-cheza
arm64_a630_gles2
created #5650412
google-freedreno-cheza
arm64_a630_gles3
created #5650410
google-freedreno-cheza
arm64_a630_gles31
created #5650420
google-freedreno-cheza
arm64_a630_gles_others
created #5650415
google-freedreno-cheza
arm64_a630_traces
created #5650422
google-freedreno-cheza
arm64_a630_vk 1/2
created #5650424
google-freedreno-cheza
arm64_a630_vk 2/2
created #5650426
google-freedreno-cheza
arm64_a630_vk_sysmem
 
  Panfrost
created #5650442
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles2:arm64
created #5650437
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #5650438
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #5650439
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2
created #5650440
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2
created #5650441
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64
 
  Radv
created #5650443
radv-fossils
 
  Virgl
created #5650448
virgl-gl30-on-gl
created #5650449
virgl-gl31-on-gl
created #5650450
virgl-gl32-on-gl
created #5650444
virgl-gles2-on-gl
created #5650446
virgl-gles31-on-gl 1/2
created #5650447
virgl-gles31-on-gl 2/2
created #5650445
virgl-gles3-on-gl
created #5650451
virgl-traces
 
  Radeonsi
created #5650452
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles2:amd64
created #5650454
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles31:amd64
created #5650453
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles3:amd64
created #5650455
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64