etnaviv: Do expose 2D texture support on pre-halti GPUs
authorMarek Vasut <marex@denx.de>
Sat, 17 Dec 2022 21:10:22 +0000 (22:10 +0100)
committerEric Engestrom <eric@engestrom.ch>
Thu, 29 Dec 2022 19:25:30 +0000 (19:25 +0000)
Commit d08bd9a8d8b ("etnaviv: don't expose array and 3D texture support on pre-halti GPUs")
started returning 0 from PIPE_CAP_MAX_TEXTURE_2D_SIZE as well due to switch
case fallthrough. Reinstate the behavior of PIPE_CAP_MAX_TEXTURE_2D_SIZE,
while at the same time, retain the new behavior introduced by commit
d08bd9a8d8b , Otherwise not even kmscube displays the spinning cube,
weston does not display desktop and so on.

Triggered on "Vivante GC600 rev 4653" , i.MX8M Mini .

Fixes: d08bd9a8d8b ("etnaviv: don't expose array and 3D texture support on pre-halti GPUs")
Closes: #7898
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20373>
(cherry picked from commit 18f4dc6b75b1e3697d40f8c6a39d41179ccd2238)

.pick_status.json
src/gallium/drivers/etnaviv/etnaviv_screen.c

index 257ed39..e1e11ee 100644 (file)
         "description": "etnaviv: Do expose 2D texture support on pre-halti GPUs",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "d08bd9a8d8baf0f88554dd4f69ee5aa0fa3663ef"
     },
index 7753a45..d9ae137 100644 (file)
@@ -213,6 +213,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_TEXTURE_SHADOW_MAP:
       return 1;
    case PIPE_CAP_MAX_TEXTURE_2D_SIZE:
+      return screen->specs.max_texture_size;
    case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: /* TODO: verify */
       return screen->specs.halti >= 0 ? screen->specs.max_texture_size : 0;
    case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: