diff --git a/docs/drivers/zink.rst b/docs/drivers/zink.rst index 989ceafe80b..af483c16af8 100644 --- a/docs/drivers/zink.rst +++ b/docs/drivers/zink.rst @@ -157,6 +157,7 @@ supported: * ``VkPhysicalDeviceLimits`` + * ``maxImageDimension1D`` ≥ 16384 * ``maxImageDimension2D`` ≥ 16384 * ``maxViewports`` ≥ 16 diff --git a/src/gallium/drivers/zink/VP_ZINK_requirements.json b/src/gallium/drivers/zink/VP_ZINK_requirements.json index 262a690993d..83d73f05c5c 100644 --- a/src/gallium/drivers/zink/VP_ZINK_requirements.json +++ b/src/gallium/drivers/zink/VP_ZINK_requirements.json @@ -153,6 +153,7 @@ "properties": { "VkPhysicalDeviceProperties": { "limits": { + "maxImageDimension1D": 16384, "maxImageDimension2D": 16384, "maxViewports": 16 } diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index b0182224800..3304ed492d6 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -676,7 +676,8 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) } case PIPE_CAP_MAX_TEXTURE_2D_SIZE: - return screen->info.props.limits.maxImageDimension2D; + return MIN2(screen->info.props.limits.maxImageDimension1D, + screen->info.props.limits.maxImageDimension2D); case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: return 1 + util_logbase2(screen->info.props.limits.maxImageDimension3D); case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: