virgl: Don't try to use cached resources for legacy fences
authorAlexandros Frantzis <alexandros.frantzis@collabora.com>
Wed, 5 Jun 2019 07:32:01 +0000 (10:32 +0300)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 8 Jun 2019 04:45:16 +0000 (21:45 -0700)
Resources for fences should not be from the cache, since we are basing
the fence status on the resource creation busy status.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
src/gallium/winsys/virgl/vtest/virgl_vtest_winsys.c

index 48ee73f..ded1293 100644 (file)
@@ -739,7 +739,10 @@ virgl_drm_fence_create_legacy(struct virgl_winsys *vws)
       return NULL;
    fence->fd = -1;
 
-   fence->hw_res = virgl_drm_winsys_resource_cache_create(vws, PIPE_BUFFER,
+   /* Resources for fences should not be from the cache, since we are basing
+    * the fence status on the resource creation busy status.
+    */
+   fence->hw_res = virgl_drm_winsys_resource_create(vws, PIPE_BUFFER,
          PIPE_FORMAT_R8_UNORM, VIRGL_BIND_CUSTOM, 8, 1, 1, 0, 0, 0, 8);
    if (!fence->hw_res) {
       FREE(fence);
index 24b5744..0273d96 100644 (file)
@@ -589,11 +589,14 @@ virgl_vtest_fence_create(struct virgl_winsys *vws)
 {
    struct virgl_hw_res *res;
 
-   res = virgl_vtest_winsys_resource_cache_create(vws,
-                                                PIPE_BUFFER,
-                                                PIPE_FORMAT_R8_UNORM,
-                                                VIRGL_BIND_CUSTOM,
-                                                8, 1, 1, 0, 0, 0, 8);
+   /* Resources for fences should not be from the cache, since we are basing
+    * the fence status on the resource creation busy status.
+    */
+   res = virgl_vtest_winsys_resource_create(vws,
+                                            PIPE_BUFFER,
+                                            PIPE_FORMAT_R8_UNORM,
+                                            VIRGL_BIND_CUSTOM,
+                                            8, 1, 1, 0, 0, 0, 8);
 
    return (struct pipe_fence_handle *)res;
 }