freedreno/a6xx: Add missing cap
authorRob Clark <robdclark@chromium.org>
Sat, 27 May 2023 19:05:57 +0000 (12:05 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 1 Jun 2023 20:37:58 +0000 (20:37 +0000)
Fixes wrong value reported for GL_MAX_VERTEX_STREAMS.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301>

src/freedreno/ci/freedreno-a618-fails.txt
src/freedreno/ci/freedreno-a630-fails.txt
src/freedreno/ci/freedreno-a660-fails.txt
src/gallium/drivers/freedreno/freedreno_screen.c

index faaee69..18e01f4 100644 (file)
@@ -19,9 +19,6 @@ KHR-GL45.texture_cube_map_array.color_depth_attachments,Fail
 # new fails with gl45:
 #
 
-# Various limits we cannot or do not support:
-KHR-GL45.limits.max_vertex_streams,Fail
-
 # MESA: warning: sample averaging on fallback z24s8 blit when we shouldn't.
 KHR-GL45.direct_state_access.renderbuffers_storage_multisample,Fail
 
index 336f8fa..b03b6eb 100644 (file)
@@ -22,9 +22,6 @@ KHR-GL45.texture_cube_map_array.color_depth_attachments,Fail
 # new fails with gl45:
 #
 
-# Various limits we cannot or do not support:
-KHR-GL45.limits.max_vertex_streams,Fail
-
 # MESA: warning: sample averaging on fallback z24s8 blit when we shouldn't.
 KHR-GL45.direct_state_access.renderbuffers_storage_multisample,Fail
 
index 853c357..7456dc6 100644 (file)
@@ -1,9 +1,6 @@
 # Shader compilation error log: 0:6(1): error: invalid stream specified 1 is larger than MAX_VERTEX_STREAMS - 1
 KHR-GL45.transform_feedback.draw_xfb_stream_instanced_test,Fail
 
-# Various limits we cannot or do not support:
-KHR-GL45.limits.max_vertex_streams,Fail
-
 KHR-GL45.direct_state_access.renderbuffers_storage_multisample,Fail
 KHR-GL45.gpu_shader_fp64.fp64.max_uniform_components,Fail
 KHR-GL45.multi_bind.dispatch_bind_image_textures,Fail
index 22042a8..d0e46bb 100644 (file)
@@ -473,6 +473,10 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
       return !is_a5xx(screen);
 
    /* Stream output. */
+   case PIPE_CAP_MAX_VERTEX_STREAMS:
+      if (is_a6xx(screen))  /* has SO + GS */
+         return PIPE_MAX_SO_BUFFERS;
+      return 0;
    case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS:
       if (is_ir3(screen))
          return PIPE_MAX_SO_BUFFERS;