virgl: Don't try handling server fences when they are not supported
authorGert Wollny <gert.wollny@collabora.com>
Tue, 27 Nov 2018 19:50:44 +0000 (20:50 +0100)
committerGert Wollny <gw.fossdev@gmail.com>
Wed, 28 Nov 2018 09:02:31 +0000 (10:02 +0100)
commit091295d7cb5781ddf7ca8f254471fbe896831fbc
tree664ab80debbfc327fa5ccce309bb3ab10511bf61
parent073fdd7382f253041c7346e74caa1053d97e989c
virgl: Don't try handling server fences when they are not supported

vtest doesn't implement the according API and would segfault:

Program received signal SIGSEGV, Segmentation fault.
  #0  0x0000000000000000 in ?? ()
  #1  in virgl_fence_server_sync  at
       src/gallium/drivers/virgl/virgl_context.c:1049
  #2  in st_server_wait_sync  at
       src/mesa/state_tracker/st_cb_syncobj.c:155

so just don't do the call when the function pointers are not set.

Fixes dEQP:
  dEQP-GLES3.functional.fence_sync.wait_sync_smalldraw
  dEQP-GLES3.functional.fence_sync.wait_sync_largedraw

Fixes: d1a1c21e7621b5177febf191fcd3d3b8ef69dc96
  virgl: native fence fd support

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
src/gallium/drivers/virgl/virgl_context.c