PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE translate into
GL_MAX_*_UNIFORM_COMPONENTS, all of which are allowed to be as
low as 1024 by the GL 4.6 spec.
PIPE_CAP_MAX_SHADER_BUFFER_SIZE translate into
GL_MAX_SHADER_STORAGE_BLOCK_SIZE, which has different minimum values in
different versions of the GL spec. In the GL 4.6 spec for instance, it
is required to be 2^27, the same as what Vulkan requires.
But what these limits are in GL is irrelevant at this level of
abstraction. The OpenGL state-tracker cares, but the Gallium driver
shouldn't have to. So let's just delete those parts of the comments.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9216>
return 0;
case PIPE_CAP_MAX_SHADER_BUFFER_SIZE:
- /* 16777216 (1<<24) is required by GL spec, 1<<27 is required by VK spec */
+ /* 1<<27 is required by VK spec */
assert(screen->info.props.limits.maxStorageBufferRange >= 1 << 27);
/* but Gallium can't handle values that are too big, so clamp to VK spec minimum */
return 1 << 27;
}
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
- /* 16384 required by GL spec, this is the minimum required by VK spec */
+ /* At least 16384 is guaranteed by VK spec */
assert(screen->info.props.limits.maxUniformBufferRange >= 16384);
/* but Gallium can't handle values that are too big */
return MIN2(screen->info.props.limits.maxUniformBufferRange, 1 << 31);