lima: handle DRM_FORMAT_MOD_INVALID in resource_from_handle()
authorVasily Khoruzhick <anarsoul@gmail.com>
Sun, 8 Dec 2019 20:03:42 +0000 (12:03 -0800)
committerVasily Khoruzhick <anarsoul@gmail.com>
Mon, 9 Dec 2019 15:21:55 +0000 (15:21 +0000)
Assume that resource is tiled if we get DRM_FORMAT_MOD_INVALID
in resource_from_handle() and we don't have RO.

Fixes: 8c12f4e5f24f ("lima: enable tiling")
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
src/gallium/drivers/lima/lima_resource.c

index b5c7d11a83e490182232d3055481ee2169d84af7..1b589ed5279632bf0946f16d6d23bffe084dfa94 100644 (file)
@@ -329,9 +329,13 @@ lima_resource_from_handle(struct pipe_screen *pscreen,
    case DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED:
       res->tiled = true;
       break;
+   case DRM_FORMAT_MOD_INVALID:
+      res->tiled = screen->ro == NULL;
+      break;
    default:
       fprintf(stderr, "Attempted to import unsupported modifier 0x%llx\n",
                   (long long)handle->modifier);
+      goto err_out;
    }
 
    return pres;