From 6fd5a7ff8cd49afba0bb91696642972386abe954 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 21 Mar 2019 09:33:33 -0400 Subject: [PATCH] freedreno: add ESSL cap Report 320 for a6xx, which isn't *quite* true (no geom/tess, in particular), but other caps keep the reported GL and GLSL versions correct (3.1 / 3.10 es). But reporting 320 will switch on EXT_gpu_shader5, which is the goal. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_screen.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 98f720afbf0..62f65369cc7 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -279,6 +279,13 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 120; return is_ir3(screen) ? 140 : 120; + case PIPE_CAP_ESSL_FEATURE_LEVEL: + /* we can probably enable 320 for a5xx too, but need to test: */ + if (is_a6xx(screen)) return 320; + if (is_a5xx(screen)) return 310; + if (is_ir3(screen)) return 300; + return 120; + case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: if (is_a6xx(screen)) return 64; if (is_a5xx(screen)) return 4; -- 2.30.2