freedreno/a4xx: expose shaders and images, as well as ES 3.1
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 14 Nov 2021 18:06:49 +0000 (13:06 -0500)
committerMarge Bot <emma+marge@anholt.net>
Tue, 8 Mar 2022 01:23:05 +0000 (01:23 +0000)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>

src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/freedreno_screen.h

index 73e687d..4d54a2e 100644 (file)
@@ -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
index f3c8bb9..1063620 100644 (file)
@@ -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_ */