zink: fix shader buffer size caps to use 65536
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 26 Jun 2020 19:17:32 +0000 (15:17 -0400)
committerMarge Bot <eric+marge@anholt.net>
Fri, 2 Oct 2020 13:07:42 +0000 (13:07 +0000)
using max(Uniform|Storage)BufferRange yields some insane values that aren't
consistent with reality

affects PIPE_CAP_MAX_SHADER_BUFFER_SIZE and PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE

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

src/gallium/drivers/zink/zink_screen.c

index 0f73c96..c36d75b 100644 (file)
@@ -296,7 +296,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
       return screen->info.props.limits.maxDescriptorSetStorageBuffers;
 
    case PIPE_CAP_MAX_SHADER_BUFFER_SIZE:
-      return screen->info.props.limits.maxStorageBufferRange; /* unsure */
+      return 65536;
 
    case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT:
    case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER:
@@ -417,7 +417,7 @@ zink_get_shader_param(struct pipe_screen *pscreen,
       }
 
    case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
-      return MIN2(screen->info.props.limits.maxUniformBufferRange, INT_MAX);
+      return 65536;
 
    case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
       return screen->info.props.limits.maxPerStageDescriptorUniformBuffers;