From 08db7f456a4b2ac6669eb1e6a3f1edd6c671983c Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Sun, 14 Nov 2021 13:06:49 -0500 Subject: [PATCH] freedreno/a4xx: expose shaders and images, as well as ES 3.1 Signed-off-by: Ilia Mirkin Part-of: --- src/gallium/drivers/freedreno/freedreno_screen.c | 6 ++++-- src/gallium/drivers/freedreno/freedreno_screen.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 73e687d..4d54a2e6 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -334,7 +334,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 120; case PIPE_CAP_ESSL_FEATURE_LEVEL: - if (is_a5xx(screen) || is_a6xx(screen)) + if (is_a4xx(screen) || is_a5xx(screen) || is_a6xx(screen)) return 320; if (is_ir3(screen)) return 300; @@ -345,6 +345,8 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 64; if (is_a5xx(screen)) return 4; + if (is_a4xx(screen)) + return 4; return 0; case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: @@ -681,7 +683,7 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen, return 32; case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS: case PIPE_SHADER_CAP_MAX_SHADER_IMAGES: - if (is_a5xx(screen) || is_a6xx(screen)) { + if (is_a4xx(screen) || is_a5xx(screen) || is_a6xx(screen)) { /* a5xx (and a4xx for that matter) has one state-block * for compute-shader SSBO's and another that is shared * by VS/HS/DS/GS/FS.. so to simplify things for now diff --git a/src/gallium/drivers/freedreno/freedreno_screen.h b/src/gallium/drivers/freedreno/freedreno_screen.h index f3c8bb9..1063620 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.h +++ b/src/gallium/drivers/freedreno/freedreno_screen.h @@ -256,7 +256,7 @@ is_ir3(struct fd_screen *screen) static inline bool has_compute(struct fd_screen *screen) { - return is_a5xx(screen) || is_a6xx(screen); + return is_a4xx(screen) || is_a5xx(screen) || is_a6xx(screen); } #endif /* FREEDRENO_SCREEN_H_ */ -- 2.7.4