zink: partially enable SSBO pipe cap
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tue, 5 Jan 2021 13:51:28 +0000 (08:51 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 14 Jan 2021 18:13:28 +0000 (18:13 +0000)
this enables atomic counters

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8330>

src/gallium/drivers/zink/zink_screen.c

index 19ca15f..93b2b8c 100644 (file)
@@ -528,7 +528,8 @@ zink_get_shader_param(struct pipe_screen *pscreen,
       return 32; /* arbitrary */
 
    case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
-      return 0;
+      /* TODO: this limitation is dumb, and will need some fixes in mesa */
+      return MIN2(screen->info.props.limits.maxPerStageDescriptorStorageBuffers, PIPE_MAX_SHADER_BUFFERS);
 
    case PIPE_SHADER_CAP_SUPPORTED_IRS:
       return (1 << PIPE_SHADER_IR_NIR) | (1 << PIPE_SHADER_IR_TGSI);