GitLab will be down for maintenance this Sunday 13th June, from approx 7-11am UTC. This is for a PostgreSQL migration. See the tracker issue for more informations.

frontends/va: Return an error if non-interlaced buffer is not supported

Add a check to vaDeriveImage to see if a non-interlaced buffer was
created successfully. Otherwise, return an error, since we won't be able
to derive an image from the interlaced buffer.

Prevents a null pointer dereference from occuring on some nVidia cards,
reported by Alexander Kapshuk.

v2: Check for PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE support (Ilia)

Fixes: fcb55832 ("frontends/va: Derive image from interlaced buffers")
Signed-off-by: Thong Thai <thong.thai@amd.com>
Tested-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <mesa/mesa!8320>
Status Job ID Name Coverage
  Container
manual #6631751
aarch64 manual
arm_build
manual #6631752
manual
arm_test-base
manual #6631753
windows shell 1809 mesa manual
windows_build_vs2019
manual #6631749
manual
x86_build-base
manual #6631750
manual
x86_test-base
 
  Container 2
created #6631761
android_build
created #6631764
arm64_test
created #6631765
armhf_test
created #6631758
i386_build
created #6631754
kernel+rootfs_amd64
created #6631755
aarch64
kernel+rootfs_arm64
created #6631756
aarch64
kernel+rootfs_armhf
created #6631759
ppc64el_build
created #6631760
s390x_build
created #6631757
x86_build
created #6631762
x86_test-gl
created #6631763
x86_test-vk
 
  Meson X86 64
created #6631771
meson-clang
created #6631772
meson-clover
created #6631768
meson-clover-testing
created #6631769
meson-gallium
created #6631770
meson-release
created #6631766
meson-testing
created #6631767
meson-testing-asan
created #6631773
meson-vulkan
 
  Build Misc
created #6631774
meson-android
created #6631776
aarch64
meson-arm64
created #6631778
aarch64
meson-arm64-build-test
created #6631775
aarch64
meson-armhf
created #6631786
meson-i386
created #6631791
meson-mingw32-x86_64
created #6631790
kvm
meson-ppc64el
created #6631787
kvm
meson-s390x
created #6631781
windows docker 1809 mesa
meson-windows-vs2019
created #6631784
allowed to fail
scons-win64
 
  Amd
created #6631793
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles2:amd64
created #6631797
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles31:amd64
created #6631795
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles3:amd64
created #6631799
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64
created #6631809
radv-fossils
created #6631802
polaris10 manual
radv-polaris10-traces
created #6631807
polaris10 manual
radv_polaris10_vkcts
created #6631804
raven manual
radv-raven-traces
 
  Arm
created #6631824
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles2:arm64
created #6631826
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles3:arm64
created #6631811
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #6631814
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #6631816
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2
created #6631819
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2
created #6631821
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64
 
  Freedreno
created #6631845
google-freedreno-db410c
arm64_a306_gles2
created #6631846
google-freedreno-db410c
arm64_a306_gles3
created #6631847
google-freedreno-db410c
arm64_a306_gles3_options
created #6631848
google-freedreno-db820c
arm64_a530_gles2 1/2
created #6631849
google-freedreno-db820c
arm64_a530_gles2 2/2
created #6631850
google-freedreno-db820c
arm64_a530_gles3
created #6631851
google-freedreno-db820c
arm64_a530_gles31
created #6631852
google-freedreno-db820c manual
arm64_a530_piglit_gl
created #6631853
google-freedreno-db820c
arm64_a530_piglit_shader
created #6631837
google-freedreno-cheza
arm64_a630_gl
created #6631830
google-freedreno-cheza
arm64_a630_gles2
created #6631835
google-freedreno-cheza
arm64_a630_gles3
created #6631833
google-freedreno-cheza
arm64_a630_gles31
created #6631839
google-freedreno-cheza
arm64_a630_gles_others
created #6631843
google-freedreno-cheza manual
arm64_a630_piglit_gl
created #6631844
google-freedreno-cheza
arm64_a630_piglit_shader
created #6631828
google-freedreno-cheza
arm64-a630-traces
created #6631840
google-freedreno-cheza
arm64_a630_vk 1/2
created #6631841
google-freedreno-cheza
arm64_a630_vk 2/2
created #6631842
google-freedreno-cheza
arm64_a630_vk_sysmem
 
  Raspberrypi
created #6631854
igalia-rpi3
vc4-rpi3-gles2:armhf 1/4
created #6631855
igalia-rpi3
vc4-rpi3-gles2:armhf 2/4
created #6631856
igalia-rpi3
vc4-rpi3-gles2:armhf 3/4
created #6631857
igalia-rpi3
vc4-rpi3-gles2:armhf 4/4
 
  Software Renderer
created #6631870
lavapipe-vk
created #6631863
llvmpipe-gles2
created #6631858
llvmpipe-piglit-cl
created #6631860
llvmpipe-piglit-glslparser
created #6631859
llvmpipe-piglit-quick_gl
created #6631861
llvmpipe-piglit-quick_shader
created #6631862
llvmpipe-traces
created #6631869
softpipe-gl
created #6631864
softpipe-gles2
created #6631865
softpipe-gles3
created #6631866
softpipe-gles31 1/2
created #6631867
softpipe-gles31 2/2
created #6631868
softpipe-piglit-quick
 
  Layered Backends
created #6631871
windows docker 1809 mesa
test-d3d12-windows
created #6631877
virgl-gl30-on-gl
created #6631878
virgl-gl31-on-gl
created #6631879
virgl-gl32-on-gl
created #6631873
virgl-gles2-on-gl
created #6631880
manual
virgl-gles2-on-gles
created #6631875
virgl-gles31-on-gl 1/2
created #6631876
virgl-gles31-on-gl 2/2
created #6631882
manual
virgl-gles31-on-gles 1/2
created #6631883
manual
virgl-gles31-on-gles 2/2
created #6631874
virgl-gles3-on-gl
created #6631881
manual
virgl-gles3-on-gles
created #6631872
virgl-traces
 
  Deploy
manual #6631884
manual
test-docs