[Mesa-dev] [PATCH 3/3] freedreno: add ESSL cap

Rob Clark robdclark at gmail.com
Thu Mar 21 13:55:30 UTC 2019


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 <robdclark at gmail.com>
---
 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.20.1



More information about the mesa-dev mailing list